Lines Matching refs:vni
96 int ifindex, __be32 vni, in vxlan_vs_find_vni() argument
105 vni = 0; in vxlan_vs_find_vni()
107 hlist_for_each_entry_rcu(node, vni_head(vs, vni), hlist) { in vxlan_vs_find_vni()
112 vnode = vxlan_vnifilter_lookup(node->vxlan, vni); in vxlan_vs_find_vni()
115 } else if (node->vxlan->default_dst.remote_vni != vni) { in vxlan_vs_find_vni()
137 __be32 vni, sa_family_t family, in vxlan_find_vni() argument
146 return vxlan_vs_find_vni(vs, ifindex, vni, NULL); in vxlan_find_vni()
225 if ((vxlan->cfg.flags & VXLAN_F_COLLECT_METADATA) && fdb->vni && in vxlan_fdb_info()
227 be32_to_cpu(fdb->vni))) in vxlan_fdb_info()
297 fdb_info->vni = fdb->vni; in vxlan_fdb_switchdev_notifier_info()
388 u32 eth_vni_hash(const unsigned char *addr, __be32 vni) in eth_vni_hash() argument
393 return jhash_2words(key, vni, vxlan_salt) & (FDB_HASH_SIZE - 1); in eth_vni_hash()
396 u32 fdb_head_index(struct vxlan_dev *vxlan, const u8 *mac, __be32 vni) in fdb_head_index() argument
399 return eth_vni_hash(mac, vni); in fdb_head_index()
406 const u8 *mac, __be32 vni) in vxlan_fdb_head() argument
408 return &vxlan->fdb_head[fdb_head_index(vxlan, mac, vni)]; in vxlan_fdb_head()
413 const u8 *mac, __be32 vni) in __vxlan_find_mac() argument
415 struct hlist_head *head = vxlan_fdb_head(vxlan, mac, vni); in __vxlan_find_mac()
421 if (vni == f->vni) in __vxlan_find_mac()
433 const u8 *mac, __be32 vni) in vxlan_find_mac() argument
437 f = __vxlan_find_mac(vxlan, mac, vni); in vxlan_find_mac()
447 __be32 vni, __u32 ifindex) in vxlan_fdb_find_rdst() argument
454 rd->remote_vni == vni && in vxlan_fdb_find_rdst()
462 int vxlan_fdb_find_uc(struct net_device *dev, const u8 *mac, __be32 vni, in vxlan_fdb_find_uc() argument
479 f = __vxlan_find_mac(vxlan, eth_addr, vni); in vxlan_fdb_find_uc()
509 int vxlan_fdb_replay(const struct net_device *dev, __be32 vni, in vxlan_fdb_replay() argument
526 if (f->vni == vni) { in vxlan_fdb_replay()
546 void vxlan_fdb_clear_offload(const struct net_device *dev, __be32 vni) in vxlan_fdb_clear_offload() argument
560 if (f->vni == vni) in vxlan_fdb_clear_offload()
571 union vxlan_addr *ip, __be16 port, __be32 vni, in vxlan_fdb_replace() argument
576 rd = vxlan_fdb_find_rdst(f, ip, port, vni, ifindex); in vxlan_fdb_replace()
588 rd->remote_vni = vni; in vxlan_fdb_replace()
596 union vxlan_addr *ip, __be16 port, __be32 vni, in vxlan_fdb_append() argument
601 rd = vxlan_fdb_find_rdst(f, ip, port, vni, ifindex); in vxlan_fdb_append()
617 rd->remote_vni = vni; in vxlan_fdb_append()
805 f->vni = src_vni; in vxlan_fdb_alloc()
888 __be32 vni, __u32 ifindex, __u16 ndm_flags, in vxlan_fdb_create() argument
908 rc = vxlan_fdb_append(f, ip, port, vni, ifindex, &rd); in vxlan_fdb_create()
981 __be16 port, __be32 vni, in vxlan_fdb_update_existing() argument
1032 rc = vxlan_fdb_replace(f, ip, port, vni, in vxlan_fdb_update_existing()
1044 rc = vxlan_fdb_append(f, ip, port, vni, ifindex, &rd); in vxlan_fdb_update_existing()
1081 __be16 port, __be32 src_vni, __be32 vni, in vxlan_fdb_update_create() argument
1097 vni, ifindex, fdb_flags, nhid, &f, extack); in vxlan_fdb_update_create()
1118 __be16 port, __be32 src_vni, __be32 vni, in vxlan_fdb_update() argument
1134 vni, ifindex, ndm_flags, f, in vxlan_fdb_update()
1141 port, src_vni, vni, ifindex, in vxlan_fdb_update()
1157 __be32 *vni, u32 *ifindex, u32 *nhid, in vxlan_fdb_parse() argument
1204 *vni = cpu_to_be32(nla_get_u32(tb[NDA_VNI])); in vxlan_fdb_parse()
1206 *vni = vxlan->default_dst.remote_vni; in vxlan_fdb_parse()
1254 __be32 src_vni, vni; in vxlan_fdb_add() local
1268 err = vxlan_fdb_parse(tb, vxlan, &ip, &port, &src_vni, &vni, &ifindex, in vxlan_fdb_add()
1279 port, src_vni, vni, ifindex, in vxlan_fdb_add()
1289 __be16 port, __be32 src_vni, __be32 vni, in __vxlan_fdb_delete() argument
1301 rd = vxlan_fdb_find_rdst(f, &ip, port, vni, ifindex); in __vxlan_fdb_delete()
1328 __be32 src_vni, vni; in vxlan_fdb_delete() local
1334 err = vxlan_fdb_parse(tb, vxlan, &ip, &port, &src_vni, &vni, &ifindex, in vxlan_fdb_delete()
1341 err = __vxlan_fdb_delete(vxlan, addr, ip, port, src_vni, vni, ifindex, in vxlan_fdb_delete()
1413 __be32 vni; in vxlan_fdb_get() local
1417 vni = cpu_to_be32(nla_get_u32(tb[NDA_VNI])); in vxlan_fdb_get()
1419 vni = vxlan->default_dst.remote_vni; in vxlan_fdb_get()
1423 f = __vxlan_find_mac(vxlan, addr, vni); in vxlan_fdb_get()
1443 u32 src_ifindex, __be32 vni) in vxlan_snoop() argument
1455 f = vxlan_find_mac(vxlan, src_mac, vni); in vxlan_snoop()
1480 u32 hash_index = fdb_head_index(vxlan, src_mac, vni); in vxlan_snoop()
1491 vni, in vxlan_snoop()
1605 struct sk_buff *skb, __be32 vni) in vxlan_set_mac() argument
1630 vxlan_snoop(skb->dev, &saddr, eth_hdr(skb)->h_source, ifindex, vni)) in vxlan_set_mac()
1672 __be32 vni = 0; in vxlan_rcv() local
1694 vni = vxlan_vni(vxlan_hdr(skb)->vx_vni); in vxlan_rcv()
1696 vxlan = vxlan_vs_find_vni(vs, skb->dev->ifindex, vni, &vninode); in vxlan_rcv()
1722 key32_to_tunnel_id(vni), sizeof(*md)); in vxlan_rcv()
1753 if (!vxlan_set_mac(vxlan, vs, skb, vni)) in vxlan_rcv()
1767 vxlan_vnifilter_count(vxlan, vni, vninode, in vxlan_rcv()
1777 vxlan_vnifilter_count(vxlan, vni, vninode, in vxlan_rcv()
1783 vxlan_vnifilter_count(vxlan, vni, vninode, VXLAN_VNI_STATS_RX, skb->len); in vxlan_rcv()
1802 __be32 vni; in vxlan_err_lookup() local
1816 vni = vxlan_vni(hdr->vx_vni); in vxlan_err_lookup()
1817 vxlan = vxlan_vs_find_vni(vs, skb->dev->ifindex, vni, NULL); in vxlan_err_lookup()
1824 static int arp_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni) in arp_reduce() argument
1871 f = vxlan_find_mac(vxlan, n->ha, vni); in arp_reduce()
1893 vxlan_vnifilter_count(vxlan, vni, NULL, in arp_reduce()
2002 static int neigh_reduce(struct net_device *dev, struct sk_buff *skb, __be32 vni) in neigh_reduce() argument
2035 f = vxlan_find_mac(vxlan, n->ha, vni); in neigh_reduce()
2052 vxlan_vnifilter_count(vxlan, vni, NULL, in neigh_reduce()
2155 int iphdr_len, __be32 vni, in vxlan_build_skb() argument
2190 vxh->vx_vni = vxlan_vni_field(vni); in vxlan_build_skb()
2328 struct vxlan_dev *dst_vxlan, __be32 vni, in vxlan_encap_bypass() argument
2359 vxlan_snoop(dev, &loopback, eth_hdr(skb)->h_source, 0, vni); in vxlan_encap_bypass()
2362 vxlan_vnifilter_count(src_vxlan, vni, NULL, VXLAN_VNI_STATS_TX, len); in vxlan_encap_bypass()
2366 vxlan_vnifilter_count(dst_vxlan, vni, NULL, VXLAN_VNI_STATS_RX, in vxlan_encap_bypass()
2371 vxlan_vnifilter_count(dst_vxlan, vni, NULL, in vxlan_encap_bypass()
2380 __be16 dst_port, int dst_ifindex, __be32 vni, in encap_bypass_if_local() argument
2398 dst_vxlan = vxlan_find_vni(vxlan->net, dst_ifindex, vni, in encap_bypass_if_local()
2403 vxlan_vnifilter_count(vxlan, vni, NULL, in encap_bypass_if_local()
2409 vxlan_encap_bypass(skb, vxlan, dst_vxlan, vni, true); in encap_bypass_if_local()
2436 __be32 vni = 0; in vxlan_xmit_one() local
2456 vni = (rdst->remote_vni) ? : default_vni; in vxlan_xmit_one()
2497 vni = tunnel_id_to_key32(info->key.tun_id); in vxlan_xmit_one()
2537 dst_port, ifindex, vni, in vxlan_xmit_one()
2575 vxlan_encap_bypass(skb, vxlan, vxlan, vni, false); in vxlan_xmit_one()
2583 vni, md, flags, udp_sum); in vxlan_xmit_one()
2612 dst_port, ifindex, vni, in vxlan_xmit_one()
2638 vxlan_encap_bypass(skb, vxlan, vxlan, vni, false); in vxlan_xmit_one()
2647 vni, md, flags, udp_sum); in vxlan_xmit_one()
2657 vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX, pkt_len); in vxlan_xmit_one()
2664 vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX_DROPS, 0); in vxlan_xmit_one()
2676 vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX_ERRORS, 0); in vxlan_xmit_one()
2681 struct vxlan_fdb *f, __be32 vni, bool did_rsc) in vxlan_xmit_nh() argument
2701 vxlan_xmit_one(skb, dev, vni, &nh_rdst, did_rsc); in vxlan_xmit_nh()
2709 vxlan_vnifilter_count(netdev_priv(dev), vni, NULL, in vxlan_xmit_nh()
2715 u32 nhid, __be32 vni) in vxlan_xmit_nhid() argument
2739 vxlan_xmit_one(skb, dev, vni, &nh_rdst, false); in vxlan_xmit_nhid()
2747 vxlan_vnifilter_count(netdev_priv(dev), vni, NULL, in vxlan_xmit_nhid()
2767 __be32 vni = 0; in vxlan_xmit() local
2777 vni = tunnel_id_to_key32(info->key.tun_id); in vxlan_xmit()
2781 vxlan_xmit_one(skb, dev, vni, NULL, false); in vxlan_xmit()
2791 return arp_reduce(dev, skb, vni); in vxlan_xmit()
2801 return neigh_reduce(dev, skb, vni); in vxlan_xmit()
2807 return vxlan_xmit_nhid(skb, dev, nhid, vni); in vxlan_xmit()
2813 mdb_entry = vxlan_mdb_entry_skb_get(vxlan, skb, vni); in vxlan_xmit()
2825 f = vxlan_find_mac(vxlan, eth->h_dest, vni); in vxlan_xmit()
2833 f = vxlan_find_mac(vxlan, eth->h_dest, vni); in vxlan_xmit()
2837 f = vxlan_find_mac(vxlan, all_zeros_mac, vni); in vxlan_xmit()
2844 vxlan_vnifilter_count(vxlan, vni, NULL, in vxlan_xmit()
2853 (vni ? : vxlan->default_dst.remote_vni), did_rsc); in vxlan_xmit()
2864 vxlan_xmit_one(skb1, dev, vni, rdst, did_rsc); in vxlan_xmit()
2867 vxlan_xmit_one(skb, dev, vni, fdst, did_rsc); in vxlan_xmit()
2932 __be32 vni = vxlan->default_dst.remote_vni; in vxlan_vs_add_dev() local
2936 hlist_add_head_rcu(&node->hlist, vni_head(vs, vni)); in vxlan_vs_add_dev()
2975 static void vxlan_fdb_delete_default(struct vxlan_dev *vxlan, __be32 vni) in vxlan_fdb_delete_default() argument
2978 u32 hash_index = fdb_head_index(vxlan, all_zeros_mac, vni); in vxlan_fdb_delete_default()
2981 f = __vxlan_find_mac(vxlan, all_zeros_mac, vni); in vxlan_fdb_delete_default()
2998 vxlan_fdb_delete_default(vxlan, vxlan->cfg.vni); in vxlan_uninit()
3041 f->vni == vxlan->cfg.vni) in vxlan_flush()
3548 struct vxlan_config *conf, __be32 vni) in vxlan_vni_in_use() argument
3557 if (!vxlan_vnifilter_lookup(tmp, vni)) in vxlan_vni_in_use()
3559 } else if (tmp->cfg.vni != vni) { in vxlan_vni_in_use()
3715 if (vxlan_vni_in_use(src_net, old, conf, conf->vni)) { in vxlan_config_validate()
3748 dst->remote_vni = conf->vni; in vxlan_config_apply()
3928 __be32 vni = cpu_to_be32(nla_get_u32(data[IFLA_VXLAN_ID])); in vxlan_nl2conf() local
3930 if (changelink && (vni != conf->vni)) { in vxlan_nl2conf()
3934 conf->vni = cpu_to_be32(nla_get_u32(data[IFLA_VXLAN_ID])); in vxlan_nl2conf()
4241 u32 hash_index = fdb_head_index(vxlan, all_zeros_mac, conf.vni); in vxlan_changelink()
4250 conf.vni, conf.vni, in vxlan_changelink()
4552 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set()
4556 f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_offloaded_set()
4582 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_add()
4590 fdb_info->vni, in vxlan_fdb_external_learn_add()
4609 hash_index = fdb_head_index(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del()
4612 f = vxlan_find_mac(vxlan, fdb_info->eth_addr, fdb_info->vni); in vxlan_fdb_external_learn_del()
4619 fdb_info->vni, in vxlan_fdb_external_learn_del()