Kvm pfSense 100Mbps instead of gigabit
-
Hello,
The image below represents the diagram of my home network.
As you can tell from the title, my issue is that the internet speed is limited to ~100Mbps whet it should actually be close to gigabit.
My host runs Ubuntu Server 20.04.
My Wan NIC:
*-network description: Ethernet interface product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:02:00.0 logical name: enp2s0 version: 07 serial: xx:xx:xx:xx:xx:xx size: 1Gbit/s capacity: 1Gbit/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8168 driverversion=8.049.02-NAPI duplex=full latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s resources: irq:126 ioport:e000(size=256) memory:a1200000-a1200fff memory:80100000-80103fff
Settings for enp2s0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Cannot get wake-on-lan settings: Operation not permitted Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes
My Lan NIC:
*-network:11 description: Ethernet interface physical id: c bus info: usb@2:1 logical name: enx3c18a0c186cd serial: yy:yy:yy:yy:yy:yy size: 1Gbit/s capacity: 1Gbit/s capabilities: ethernet physical mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v2.15.0 (2021/04/15) duplex=full link=yes multicast=yes port=MII speed=1Gbit/s
Settings for enx3c18a0c186cd: Supported ports: [ MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: MII PHYAD: 32 Transceiver: internal Auto-negotiation: on Cannot get wake-on-lan settings: Operation not permitted Current message level: 0x00007fff (32767) drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol Link detected: yes
This is the command I used to create the VM and install pfSense:
virt-install --virt-type qemu --name pfsense --ram 2048 --vcpus 2 \ --cdrom=/home/marius_herta/pfSense/pfSense-CE-2.6.0-RELEASE-amd64.iso \ --disk /home/marius_herta/kvm/images/pfsense.qcow2,bus=virtio,size=10,format=qcow2 \ --network default \ --network bridge=virbr1,model=virtio \ --network bridge=virbr2,model=virtio \ --graphics vnc,listen=0.0.0.0 --noautoconsole \ --os-type=linux --os-variant=freebsd12.0
These are the host's network settings:
GNU nano 4.8 /etc/netplan/00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: enp2s0: dhcp4: false optional: true enx3c18a0c186cd: dhcp4: false optional: true enx28ee521a7bde: dhcp4: false optional: true version: 2 bridges: virbr1: interfaces: - enp2s0 virbr2: interfaces: - enx3c18a0c186cd addresses: - 192.168.3.34/24 gateway4: 192.168.3.1 mtu: 1500 nameservers: addresses: - 8.8.8.8 - 8.8.4.4
I ran the following tests:
- I connected a laptop directly to the modem and the test result in speedtest.net was ~900Mbps
- I ran speedtest cli on the host and the test result was ~95Mbps
- I tested both A and B cables (cat 6) with iperf3 and the bitrate was ~950Mbps (the test method was connecting the cables between two Raspberry Pis 4B)
- I replaced the modem with a Raspberry Pi 4B and the result of the iperf3 test between the Pi and the host was ~100Mbps
- I connected a laptop to the AP and the iperf3 test result between the laptop and the host was ~950Mbps
- Tests on speedtest.net with different devices connected by wire or wifi to the AP resulted in internet speeds between 90-100Mbps
In the past, I used to have a Raspberry Pi 4B, with OpenWRT on it, instead of the host (same cables, modem and AP) and I had connection speeds close to gigabit.
Please help.
-
@marius_herta
Did you disable Hardware Checksum Offloading?
System > Advanced > Networking > Hardware Checksum Offloading -
@viragomann Yes, I tried with Hardware Checksum Offloading both enabled and disabled but it didn't make any difference.
-
@marius_herta
It has to be checked, when running on KVM. Save it and reboot the VM. -
@viragomann I did that, I rebooted between enabling/disabling it, but the speed was still ~95Mbps regardless of whether it was enabled or disabled.
-
@marius_herta said in Kvm pfSense 100Mbps instead of gigabit:
I ran speedtest cli on the host and the test result was ~95Mbps
I replaced the modem with a Raspberry Pi 4B and the result of the iperf3 test between the Pi and the host was ~100MbpsDid you run this tests on the host itself or on a VM behind pfSense.
Your LAN NIC is an USB device. Such devices can make much troubles. But that shouldn't be involved in above tests if you did it on the host.
-
@viragomann I did the tests on the host which connects to the internet through pfSense. I don't have other VMs besides the pfSense one.
-
@marius_herta
So I would run speedtest cli on the host bare metal to see I it's issue with pfSense. -
@viragomann I followed your suggestion and this was the result:
Speedtest by Ookla Server: RCS & RDS - Bucharest (id = 11494) ISP: Digi Romania Latency: 1.78 ms (0.17 ms jitter) Download: 923.89 Mbps (data used: 439.6 MB ) Upload: 938.74 Mbps (data used: 446.1 MB ) Packet Loss: 0.0% Result URL: https://www.speedtest.net/result/c/f16b7674-c007-4053-b9fb-562bfca3ad89
-
@marius_herta
No idea, what else should be wrong in pfSense.On my installation I get full 1 Gb/s speed through pfSense running on KVM with virtIO NICs.
I still doubt that's an issue with your pfSense.
-
@marius_herta said in Kvm pfSense 100Mbps instead of gigabit:
I ran speedtest cli on the host and the test result was ~95Mbps
Well, since the test is with the host, and pfsense is not involved, why it is a pfsense issue.
(Unless you mean something else)
In any case I would steer clear of anything usb.
even if it works, its totaly unreliable on the long run, since unpluggin it, or moving port would "make" new interfaces.. -
Well, since the test is with the host, and pfsense is not involved, why it is a pfsense issue.
The host connects to the internet through the pfSense VM.