On 1/26/17 11:02 AM, Robert Shearman wrote:
> Packets arriving in a VRF currently are delivered to UDP sockets that
> aren't bound to any interface. TCP defaults to not delivering packets
> arriving in a VRF to unbound sockets. IP route lookup and socket
> transmit both assume that unbound means using the default table and
> UDP applications that haven't been changed to be aware of VRFs may not
> function correctly in this case since they may not be able to handle
> overlapping IP address ranges, or be able to send packets back to the
> original sender if required.
> 
> So add a sysctl, udp_l3mdev_accept, to control this behaviour with it
> being analgous to the existing tcp_l3mdev_accept, namely to allow a
> process to have a VRF-global listen socket. Have this default to off
> as this is the behaviour that users will expect, given that there is
> no explicit mechanism to set unmodified VRF-unaware application into a
> default VRF.
> 
> Signed-off-by: Robert Shearman <rshea...@brocade.com>
> ---
> I've targetted this for the net tree because I believe the expected
> behaviour is different enough from the current behaviour to be
> considered a bug. However, this should also apply to the net-next tree
> as-is if this not deemed a bug.

Does not apply to net-next; collision in sysctl_net_ipv4.c

As for the code change, I have updated my unit tests and they all pass with 
this patch. Not sure why I marked my version as not working last November, but 
it is all good now.

Acked-by: David Ahern <d...@cumulusnetworks.com>
Tested-by: David Ahern <d...@cumulusnetworks.com>

Reply via email to