Slower Speeds with IPFire Configuration on Virtual Machine with Directly Passed Through Network Cards

Hi everyone,

I’d like to share my setup with IPFire on a virtual machine hosted on Unraid. Hopefully, someone here might have experience or ideas to help me with my issue.

My configuration includes:

  • A Unraid KVM machine with 8GB RAM and 4 CPUs, directly passed through
  • Two Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15) network cards, passed through by the Unraid virtualization system
  • Symmetrical 1GB/s internet connection

After configuring IPFire, everything seems to be working fine, but I’ve noticed that the upload and download speeds are lower than what I had with my previous standard router.

I’ve tried toggling QoS / IPS on and off, but the speeds remain lower than expected.

Has anyone had experience with a similar setup, running IPFire on a virtual machine with directly passed through network cards? Are there any specific settings I should try to improve speeds?

I’m also wondering if the issue might be related to the Realtek network cards, or if it’s worth considering swapping them out for Intel cards?

I’d appreciate any tips or experiences that could help me troubleshoot this problem.

Thanks!

probably Intel card with SR-IOV is better option, at least in many enterprise environment I worked on, SR-IOV is recommended than direct pass through. also tcpdump capture could be helpful to identify where the slow down happens.

You might consider temporarily disabling NIC offloading features to see if it helps. For general info about offloading, see for example:

(I was only permitted 2 links in previous post.)
For permanant disabling, perhaps use appropriate commands inside rc.local?

Just some thoughts. Not an expert.