Re: [PATCH net-next] atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC

From: Gatis Peisenieks
Date: Tue May 25 2021 - 03:28:04 EST



Chris, thank you for taking a look at this!

In my experience L4 hashing (adding TCP/UDP ports to the hash to
determine rx queue) can cause problems with fragmented packets when
packet parser ignores the "More Fragments" and/or "Fragment Offset"
fields of the IPv4 header. Only the first fragment contains the ports,
so if parser blindly assumes ports to be at start of L4 offset, then
packets belonging to same connection get scattered among the rx queues
which is not good for performance.

Mikrotik 10/25G NIC RX parser stops at L3 if it sees any of those set.
Essentially it falls back to L2/L3 hashing for fragmented packets.
So it is ok in that regard.


On 2021-05-24 22:52, Chris Snook wrote:
Is the L4 part of that hash configurable? That sort of thing tends to
cause performance problems for fragmenting workloads, such as NFS over
UDP.

- Chris