Last weekend I upgraded our pfSense 2.5.2-RELEASE Hyper-V VM appliances to the new pfSense version 2.6.0-RELEASE. One VM was configured with OpenVPN for external clients and one VM was to establish an IPsec VPN Tunnel between our datacenter network and the headquarter network.


On both VMs the VPN tunnel performance after the upgrade was terrible and just a few kilobytes up- and download rate.


A quick internet research shows me the following pages about the issue.

After Upgrade inter (V)LAN communication is very slow (on Hyper-V)
https://forum.netgate.com/topic/169884/after-upgrade-inter-v-lan-communication-is-very-slow-on-hyper-v/39?lang=en-US

Slow Network Speed with Hyper-V Virtual Machines on Windows Server Server 2019
https://www.doitfixit.com/blog/2020/01/15/slow-network-speed-with-hyper-v-virtual-machines-on-windows-server-server-2019/

freebsd 12.3 / pfsense 2.6 on hyper-v with low throughput
https://blog.nuvotex.de/pfsense-2-6-on-hyper-v-with-low-throughput/


In a nutshell, a new feature in Windows Server 2019 introduced and enabled by default, also in Windows Server 2022, called Receive Segment Coalescing (RSC) was the issue.

Actually the issue isn’t related directly to pfSense but FreeBSD 12.3 which is used by pfSense 2.6.0. In FreeBSD 12.3 rsc offloading is enabled by default. The issue is known and will be fixed in new releases.

added changes for rsc handler
https://reviews.freebsd.org/D34507


Meanwhile as workaround you have to disable RSC on the virtual switch from Hyper-V.

First you can check if RSC is enabled on the virtual switch
Get-VMSwitch -Name <vSwitchName> | Select-Object *RSC*

If so you can disable RSC as follows
Set-VMSwitch -Name <vSwitchName> -EnableSoftwareRsc $false


No restart from the Hyper-V Host or Guest is necessary, in my case the performance after disabling RSC was immediately like before the upgrade to pfSense 2.6.0 resp. FreeBSD 12.3.


Links

After Upgrade inter (V)LAN communication is very slow (on Hyper-V)
https://forum.netgate.com/topic/169884/after-upgrade-inter-v-lan-communication-is-very-slow-on-hyper-v/39?lang=en-US

Slow Network Speed with Hyper-V Virtual Machines on Windows Server Server 2019
https://www.doitfixit.com/blog/2020/01/15/slow-network-speed-with-hyper-v-virtual-machines-on-windows-server-server-2019/

freebsd 12.3 / pfsense 2.6 on hyper-v with low throughput
https://blog.nuvotex.de/pfsense-2-6-on-hyper-v-with-low-throughput/