Lines Matching refs:fib_work
2130 struct rocker_fib_event_work *fib_work = in rocker_router_fib_event_work() local
2132 struct rocker *rocker = fib_work->rocker; in rocker_router_fib_event_work()
2138 switch (fib_work->event) { in rocker_router_fib_event_work()
2140 err = rocker_world_fib4_add(rocker, &fib_work->fen_info); in rocker_router_fib_event_work()
2143 fib_info_put(fib_work->fen_info.fi); in rocker_router_fib_event_work()
2146 rocker_world_fib4_del(rocker, &fib_work->fen_info); in rocker_router_fib_event_work()
2147 fib_info_put(fib_work->fen_info.fi); in rocker_router_fib_event_work()
2151 rule = fib_work->fr_info.rule; in rocker_router_fib_event_work()
2158 kfree(fib_work); in rocker_router_fib_event_work()
2166 struct rocker_fib_event_work *fib_work; in rocker_router_fib_event() local
2172 fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); in rocker_router_fib_event()
2173 if (WARN_ON(!fib_work)) in rocker_router_fib_event()
2176 INIT_WORK(&fib_work->work, rocker_router_fib_event_work); in rocker_router_fib_event()
2177 fib_work->rocker = rocker; in rocker_router_fib_event()
2178 fib_work->event = event; in rocker_router_fib_event()
2188 kfree(fib_work); in rocker_router_fib_event()
2193 kfree(fib_work); in rocker_router_fib_event()
2198 memcpy(&fib_work->fen_info, ptr, sizeof(fib_work->fen_info)); in rocker_router_fib_event()
2202 fib_info_hold(fib_work->fen_info.fi); in rocker_router_fib_event()
2206 memcpy(&fib_work->fr_info, ptr, sizeof(fib_work->fr_info)); in rocker_router_fib_event()
2207 fib_rule_get(fib_work->fr_info.rule); in rocker_router_fib_event()
2211 queue_work(rocker->rocker_owq, &fib_work->work); in rocker_router_fib_event()