Subject: Re: [PATCH v2 net-next 4/4] vxlan: do not receive IPv4 packets on IPv6 socket

From: Thomas Graf <[email-masked]>
Date: Sat, 29 Aug 2015 00:39:29 +0200

On 08/28/15 at 08:48pm, Jiri Benc wrote:
> By default (subject to the sysctl settings), IPv6 sockets listen also for
> IPv4 traffic. Vxlan is not prepared for that and expects IPv6 header in
> packets received through an IPv6 socket.
> 
> In addition, it's currently not possible to have both IPv4 and IPv6 vxlan
> tunnel on the same port (unless bindv6only sysctl is enabled), as it's not
> possible to create and bind both IPv4 and IPv6 vxlan interfaces and there's
> no way to specify both IPv4 and IPv6 remote/group IP addresses.
> 
> Set IPV6_V6ONLY on vxlan sockets to fix both of these issues. This is not
> done globally in udp_tunnel, as l2tp and tipc seems to work okay when
> receiving IPv4 packets on IPv6 socket and people may rely on this behavior.
> The other tunnels (geneve and fou) do not support IPv6.
> 
> Signed-off-by: Jiri Benc <[email-masked]>

Can we fix VXLAN instead? It should be possible to receive and send both
v4 and v6 frames and represent it with metadata on a single socket.

Maybe set the flag if IFLA_VXLAN_COLLECT_METADATA is not set?