/Linux-v4.19/net/rose/ |
D | rose_link.c | 33 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/ |
D | dn_neigh.c | 54 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 …]
|
D | dn_route.c | 965 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/ |
D | neighbour.c | 57 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/ |
D | l2t.c | 77 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/ |
D | ipoib_main.c | 749 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 …]
|
D | ipoib.h | 250 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 …]
|
D | ipoib_cm.c | 832 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 …]
|
D | ipoib_multicast.c | 812 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/ |
D | arp.c | 128 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/ |
D | l2t.c | 129 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 …]
|
D | l2t.h | 78 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/ |
D | ndisc.c | 79 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/ |
D | bat_v_elp.c | 77 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 …]
|
D | originator.c | 454 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 …]
|
D | originator.h | 54 batadv_neigh_ifinfo_new(struct batadv_neigh_node *neigh, 57 batadv_neigh_ifinfo_get(struct batadv_neigh_node *neigh,
|
/Linux-v4.19/include/net/ |
D | neighbour.h | 318 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 …]
|
D | ndisc.h | 207 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/ |
D | clip.c | 77 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/ |
D | ndisc.c | 66 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/ |
D | qedr_iw_cm.c | 407 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/ |
D | cpu_rmap.c | 100 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/ |
D | spectrum_span.c | 113 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/ |
D | vrf.c | 357 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/ |
D | mirror_gre_neigh.sh | 67 ip neigh replace dev $swp3 $addr lladdr 00:11:22:33:44:55 70 ip neigh del dev $swp3 $addr
|