User Tools

Site Tools


networking:tuning_and_troubleshooting_network_cards:intel_cards

Networking - Tuning and Troubleshooting Network Cards - Intel Cards

igc

Intel igb and em Cards

Certain intel igb cards, especially multi-port cards, can very easily/quickly exhaust mbufs and cause panics, especially on amd64.

The following tweaks should help:

In /boot/loader.conf.local – Add the following (or create the file if it does not exist):

/boot/loader.conf.local
kern.ipc.nmbclusters=”131072″
hw.igb.num_queues=1

That will increase the amount of network memory buffers, and make the card use one queue instead of multiple queues, to reduce the strain on the system.

NOTE: The same settings can also apply to em cards, just use “em” in place of “igb” in the setting(s) above.


Intel ix Cards

in /boot/loader.conf.local

/boot/loader.conf.local
kern.ipc.nmbclusters=”262144″
kern.ipc.nmbjumbop=”262144

Add a sysctl (system tunable):

hw.intr_storm_threshold=10000

If using VLANs with Intel 10 Gb ix cards, you may need to disable some features of the driver for VLANs to work correctly.

For instance, to apply these settings on NIC ix0, run the following.

ifconfig ix0 -vlanhwfilter

That alone should be enough, but in some cases you may also find that you need to disable TSO in addition to VLAN hardware filtering, which can be done like so:

<codde bash> ifconfig ix0 -vlanhwfilter -vlanhwtso -tso </code>

NOTE: You can place these commands into a shellcmd tag to execute at boot time to make the change persistent.


Flow Control

In some circumstances, you may wish to disable flow control.

The exact method of this depends on the hardware involved, but here are a couple examples.

All of these go in /boot/loader.conf.local:

For em cards:

/boot/loader.conf.local
hw.em.fc_setting = 0

or for igp cards:

/boot/loader.conf.local
hw.igb.fc_setting = 0

See https://docs.netgate.com/pfsense/en/latest/hardware/tune.html.

networking/tuning_and_troubleshooting_network_cards/intel_cards.txt · Last modified: 2021/07/09 09:56 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki