Lines Matching refs:router
45 * _batadv_update_route() - set the router for this originator
49 * @neigh_node: neighbor which should be the next router
66 /* curr_router used earlier may not be the current orig_ifinfo->router
78 curr_router = rcu_replace_pointer(orig_ifinfo->router, neigh_node,
108 * batadv_update_route() - set the router for this originator
112 * @neigh_node: neighbor which should be the next router
119 struct batadv_neigh_node *router = NULL;
124 router = batadv_orig_router_get(orig_node, recv_if);
126 if (router != neigh_node)
130 batadv_neigh_node_put(router);
471 * Return: last bonding candidate of router or NULL if not found
513 * batadv_find_router() - find a suitable router for this originator
518 * Return: the router which should be used for this orig_node on
529 struct batadv_neigh_node *router, *cand_router = NULL;
539 router = batadv_orig_router_get(orig_node, recv_if);
541 if (!router)
542 return router;
548 return router;
553 * router is found, use the first candidate found (the previously
556 * router - obviously there are no other candidates.
561 last_cand_router = rcu_dereference(last_candidate->router);
568 cand_router = rcu_dereference(cand->router);
581 cand->if_outgoing, router,
585 /* don't use the same router twice */
622 * 3) there is no candidate at all, return the default router
625 batadv_neigh_node_put(router);
628 router = next_candidate_router;
631 batadv_neigh_node_put(router);
634 router = first_candidate_router;
653 return router;