[SOLVED] slow network performance with OPNsense on proxmox and e1000e NIC

Started by daudo, March 30, 2020, 09:53:31 PM

Previous topic - Next topic
Hi,

I run OPNsense 20.1 in a proxmox 6.1 virtualized environment on a GA-IMB310TN mainboard with two on board Intel NICs.

Unfortunately, my WAN download speed refused to exceed 12 or 13Mbit, usually it was even lower, despite my 200Mbit uplink speed.

I've tried a lot of things, changing drivers from virtio to e1000e, PCI passthru of the physical NIC, FreeBSD tuning guides and a lot more, all to no avail.

After days of trial and error testing I finally found a solution, maybe it will help someone in the same situation:

The trick is to disable hardware checksum offload and hardware TCP segmentation offload on the physical linux (=proxmox) side as well.

This can be done by changing the WAN bridge configuration in /etc/network/interfaces in proxmox like this:

auto vmbr1
iface vmbr1 inet manual
        bridge_stp off
        bridge_fd 0
        bridge_ports eno1
        pre-up ethtool -G eno1 rx 1024 tx 1024
        pre-up ethtool -K eno1 tx off gso off
        post-up ethtool -K vmbr1 tx off gso off
#uplink


As you see, the settings are made both for the bridge vmbr1 and the physical device eno1. The eno1 NIC is a Intel Corporation Ethernet Connection (7) I219-V, controlled by the e1000e driver. No idea if the same applies to other hardware, too. To be honest, I've actually never had a problem like this even though I have virtualized a lot of OPNsense installations.

All the credits for this nice workaround go to this subreddit: https://www.reddit.com/r/PFSENSE/comments/842unp/having_an_issue_with_virtualized_pfsense_speeds/

Cheers