Thread (5 messages) 5 messages, 3 authors, 2021-09-02

Re: Change in behavior for bound vs unbound sockets

flat view

From: David Ahern <hidden>
Date: 2021-09-01 02:29:21

On 8/31/21 3:12 AM, Paul Menzel wrote:
quoted
I traced it to one commit (6da5b0f027a8 "net: ensure unbound datagram
socket to be chosen when not in a VRF") that makes sure that when not
in a VRF, the unbound socket is chosen over the bound socket, if both
are available. If I revert this commit and two other commits that
made changes on top of this, I can see that packets get sent to the
bound socket instead. There's similar commits made for TCP and raw
sockets as well, as part of that patch series.
Commit 6da5b0f027a8 (net: ensure unbound datagram socket to be chosen
when not in a VRF) was added to Linux 5.0.
quoted
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.

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, ...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help