Archive > 20.7 Legacy Series

Tunables changed for igb driver

(1/1)

Ypsilon:
Hi, I'm rather new to opnsense, coming from sophos UTM, so I consider myself a beginner.
Recently I replaced my desktop nics by a i340-t4 card, so igb driver in opnsense 20.1.
I discovered that the tunables
--- Code: ---hw.igb.txd="4096"
--- End code ---
and
--- Code: ---hw.igb.rxd="4096"
--- End code ---
contributed in speed and stability.
In dmesg I could see that netmap applied the descriptot settings during boot.

--- Code: ---igb0: netmap queues/slots: TX 2/4096, RX 2/4096
igb1: netmap queues/slots: TX 2/4096, RX 2/4096
--- End code ---


A few days ago I upgraded to 20.7 and because there are major changes, like suricata 5 and bsd 12.1, it was somewhat harder to investigate issues, for example throughput being lower with IPS enabled.
During this investigation I thought it's always wise to check if certain custom settings are still being applied.
And they are not.
Apparently old descriptor settings have moved to iflib sysctl tunables. So now I have set for my two igb ports instead:


--- Code: ---dev.igb.0.iflib.override_ntxds="4096"
dev.igb.1.iflib.override_ntxds="4096"
dev.igb.0.iflib.override_nrxds="4096"
dev.igb.1.iflib.override_nrxds="4096"

--- End code ---

With these settings, the descriptor values are applied again to netmap.
I guess more tunables for igb have moved, so I think if you set "old" ones, you should doublecheck if they are actually applied.

P.S. In my opinion the actual current systctl tunables for igb are rather hard to find. Since bsd 12.1 the em driver is used for igb.
In the end I used a combination of the actual available values the my system displays for sysctl -a and:
https://www.freebsd.org/cgi/man.cgi?query=iflib&apropos=0&sektion=4&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html

iMx:
Good catch - I think there is also some suggestions to set the queues equal to the number of cores:


--- Code: ---dev.x.x.iflib.override_qs_enable="1"
dev.x.x.iflib.override_nrxqs="8"
dev.x.x.iflib.override_ntxqs="8"
--- End code ---

So for 8 cores, something similar to the above. As always, YMMV.

Navigation

[0] Message Index

Go to full version