diff options
author | Willem de Bruijn <willemb@google.com> | 2022-10-27 17:10:14 -0400 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-10-28 22:00:49 -0700 |
commit | 58ba426388d9fe56aa638f555b01d6e63cada88c (patch) | |
tree | 3709aa38f3e61c645912c7f0d765c9c04fb4e84a /drivers/net/ipa/ipa_version.h | |
parent | ice: Add additional CSR registers to ETHTOOL_GREGS (diff) | |
download | wireguard-linux-58ba426388d9fe56aa638f555b01d6e63cada88c.tar.xz wireguard-linux-58ba426388d9fe56aa638f555b01d6e63cada88c.zip |
net/packet: add PACKET_FANOUT_FLAG_IGNORE_OUTGOING
Extend packet socket option PACKET_IGNORE_OUTGOING to fanout groups.
The socket option sets ptype.ignore_outgoing, which makes
dev_queue_xmit_nit skip the socket.
When the socket joins a fanout group, the option is not reflected in
the struct ptype of the group. dev_queue_xmit_nit only tests the
fanout ptype, so the flag is ignored once a socket joins a
fanout group.
Inheriting the option from a socket would change established behavior.
Different sockets in the group can set different flags, and can also
change them at runtime.
Testing in packet_rcv_fanout defeats the purpose of the original
patch, which is to avoid skb_clone in dev_queue_xmit_nit (esp. for
MSG_ZEROCOPY packets).
Instead, introduce a new fanout group flag with the same behavior.
Tested with https://github.com/wdebruij/kerneltools/blob/master/tests/test_psock_fanout_ignore_outgoing.c
Signed-off-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20221027211014.3581513-1-willemdebruijn.kernel@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions