Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vxlan: Expose vxlan_xmit_one()

Given a packet and a remote destination, the function will take care of
encapsulating the packet and transmitting it to the destination.

Expose it so that it could be used in subsequent patches by the MDB code
to transmit a packet to the remote destination(s) stored in the MDB
entry.

It will allow us to keep the MDB code self-contained, not exposing its
data structures to the rest of the VXLAN driver.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Ido Schimmel and committed by
David S. Miller
6ab271aa f307c8bf

+4 -3
+2 -3
drivers/net/vxlan/vxlan_core.c
··· 2395 2395 return 0; 2396 2396 } 2397 2397 2398 - static void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, 2399 - __be32 default_vni, struct vxlan_rdst *rdst, 2400 - bool did_rsc) 2398 + void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, 2399 + __be32 default_vni, struct vxlan_rdst *rdst, bool did_rsc) 2401 2400 { 2402 2401 struct dst_cache *dst_cache; 2403 2402 struct ip_tunnel_info *info;
+2
drivers/net/vxlan/vxlan_private.h
··· 172 172 __be16 port, __be32 src_vni, __be32 vni, 173 173 __u32 ifindex, __u16 ndm_flags, u32 nhid, 174 174 bool swdev_notify, struct netlink_ext_ack *extack); 175 + void vxlan_xmit_one(struct sk_buff *skb, struct net_device *dev, 176 + __be32 default_vni, struct vxlan_rdst *rdst, bool did_rsc); 175 177 int vxlan_vni_in_use(struct net *src_net, struct vxlan_dev *vxlan, 176 178 struct vxlan_config *conf, __be32 vni); 177 179