[PATCH] net/af_packet: allow disabling packet fanout
Stephen Hemminger
stephen at networkplumber.org
Thu Dec 12 18:11:02 CET 2024
On Thu, 12 Dec 2024 10:04:42 +0200
Tudor Cornea <tudor.cornea at gmail.com> wrote:
> This allows us to control whether the PMD will attempt to use
> the PACKET_FANOUT socket option, and allows the binary compiled
> against newer kernel headers to run on an older kernel, which
> lacks support for it.
>
> Signed-off-by: Tudor Cornea <tudor.cornea at gmail.com>
Controlling fanout more is a good idea but not sure what this patch
is trying to do with it.
- DPDK minimum kernel version is now 4.19 so no point in worrying about
backward compatibility. According to man page for packet, fanout
was added in 3.1 kernel.
- It would be useful to allow application to control fanout in more detail.
According to man page:
• The load-balance mode PACKET_FANOUT_LB implements a round-
robin algorithm.
• PACKET_FANOUT_CPU selects the socket based on the CPU that the
packet arrived on.
• PACKET_FANOUT_ROLLOVER processes all data on a single socket,
moving to the next when one becomes backlogged.
• PACKET_FANOUT_RND selects the socket using a pseudo-random
number generator.
• PACKET_FANOUT_QM (available since Linux 3.14) selects the
socket using the recorded queue_mapping of the received skb.
The default should be for packet to behave like a hardware NIC if RSS is
enabled. And use a single queue if RSS is not enabled. The PMD kind of does
this now but not the same.
More information about the dev
mailing list