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.

Reply via email to