FreeBSD network tuning for KVM

ifconfig_vtnet0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx -rxcsum -txcsum -rxcsum6 -txcsum6 -lro -tso"

The above line is taken from /etc/rc.conf. “vtnet0” is the interface description for a virtIO device, on Hyper-V it is named “hn0”.

-rxcsum-/txcsum: disable Rx/Tx Checksum Offloading
-lro: disable TCP Large Receive Offloading
-tso: disable TCP Segmentation Offloading

The parameters above disable hardware offloading to the network card, this may increase CPU usage but some cards are simply not powerful enough to handle high traffic and some hypervisors are not 100% compatible with these settings.