From: David Ahern <d...@cumulusnetworks.com> Date: Mon, 30 Jan 2017 11:52:01 -0700
> 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> The conflict was easy enough to fix up, so I did it myself. Applied to net-next, thanks.