All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v02 0/2] net: af_packet: allow joining a fanout when link is down
@ 2024-10-08 10:27 Gur Stavi
  2024-10-08 10:27 ` [PATCH net-next v02 1/2] af_packet: allow fanout_add when socket is not RUNNING Gur Stavi
  2024-10-08 10:27 ` [PATCH net-next v02 2/2] selftests: net/psock_fanout: socket joins fanout when link is down Gur Stavi
  0 siblings, 2 replies; 19+ messages in thread
From: Gur Stavi @ 2024-10-08 10:27 UTC (permalink / raw)
  To: Gur Stavi
  Cc: netdev, linux-kernel, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Shuah Khan, Willem de Bruijn,
	linux-kselftest

PACKET socket can retain its fanout membership through link down and up
and leave a fanout while closed regardless of link state.
However, socket was forbidden from joining a fanout while it was not
RUNNING.

This patch allows PACKET socket to join a fanout while not RUNNING.
Selftest psock_fanout is extended to test this scenario.
This is the only test that was performed.

This scenario was identified while studying DPDK pmd_af_packet_drv.
Since sockets are only created during initialization, there is no reason
to fail the initialization if a single link is temporarily down.

I hope it is not considered as breaking user space and that applications
are not designed to expect this failure.


Changes:

V02:
* psock_fanout: use explicit loopback up/down instead of toggle.
* psock_fanout: don't try to restore loopback state on failure.
* Rephrase commit message about "leaving a fanout".

V01: https://lore.kernel.org/netdev/cover.1728303615.git.gur.stavi@huawei.com/

Gur Stavi (2):
  af_packet: allow fanout_add when socket is not RUNNING
  selftests: net/psock_fanout: socket joins fanout when link is down

 net/packet/af_packet.c                     | 10 +++---
 tools/testing/selftests/net/psock_fanout.c | 42 ++++++++++++++++++++--
 2 files changed, 44 insertions(+), 8 deletions(-)


base-commit: f95b4725e796b12e5f347a0d161e1d3843142aa8
-- 
2.45.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-10-11 19:08 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-08 10:27 [PATCH net-next v02 0/2] net: af_packet: allow joining a fanout when link is down Gur Stavi
2024-10-08 10:27 ` [PATCH net-next v02 1/2] af_packet: allow fanout_add when socket is not RUNNING Gur Stavi
2024-10-08 14:26   ` Willem de Bruijn
2024-10-09  6:58     ` Gur Stavi
2024-10-09 13:51       ` Willem de Bruijn
2024-10-09 18:03         ` Gur Stavi
2024-10-10  0:30           ` Willem de Bruijn
2024-10-10  7:08             ` Gur Stavi
2024-10-10 14:21               ` Willem de Bruijn
2024-10-10 16:14                 ` Gur Stavi
2024-10-10 22:12                   ` Willem de Bruijn
2024-10-11  5:17                     ` Gur Stavi
2024-10-11 14:24                       ` Willem de Bruijn
2024-10-11  9:02                     ` Gur Stavi
2024-10-11 14:35                       ` Willem de Bruijn
2024-10-11 17:12                         ` Gur Stavi
2024-10-11 19:08                           ` Willem de Bruijn
2024-10-10 11:49             ` Gur Stavi
2024-10-08 10:27 ` [PATCH net-next v02 2/2] selftests: net/psock_fanout: socket joins fanout when link is down Gur Stavi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.