On 10/9/26 21:03, Stephen Hemminger wrote:
>
> A separate, older bug turned up while checking fanout_add() in the
kernel. get_fanout_mode() always ORs in PACKET_FANOUT_FLAG_ROLLOVER, and
the kernel returns -EINVAL for PACKET_FANOUT_ROLLOVER combined with that
flag. So fanout_mode=rollover with qpairs > 1 always fails setsockopt.
It’s not part of this series, but it deserves its own Fixes patch
>
I agree, this is an issue that needs to be fixed. Another issue with
unconditionally setting PACKET_FANOUT_FLAG_ROLLOVER is that packets
might spill over to another queue and then be received by a worker that
does not track the flow the packet belongs to in case of per-worker flow
tables. So I think that it should be configurable.
A related issue is with the PACKET_FANOUT_FLAG_DEFRAG flag that is also
always set. Setting it can be harmful to IDS/IPS and similar
applications that want to see the IP fragments as the come in to detect
excessive IP fragmentation and overlapping fragments as is used to
bypass detection.