On Tue, Jan 7, 2014 at 6:34 PM, Eric Dumazet [off-list ref] wrote:
On Tue, 2014-01-07 at 17:29 +0200, Or Gerlitz wrote:
quoted
Add gro handlers for vxlan using the udp gro infrastructure
quoted
static void vxlan_notify_add_rx_port(struct sock *sk)
{@@ -568,6 +661,8 @@ static void vxlan_notify_add_rx_port(struct sock *sk)
dev->netdev_ops->ndo_add_vxlan_port(dev, sa_family,
port);
}
+ if (sa_family == AF_INET)
+ udp_add_offload(&vxlan_offload, port);
rcu_read_unlock();
}
This means two vxlan tunnels can not share same port.
Is that a valid assertion ?
nope -- the vxlan driver opens a listener udp socket per per listening
port, but N > 1 vxlan tunnels can sit on that port, the driver does
further demuxing based on the vnid carried in the vxlan header, see
the call to vxlan_find_vni() from vxlan_rcv()