Home
last modified time | relevance | path

Searched refs:neigh (Results 1 – 25 of 67) sorted by relevance

123

/Linux-v4.19/net/rose/
Drose_link.c33 static void rose_transmit_restart_confirmation(struct rose_neigh *neigh);
34 static void rose_transmit_restart_request(struct rose_neigh *neigh);
36 void rose_start_ftimer(struct rose_neigh *neigh) in rose_start_ftimer() argument
38 del_timer(&neigh->ftimer); in rose_start_ftimer()
40 neigh->ftimer.function = rose_ftimer_expiry; in rose_start_ftimer()
41 neigh->ftimer.expires = in rose_start_ftimer()
44 add_timer(&neigh->ftimer); in rose_start_ftimer()
47 static void rose_start_t0timer(struct rose_neigh *neigh) in rose_start_t0timer() argument
49 del_timer(&neigh->t0timer); in rose_start_t0timer()
51 neigh->t0timer.function = rose_t0timer_expiry; in rose_start_t0timer()
[all …]
/Linux-v4.19/net/decnet/
Ddn_neigh.c54 static int dn_neigh_output(struct neighbour *neigh, struct sk_buff *skb);
73 static bool dn_key_eq(const struct neighbour *neigh, const void *pkey) in dn_key_eq() argument
75 return neigh_key_eq16(neigh, pkey); in dn_key_eq()
111 static int dn_neigh_construct(struct neighbour *neigh) in dn_neigh_construct() argument
113 struct net_device *dev = neigh->dev; in dn_neigh_construct()
114 struct dn_neigh *dn = container_of(neigh, struct dn_neigh, n); in dn_neigh_construct()
131 __neigh_parms_put(neigh->parms); in dn_neigh_construct()
132 neigh->parms = neigh_parms_clone(parms); in dn_neigh_construct()
135 neigh->ops = &dn_neigh_ops; in dn_neigh_construct()
136 neigh->nud_state = NUD_NOARP; in dn_neigh_construct()
[all …]
Ddn_route.c965 struct neighbour *neigh = NULL; in dn_route_output_slow() local
1077 neigh = neigh_lookup_nodev(&dn_neigh_table, &init_net, &fld.daddr); in dn_route_output_slow()
1078 if (neigh) { in dn_route_output_slow()
1080 (neigh->dev->ifindex != oldflp->flowidn_oif)) || in dn_route_output_slow()
1082 (!dn_dev_islocal(neigh->dev, in dn_route_output_slow()
1084 neigh_release(neigh); in dn_route_output_slow()
1085 neigh = NULL; in dn_route_output_slow()
1089 if (dn_dev_islocal(neigh->dev, fld.daddr)) { in dn_route_output_slow()
1093 dev_out = neigh->dev; in dn_route_output_slow()
1119 neigh = neigh_clone(dn_db->router); in dn_route_output_slow()
[all …]
/Linux-v4.19/net/core/
Dneighbour.c57 static void neigh_update_notify(struct neighbour *neigh, u32 nlmsg_pid);
93 static int neigh_blackhole(struct neighbour *neigh, struct sk_buff *skb) in neigh_blackhole() argument
99 static void neigh_cleanup_and_release(struct neighbour *neigh) in neigh_cleanup_and_release() argument
101 if (neigh->parms->neigh_cleanup) in neigh_cleanup_and_release()
102 neigh->parms->neigh_cleanup(neigh); in neigh_cleanup_and_release()
104 __neigh_notify(neigh, RTM_DELNEIGH, 0, 0); in neigh_cleanup_and_release()
105 call_netevent_notifiers(NETEVENT_NEIGH_UPDATE, neigh); in neigh_cleanup_and_release()
106 neigh_release(neigh); in neigh_cleanup_and_release()
130 struct neighbour *neigh; in neigh_del() local
132 neigh = rcu_dereference_protected(n->next, in neigh_del()
[all …]
/Linux-v4.19/drivers/net/ethernet/chelsio/cxgb3/
Dl2t.c77 if (e->neigh) in neigh_replace()
78 neigh_release(e->neigh); in neigh_replace()
79 e->neigh = n; in neigh_replace()
105 memcpy(e->dmac, e->neigh->ha, sizeof(e->dmac)); in setup_l2e_send_pending()
134 neigh_event_send(e->neigh, NULL); in t3_l2t_send_slow()
160 if (!neigh_event_send(e->neigh, NULL)) { in t3_l2t_send_slow()
184 neigh_event_send(e->neigh, NULL); in t3_l2t_send_event()
210 neigh_event_send(e->neigh, NULL); in t3_l2t_send_event()
268 if (e->neigh) { in t3_l2e_free()
269 neigh_release(e->neigh); in t3_l2e_free()
[all …]
/Linux-v4.19/drivers/infiniband/ulp/ipoib/
Dipoib_main.c749 struct ipoib_neigh *neigh, *tn; in path_rec_completion() local
805 list_for_each_entry_safe(neigh, tn, &path->neigh_list, list) { in path_rec_completion()
806 if (neigh->ah) { in path_rec_completion()
807 WARN_ON(neigh->ah != old_ah); in path_rec_completion()
815 ipoib_put_ah(neigh->ah); in path_rec_completion()
818 neigh->ah = path->ah; in path_rec_completion()
820 if (ipoib_cm_enabled(dev, neigh->daddr)) { in path_rec_completion()
821 if (!ipoib_cm_get(neigh)) in path_rec_completion()
822 ipoib_cm_set(neigh, ipoib_cm_create_tx(dev, in path_rec_completion()
824 neigh)); in path_rec_completion()
[all …]
Dipoib.h250 struct ipoib_neigh *neigh; member
462 void ipoib_neigh_dtor(struct ipoib_neigh *neigh);
463 static inline void ipoib_neigh_put(struct ipoib_neigh *neigh) in ipoib_neigh_put() argument
465 if (atomic_dec_and_test(&neigh->refcnt)) in ipoib_neigh_put()
466 ipoib_neigh_dtor(neigh); in ipoib_neigh_put()
471 void ipoib_neigh_free(struct ipoib_neigh *neigh);
631 static inline int ipoib_cm_up(struct ipoib_neigh *neigh) in ipoib_cm_up() argument
634 return test_bit(IPOIB_FLAG_OPER_UP, &neigh->cm->flags); in ipoib_cm_up()
637 static inline struct ipoib_cm_tx *ipoib_cm_get(struct ipoib_neigh *neigh) in ipoib_cm_get() argument
639 return neigh->cm; in ipoib_cm_get()
[all …]
Dipoib_cm.c832 struct ipoib_neigh *neigh; in ipoib_cm_handle_tx_wc() local
848 neigh = tx->neigh; in ipoib_cm_handle_tx_wc()
850 if (neigh) { in ipoib_cm_handle_tx_wc()
851 neigh->cm = NULL; in ipoib_cm_handle_tx_wc()
852 ipoib_neigh_free(neigh); in ipoib_cm_handle_tx_wc()
854 tx->neigh = NULL; in ipoib_cm_handle_tx_wc()
1033 if (p->neigh) in ipoib_cm_rep_handler()
1034 while ((skb = __skb_dequeue(&p->neigh->queue))) in ipoib_cm_rep_handler()
1257 struct ipoib_neigh *neigh; in ipoib_cm_tx_handler() local
1279 neigh = tx->neigh; in ipoib_cm_tx_handler()
[all …]
Dipoib_multicast.c812 struct ipoib_neigh *neigh; in ipoib_mcast_send() local
815 neigh = ipoib_neigh_get(dev, daddr); in ipoib_mcast_send()
817 if (!neigh) { in ipoib_mcast_send()
818 neigh = ipoib_neigh_alloc(daddr, dev); in ipoib_mcast_send()
822 if (neigh && list_empty(&neigh->list)) { in ipoib_mcast_send()
824 neigh->ah = mcast->ah; in ipoib_mcast_send()
825 neigh->ah->valid = 1; in ipoib_mcast_send()
826 list_add_tail(&neigh->list, &mcast->neigh_list); in ipoib_mcast_send()
832 if (neigh) in ipoib_mcast_send()
833 ipoib_neigh_put(neigh); in ipoib_mcast_send()
/Linux-v4.19/net/ipv4/
Darp.c128 static int arp_constructor(struct neighbour *neigh);
129 static void arp_solicit(struct neighbour *neigh, struct sk_buff *skb);
130 static void arp_error_report(struct neighbour *neigh, struct sk_buff *skb);
219 static bool arp_key_eq(const struct neighbour *neigh, const void *pkey) in arp_key_eq() argument
221 return neigh_key_eq32(neigh, pkey); in arp_key_eq()
224 static int arp_constructor(struct neighbour *neigh) in arp_constructor() argument
227 struct net_device *dev = neigh->dev; in arp_constructor()
233 memcpy(neigh->primary_key, &inaddr_any, arp_tbl.key_len); in arp_constructor()
235 addr = *(__be32 *)neigh->primary_key; in arp_constructor()
243 neigh->type = inet_addr_type_dev_table(dev_net(dev), dev, addr); in arp_constructor()
[all …]
/Linux-v4.19/drivers/net/ethernet/chelsio/cxgb4/
Dl2t.c129 if (e->neigh) in neigh_replace()
130 neigh_release(e->neigh); in neigh_replace()
131 e->neigh = n; in neigh_replace()
158 if (e->neigh && !(e->neigh->dev->flags & IFF_LOOPBACK)) in write_l2e()
159 memcpy(e->dmac, e->neigh->ha, sizeof(e->dmac)); in write_l2e()
205 e->state = (e->neigh->nud_state & NUD_STALE) ? in do_l2t_write_rpl()
229 neigh_event_send(e->neigh, NULL); in cxgb4_l2t_send()
249 !neigh_event_send(e->neigh, NULL)) { in cxgb4_l2t_send()
357 if (e->neigh) { in _t4_l2e_free()
358 neigh_release(e->neigh); in _t4_l2e_free()
[all …]
Dl2t.h78 struct neighbour *neigh; /* associated neighbour */ member
113 struct l2t_entry *cxgb4_l2t_get(struct l2t_data *d, struct neighbour *neigh,
120 void t4_l2t_update(struct adapter *adap, struct neighbour *neigh);
/Linux-v4.19/net/ipv6/
Dndisc.c79 static bool ndisc_key_eq(const struct neighbour *neigh, const void *pkey);
80 static int ndisc_constructor(struct neighbour *neigh);
81 static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb);
82 static void ndisc_error_report(struct neighbour *neigh, struct sk_buff *skb);
322 static int ndisc_constructor(struct neighbour *neigh) in ndisc_constructor() argument
324 struct in6_addr *addr = (struct in6_addr *)&neigh->primary_key; in ndisc_constructor()
325 struct net_device *dev = neigh->dev; in ndisc_constructor()
336 __neigh_parms_put(neigh->parms); in ndisc_constructor()
337 neigh->parms = neigh_parms_clone(parms); in ndisc_constructor()
339 neigh->type = is_multicast ? RTN_MULTICAST : RTN_UNICAST; in ndisc_constructor()
[all …]
/Linux-v4.19/net/batman-adv/
Dbat_v_elp.c77 static u32 batadv_v_elp_get_throughput(struct batadv_hardif_neigh_node *neigh) in batadv_v_elp_get_throughput() argument
79 struct batadv_hard_iface *hard_iface = neigh->if_incoming; in batadv_v_elp_get_throughput()
105 ret = cfg80211_get_station(real_netdev, neigh->addr, &sinfo); in batadv_v_elp_get_throughput()
177 struct batadv_hardif_neigh_node *neigh; in batadv_v_elp_throughput_metric_update() local
181 neigh = container_of(neigh_bat_v, struct batadv_hardif_neigh_node, in batadv_v_elp_throughput_metric_update()
184 ewma_throughput_add(&neigh->bat_v.throughput, in batadv_v_elp_throughput_metric_update()
185 batadv_v_elp_get_throughput(neigh)); in batadv_v_elp_throughput_metric_update()
190 batadv_hardif_neigh_put(neigh); in batadv_v_elp_throughput_metric_update()
205 batadv_v_elp_wifi_neigh_probe(struct batadv_hardif_neigh_node *neigh) in batadv_v_elp_wifi_neigh_probe() argument
207 struct batadv_hard_iface *hard_iface = neigh->if_incoming; in batadv_v_elp_wifi_neigh_probe()
[all …]
Doriginator.c454 batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh, in batadv_neigh_ifinfo_get() argument
461 hlist_for_each_entry_rcu(tmp_neigh_ifinfo, &neigh->ifinfo_list, in batadv_neigh_ifinfo_get()
489 batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh, in batadv_neigh_ifinfo_new() argument
494 spin_lock_bh(&neigh->ifinfo_lock); in batadv_neigh_ifinfo_new()
496 neigh_ifinfo = batadv_neigh_ifinfo_get(neigh, if_outgoing); in batadv_neigh_ifinfo_new()
512 hlist_add_head_rcu(&neigh_ifinfo->list, &neigh->ifinfo_list); in batadv_neigh_ifinfo_new()
515 spin_unlock_bh(&neigh->ifinfo_lock); in batadv_neigh_ifinfo_new()
593 if (bat_priv->algo_ops->neigh.hardif_init) in batadv_hardif_neigh_create()
594 bat_priv->algo_ops->neigh.hardif_init(hardif_neigh); in batadv_hardif_neigh_create()
772 if (!bat_priv->algo_ops->neigh.print) { in batadv_hardif_neigh_seq_print_text()
[all …]
Doriginator.h54 batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh,
57 batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh,
/Linux-v4.19/include/net/
Dneighbour.h318 void neigh_destroy(struct neighbour *neigh);
319 int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb);
320 int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags,
322 void __neigh_set_probe_once(struct neighbour *neigh);
326 int neigh_resolve_output(struct neighbour *neigh, struct sk_buff *skb);
327 int neigh_connected_output(struct neighbour *neigh, struct sk_buff *skb);
328 int neigh_direct_output(struct neighbour *neigh, struct sk_buff *skb);
414 static inline void neigh_release(struct neighbour *neigh) in neigh_release() argument
416 if (refcount_dec_and_test(&neigh->refcnt)) in neigh_release()
417 neigh_destroy(neigh); in neigh_release()
[all …]
Dndisc.h207 struct neighbour *neigh, u8 *ha_buf,
263 struct neighbour *neigh, in ndisc_ops_redirect_opt_addr_space() argument
268 neigh, ha_buf, ha); in ndisc_ops_redirect_opt_addr_space()
339 struct neighbour *neigh, in ndisc_redirect_opt_addr_space() argument
345 ndisc_ops_redirect_opt_addr_space(dev, neigh, ops_data_buf, in ndisc_redirect_opt_addr_space()
435 void ndisc_update(const struct net_device *dev, struct neighbour *neigh,
/Linux-v4.19/net/atm/
Dclip.c77 pr_debug("%p to entry %p (neigh %p)\n", clip_vcc, entry, entry->neigh); in link_vcc()
82 entry->neigh->used = jiffies; in link_vcc()
94 netif_tx_lock_bh(entry->neigh->dev); /* block clip_start_xmit() */ in unlink_clip_vcc()
95 entry->neigh->used = jiffies; in unlink_clip_vcc()
103 netif_wake_queue(entry->neigh->dev); in unlink_clip_vcc()
108 error = neigh_update(entry->neigh, NULL, NUD_NONE, in unlink_clip_vcc()
116 netif_tx_unlock_bh(entry->neigh->dev); in unlink_clip_vcc()
210 skb->dev = clip_vcc->entry ? clip_vcc->entry->neigh->dev : clip_devs; in clip_push()
265 static void clip_neigh_solicit(struct neighbour *neigh, struct sk_buff *skb) in clip_neigh_solicit() argument
267 __be32 *ip = (__be32 *) neigh->primary_key; in clip_neigh_solicit()
[all …]
/Linux-v4.19/net/6lowpan/
Dndisc.c66 struct lowpan_802154_neigh *neigh = lowpan_802154_neigh(neighbour_priv(n)); in lowpan_ndisc_802154_update() local
101 ieee802154_be16_to_le16(&neigh->short_addr, lladdr_short); in lowpan_ndisc_802154_update()
102 if (!lowpan_802154_is_valid_src_short_addr(neigh->short_addr)) in lowpan_ndisc_802154_update()
103 neigh->short_addr = cpu_to_le16(IEEE802154_ADDR_SHORT_UNSPEC); in lowpan_ndisc_802154_update()
121 u8 icmp6_type, struct neighbour *neigh, in lowpan_ndisc_opt_addr_space() argument
133 n = lowpan_802154_neigh(neighbour_priv(neigh)); in lowpan_ndisc_opt_addr_space()
135 read_lock_bh(&neigh->lock); in lowpan_ndisc_opt_addr_space()
139 read_unlock_bh(&neigh->lock); in lowpan_ndisc_opt_addr_space()
143 read_unlock_bh(&neigh->lock); in lowpan_ndisc_opt_addr_space()
/Linux-v4.19/drivers/infiniband/hw/qedr/
Dqedr_iw_cm.c407 struct neighbour *neigh = NULL; in qedr_addr4_resolve() local
417 neigh = dst_neigh_lookup(&rt->dst, &dst_ip); in qedr_addr4_resolve()
419 if (neigh) { in qedr_addr4_resolve()
421 if (neigh->nud_state & NUD_VALID) { in qedr_addr4_resolve()
422 ether_addr_copy(dst_mac, neigh->ha); in qedr_addr4_resolve()
425 neigh_event_send(neigh, NULL); in qedr_addr4_resolve()
428 neigh_release(neigh); in qedr_addr4_resolve()
441 struct neighbour *neigh = NULL; in qedr_addr6_resolve() local
461 neigh = dst_neigh_lookup(dst, &fl6.daddr); in qedr_addr6_resolve()
462 if (neigh) { in qedr_addr6_resolve()
[all …]
/Linux-v4.19/lib/
Dcpu_rmap.c100 int neigh; in cpu_rmap_copy_neigh() local
102 for_each_cpu(neigh, mask) { in cpu_rmap_copy_neigh()
104 rmap->near[neigh].dist <= dist) { in cpu_rmap_copy_neigh()
105 rmap->near[cpu].index = rmap->near[neigh].index; in cpu_rmap_copy_neigh()
/Linux-v4.19/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_span.c113 struct neighbour *neigh = neigh_lookup(tbl, pkey, dev); in mlxsw_sp_span_dmac() local
116 if (!neigh) { in mlxsw_sp_span_dmac()
117 neigh = neigh_create(tbl, pkey, dev); in mlxsw_sp_span_dmac()
118 if (IS_ERR(neigh)) in mlxsw_sp_span_dmac()
119 return PTR_ERR(neigh); in mlxsw_sp_span_dmac()
122 neigh_event_send(neigh, NULL); in mlxsw_sp_span_dmac()
124 read_lock_bh(&neigh->lock); in mlxsw_sp_span_dmac()
125 if ((neigh->nud_state & NUD_VALID) && !neigh->dead) in mlxsw_sp_span_dmac()
126 memcpy(dmac, neigh->ha, ETH_ALEN); in mlxsw_sp_span_dmac()
129 read_unlock_bh(&neigh->lock); in mlxsw_sp_span_dmac()
[all …]
/Linux-v4.19/drivers/net/
Dvrf.c357 struct neighbour *neigh; in vrf_finish_output6() local
368 neigh = __ipv6_neigh_lookup_noref(dst->dev, nexthop); in vrf_finish_output6()
369 if (unlikely(!neigh)) in vrf_finish_output6()
370 neigh = __neigh_create(&nd_tbl, nexthop, dst->dev, false); in vrf_finish_output6()
371 if (!IS_ERR(neigh)) { in vrf_finish_output6()
372 sock_confirm_neigh(skb, neigh); in vrf_finish_output6()
373 ret = neigh_output(neigh, skb); in vrf_finish_output6()
551 struct neighbour *neigh; in vrf_finish_output() local
576 neigh = __ipv4_neigh_lookup_noref(dev, nexthop); in vrf_finish_output()
577 if (unlikely(!neigh)) in vrf_finish_output()
[all …]
/Linux-v4.19/tools/testing/selftests/net/forwarding/
Dmirror_gre_neigh.sh67 ip neigh replace dev $swp3 $addr lladdr 00:11:22:33:44:55
70 ip neigh del dev $swp3 $addr

123