Lines Matching refs:vni
85 static inline __u32 geneve_net_vni_hash(u8 vni[3]) in geneve_net_vni_hash()
89 vnid = (vni[0] << 16) | (vni[1] << 8) | vni[2]; in geneve_net_vni_hash()
93 static __be64 vni_to_tunnel_id(const __u8 *vni) in vni_to_tunnel_id() argument
96 return (vni[0] << 16) | (vni[1] << 8) | vni[2]; in vni_to_tunnel_id()
98 return (__force __be64)(((__force u64)vni[0] << 40) | in vni_to_tunnel_id()
99 ((__force u64)vni[1] << 48) | in vni_to_tunnel_id()
100 ((__force u64)vni[2] << 56)); in vni_to_tunnel_id()
105 static void tunnel_id_to_vni(__be64 tun_id, __u8 *vni) in tunnel_id_to_vni() argument
108 vni[0] = (__force __u8)(tun_id >> 16); in tunnel_id_to_vni()
109 vni[1] = (__force __u8)(tun_id >> 8); in tunnel_id_to_vni()
110 vni[2] = (__force __u8)tun_id; in tunnel_id_to_vni()
112 vni[0] = (__force __u8)((__force u64)tun_id >> 40); in tunnel_id_to_vni()
113 vni[1] = (__force __u8)((__force u64)tun_id >> 48); in tunnel_id_to_vni()
114 vni[2] = (__force __u8)((__force u64)tun_id >> 56); in tunnel_id_to_vni()
118 static bool eq_tun_id_and_vni(u8 *tun_id, u8 *vni) in eq_tun_id_and_vni() argument
120 return !memcmp(vni, &tun_id[5], 3); in eq_tun_id_and_vni()
129 __be32 addr, u8 vni[]) in geneve_lookup() argument
136 hash = geneve_net_vni_hash(vni); in geneve_lookup()
139 if (eq_tun_id_and_vni((u8 *)&node->geneve->cfg.info.key.tun_id, vni) && in geneve_lookup()
148 struct in6_addr addr6, u8 vni[]) in geneve6_lookup() argument
155 hash = geneve_net_vni_hash(vni); in geneve6_lookup()
158 if (eq_tun_id_and_vni((u8 *)&node->geneve->cfg.info.key.tun_id, vni) && in geneve6_lookup()
175 u8 *vni; in geneve_lookup_skb() local
184 vni = zero_vni; in geneve_lookup_skb()
187 vni = geneve_hdr(skb)->vni; in geneve_lookup_skb()
191 return geneve_lookup(gs, addr, vni); in geneve_lookup_skb()
201 vni = zero_vni; in geneve_lookup_skb()
204 vni = geneve_hdr(skb)->vni; in geneve_lookup_skb()
208 return geneve6_lookup(gs, addr6, vni); in geneve_lookup_skb()
231 vni_to_tunnel_id(gnvh->vni), in geneve_rx()
391 u8 *vni = zero_vni; in geneve_udp_encap_err_lookup() local
412 vni = geneve_hdr(skb)->vni; in geneve_udp_encap_err_lookup()
416 return geneve_lookup(gs, addr4, vni) ? 0 : -ENOENT; in geneve_udp_encap_err_lookup()
427 vni = geneve_hdr(skb)->vni; in geneve_udp_encap_err_lookup()
431 return geneve6_lookup(gs, addr6, vni) ? 0 : -ENOENT; in geneve_udp_encap_err_lookup()
652 __u8 vni[3]; in geneve_sock_add() local
680 tunnel_id_to_vni(geneve->cfg.info.key.tun_id, vni); in geneve_sock_add()
681 hash = geneve_net_vni_hash(vni); in geneve_sock_add()
730 tunnel_id_to_vni(info->key.tun_id, geneveh->vni); in geneve_build_header()
1282 __u32 vni = nla_get_u32(data[IFLA_GENEVE_ID]); in geneve_validate() local
1284 if (vni >= GENEVE_N_VID) { in geneve_validate()
1468 __u32 vni; in geneve_nl2info() local
1472 vni = nla_get_u32(data[IFLA_GENEVE_ID]); in geneve_nl2info()
1473 tvni[0] = (vni & 0x00ff0000) >> 16; in geneve_nl2info()
1474 tvni[1] = (vni & 0x0000ff00) >> 8; in geneve_nl2info()
1475 tvni[2] = vni & 0x000000ff; in geneve_nl2info()
1755 __u32 vni; in geneve_fill_info() local
1758 vni = (tmp_vni[0] << 16) | (tmp_vni[1] << 8) | tmp_vni[2]; in geneve_fill_info()
1759 if (nla_put_u32(skb, IFLA_GENEVE_ID, vni)) in geneve_fill_info()