# tso rxcsum txcsum polling or -tso -rxcsum -txcsum -polling



## mystique (Apr 1, 2013)

Using a FreeBSD machine as a router connecting to a 'World Wide Packets' switch (L3 device. not my switch; my provider's).


```
em1: <Intel(R) PRO/1000 Legacy Network Connection 1.0.4> port 0xdcc0-0xdcff mem 0xfe5c0000-0xfe5dffff,0xfe5e0000-0xfe5fffff irq 16 at device 0.0 on pci3

em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=2098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>

em0: <Intel(R) PRO/1000 Network Connection 7.3.2> port 0xecc0-0xecdf mem 0xfe9e0000-0xfe9fffff,0xfe9db000-0xfe9dbfff irq 21 at device 25.0 on pci0

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=52098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO>
```

em1 is directly connected interface.

With [cmd=]ifconfig em1 polling[/cmd] set, the latency is terrible; in the 8-12k ms ping time range.

[cmd=]ifconfig em1 -polling[/cmd] drops back down to zero. I have disabled tso, rxcsum, txcsum as well and noticed an improvement.

My question is: other than the obvious "I am no longer dropping packets; I am happy" should I be working towards getting them to fix their equipment?  Is it really a problem that their device does not like my rxcsum/txcsum/tso/polling settings?


----------



## kpa (Apr 1, 2013)

Don't use polling. I'm pretty sure it's not a good idea on modern hardware that has a PCIe bus and uses MSI(x) interrupts.


----------

