Subject: Re: [EXTERNAL] Re: Change in behavior for bound vs unbound sockets

From: David Ahern <[email-masked]>
Date: Wed, 1 Sep 2021 20:41:57 -0700

On 9/1/21 5:16 PM, Saikrishna Arcot wrote:
> 
>> On 8/31/21 7:29 PM, Paul Menzel wrote:
>>>> Is the intention of those commits also meant to affect sockets that
>>>> are bound to just regular interfaces (and not only VRFs)? If so,
>>>> since this change breaks a userspace application, is it possible to
>>>> add a config that reverts to the old behavior, where bound sockets
>>>> are preferred over unbound sockets?
>>> If it breaks user space, the old behavior needs to be restored
>>> according to Linux' no regression policy. Let's hope, in the future,
>>> there is better testing infrastructure and such issues are noticed earlier.
>>
>> 5.0 was 2-1/2 years ago.
> 
> Does that mean that this should be considered the new behavior? Is it
> possible to at least add a sysctl config to use the older behavior for
> non-VRF socket bindings?
> 
>>
>> Feel free to add tests to tools/testing/selftests/net/fcnal-test.sh to cover any
>> missing permutations, including what you believe is the problem here. Both IPv4
>> and IPv6 should be added for consistency across protocols.
>>
>> nettest.c has a lot of the networking APIs, supports udp, tcp, raw, ...
> 
> Let me try to add a test case there. I'm guessing test cases added there
> should pass with the current version of the kernel (i.e. should reflect the
> current behavior)?
> 

Let's start by seeing test cases that demonstrate the problem.