Home
last modified time | relevance | path

Searched refs:neigh_node (Results 1 – 13 of 13) sorted by relevance

/linux/net/batman-adv/
H A Doriginator.c288 struct batadv_neigh_node *neigh_node; in batadv_neigh_node_release() local
291 neigh_node = container_of(ref, struct batadv_neigh_node, refcount); in batadv_neigh_node_release()
294 &neigh_node->ifinfo_list, list) { in batadv_neigh_node_release()
298 batadv_hardif_neigh_put(neigh_node->hardif_neigh); in batadv_neigh_node_release()
300 batadv_hardif_put(neigh_node->if_incoming); in batadv_neigh_node_release()
302 kfree_rcu(neigh_node, rcu); in batadv_neigh_node_release()
352 struct batadv_neigh_node *neigh_node; in batadv_orig_to_router() local
359 neigh_node = batadv_find_router(bat_priv, orig_node, if_outgoing); in batadv_orig_to_router()
362 return neigh_node; in batadv_orig_to_router()
677 struct batadv_neigh_node *neigh_node; in batadv_neigh_node_create() local
[all …]
H A Dbat_iv_ogm.c187 struct batadv_neigh_node *neigh_node; in batadv_iv_ogm_neigh_new() local
189 neigh_node = batadv_neigh_node_get_or_create(orig_node, in batadv_iv_ogm_neigh_new()
191 return neigh_node; in batadv_iv_ogm_neigh_new()
1072 const struct batadv_neigh_node *neigh_node) in batadv_iv_ogm_neigh_ifinfo_sum() argument
1077 orig_neigh = batadv_orig_hash_find(bat_priv, neigh_node->addr); in batadv_iv_ogm_neigh_ifinfo_sum()
1081 sum = batadv_iv_orig_ifinfo_sum(orig_neigh, neigh_node->if_incoming); in batadv_iv_ogm_neigh_ifinfo_sum()
1112 struct batadv_neigh_node *neigh_node = NULL; in batadv_iv_ogm_orig_update() local
1130 if (WARN(neigh_node, "too many matching neigh_nodes")) in batadv_iv_ogm_orig_update()
1131 batadv_neigh_node_put(neigh_node); in batadv_iv_ogm_orig_update()
1132 neigh_node = tmp_neigh_node; in batadv_iv_ogm_orig_update()
[all …]
H A Dbat_v_ogm.c533 struct batadv_neigh_node *neigh_node, in batadv_v_ogm_forward() argument
558 if (neigh_node != router) in batadv_v_ogm_forward()
572 neigh_ifinfo = batadv_neigh_ifinfo_get(neigh_node, if_outgoing); in batadv_v_ogm_forward()
622 struct batadv_neigh_node *neigh_node, in batadv_v_ogm_metric_update() argument
659 neigh_node->last_seen = jiffies; in batadv_v_ogm_metric_update()
666 neigh_ifinfo = batadv_neigh_ifinfo_new(neigh_node, if_outgoing); in batadv_v_ogm_metric_update()
704 struct batadv_neigh_node *neigh_node, in batadv_v_ogm_route_update() argument
748 if (router == neigh_node) in batadv_v_ogm_route_update()
757 neigh_ifinfo = batadv_neigh_ifinfo_get(neigh_node, if_outgoing); in batadv_v_ogm_route_update()
774 batadv_update_route(bat_priv, orig_node, if_outgoing, neigh_node); in batadv_v_ogm_route_update()
[all …]
H A Dfragmentation.c407 struct batadv_neigh_node *neigh_node = NULL; in batadv_frag_skb_fwd() local
414 neigh_node = batadv_orig_to_router(bat_priv, packet->dest, recv_if); in batadv_frag_skb_fwd()
415 if (!neigh_node) in batadv_frag_skb_fwd()
422 if (total_size > neigh_node->if_incoming->net_dev->mtu) { in batadv_frag_skb_fwd()
444 batadv_send_unicast_skb(skb, neigh_node); in batadv_frag_skb_fwd()
450 batadv_neigh_node_put(neigh_node); in batadv_frag_skb_fwd()
507 struct batadv_neigh_node *neigh_node) in batadv_frag_send_packet() argument
509 struct net_device *net_dev = neigh_node->if_incoming->net_dev; in batadv_frag_send_packet()
600 ret = batadv_send_unicast_skb(skb_fragment, neigh_node); in batadv_frag_send_packet()
623 ret = batadv_send_unicast_skb(skb, neigh_node); in batadv_frag_send_packet()
H A Dsend.c175 struct batadv_neigh_node *neigh_node; in batadv_send_skb_to_orig() local
179 neigh_node = batadv_find_router(bat_priv, orig_node, recv_if); in batadv_send_skb_to_orig()
180 if (!neigh_node) { in batadv_send_skb_to_orig()
189 skb->len > neigh_node->if_incoming->net_dev->mtu) { in batadv_send_skb_to_orig()
191 ret = batadv_frag_send_packet(skb, orig_node, neigh_node); in batadv_send_skb_to_orig()
198 ret = batadv_send_unicast_skb(skb, neigh_node); in batadv_send_skb_to_orig()
204 batadv_neigh_node_put(neigh_node); in batadv_send_skb_to_orig()
845 struct batadv_hardif_neigh_node *neigh_node = NULL; in batadv_send_no_broadcast() local
854 neigh_node = batadv_hardif_neigh_get(if_out, in batadv_send_no_broadcast()
859 orig_neigh = neigh_node ? neigh_node->orig : NULL; in batadv_send_no_broadcast()
[all …]
H A Dbat_v.c299 struct batadv_neigh_node *neigh_node, in batadv_v_orig_dump_subentry() argument
307 n_ifinfo = batadv_neigh_ifinfo_get(neigh_node, if_outgoing); in batadv_v_orig_dump_subentry()
318 if_outgoing != neigh_node->if_incoming) in batadv_v_orig_dump_subentry()
328 neigh_node->addr) || in batadv_v_orig_dump_subentry()
330 neigh_node->if_incoming->net_dev->name) || in batadv_v_orig_dump_subentry()
332 neigh_node->if_incoming->net_dev->ifindex) || in batadv_v_orig_dump_subentry()
370 struct batadv_neigh_node *neigh_node; in batadv_v_orig_dump_entry() local
378 hlist_for_each_entry_rcu(neigh_node, &orig_node->neigh_list, list) { in batadv_v_orig_dump_entry()
382 best = (neigh_node == neigh_node_best); in batadv_v_orig_dump_entry()
386 neigh_node, best)) { in batadv_v_orig_dump_entry()
H A Doriginator.h135 static inline void batadv_neigh_node_put(struct batadv_neigh_node *neigh_node) in batadv_neigh_node_put() argument
137 if (!neigh_node) in batadv_neigh_node_put()
140 kref_put(&neigh_node->refcount, batadv_neigh_node_release); in batadv_neigh_node_put()
H A Drouting.c56 struct batadv_neigh_node *neigh_node) in _batadv_update_route() argument
75 if (neigh_node) in _batadv_update_route()
76 kref_get(&neigh_node->refcount); in _batadv_update_route()
78 curr_router = rcu_replace_pointer(orig_ifinfo->router, neigh_node, in _batadv_update_route()
84 if (curr_router && !neigh_node) { in _batadv_update_route()
91 } else if (!curr_router && neigh_node) { in _batadv_update_route()
94 orig_node->orig, neigh_node->addr); in _batadv_update_route()
96 } else if (neigh_node && curr_router) { in _batadv_update_route()
99 orig_node->orig, neigh_node->addr, in _batadv_update_route()
117 struct batadv_neigh_node *neigh_node) in batadv_update_route() argument
[all …]
H A Dmulticast_forw.c928 struct batadv_neigh_node *neigh_node; in batadv_mcast_forw_packet() local
977 neigh_node = batadv_orig_to_router(bat_priv, dest, NULL); in batadv_mcast_forw_packet()
978 if (!neigh_node) { in batadv_mcast_forw_packet()
985 batadv_neigh_node_put(neigh_node); in batadv_mcast_forw_packet()
992 batadv_mcast_forw_scrub_dests(bat_priv, neigh_node, dest, in batadv_mcast_forw_packet()
1000 ret = batadv_send_unicast_skb(nexthop_skb, neigh_node); in batadv_mcast_forw_packet()
1002 batadv_neigh_node_put(neigh_node); in batadv_mcast_forw_packet()
H A Dfragmentation.h28 struct batadv_neigh_node *neigh_node);
H A Drouting.h21 struct batadv_neigh_node *neigh_node);
H A Dsend.h41 struct batadv_neigh_node *neigh_node);
H A Ddistributed-arp-table.c759 struct batadv_neigh_node *neigh_node = NULL; in batadv_dat_forward_data()
776 neigh_node = batadv_orig_router_get(cand[i].orig_node, in batadv_dat_forward_data()
778 if (!neigh_node) in batadv_dat_forward_data()
792 send_status = batadv_send_unicast_skb(tmp_skb, neigh_node); in batadv_dat_forward_data()
810 batadv_neigh_node_put(neigh_node); in batadv_dat_forward_data()
754 struct batadv_neigh_node *neigh_node = NULL; batadv_dat_forward_data() local