Re: Chelsio NIC with RSS - Traffic distribution to different Queues

From: <Josef.Zahner1_at_swisscom.com>
Date: Thu, 13 Jul 2023 15:45:13 UTC
It was not my intention to tune before testing. The point was, when we started testing, we have seen that RSS wasn’t working with the Intel E810 NIC out of the box just after the installation of FreeBSD (OPNsense). All load was only on CPU0, no load distribution at all. So we enabled the RSS sysctl values and a some driver extensions for the E810 and from this point on RSS was working. Our intention was that both is required to get RSS work – but this assumption seems to be wrong. The following statement from OPNsense suggests that as well:

https://docs.opnsense.org/troubleshooting/performance.html “By default, RSS will be disabled since it’s impact is quite far reaching.»

The important point is, it seems that the mentioned RSS sysctl parameters are causing problems with either Intel E810 or the Chelsio NIC. People with just one server will never recognize this and I talked with some OPNsense guys, nobody has ever seen such an issue.

However I’m just glad that we found a working solution after such a long period of time and that you extended the driver with such a (for us) important feature!

Regarding the missing “netstat -Q” output, the queues are there if we enable “options RSS” as you call it. But as soon as we enable them, we have the issue. The good point is, we don’t need them, all what we need can be modified directly from driver sysctl parameters.

One last question which you don’t explained. How do I know what/which protocols go into Queue 0 – is there a list or something? Can we influence that?

Cheers Josef

PS: will this change come to an official driver version?