Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Kvm pfSense 100Mbps instead of gigabit

    Scheduled Pinned Locked Moved Virtualization
    12 Posts 3 Posters 2.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      marius_herta
      last edited by marius_herta

      Hello,

      The image below represents the diagram of my home network.
      network.png

      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
      

      interfaces.png

      I ran the following tests:

      1. I connected a laptop directly to the modem and the test result in speedtest.net was ~900Mbps
      2. I ran speedtest cli on the host and the test result was ~95Mbps
      3. 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)
      4. I replaced the modem with a Raspberry Pi 4B and the result of the iperf3 test between the Pi and the host was ~100Mbps
      5. I connected a laptop to the AP and the iperf3 test result between the laptop and the host was ~950Mbps
      6. 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.

      V N 3 Replies Last reply Reply Quote 0
      • V
        viragomann @marius_herta
        last edited by

        @marius_herta
        Did you disable Hardware Checksum Offloading?
        System > Advanced > Networking > Hardware Checksum Offloading

        M 1 Reply Last reply Reply Quote 0
        • M
          marius_herta @viragomann
          last edited by

          @viragomann Yes, I tried with Hardware Checksum Offloading both enabled and disabled but it didn't make any difference.

          V 1 Reply Last reply Reply Quote 0
          • V
            viragomann @marius_herta
            last edited by

            @marius_herta
            It has to be checked, when running on KVM. Save it and reboot the VM.

            M 1 Reply Last reply Reply Quote 0
            • M
              marius_herta @viragomann
              last edited by

              @viragomann I did that, I rebooted between enabling/disabling it, but the speed was still ~95Mbps regardless of whether it was enabled or disabled.

              1 Reply Last reply Reply Quote 0
              • V
                viragomann @marius_herta
                last edited by

                @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 ~100Mbps

                Did 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.

                M 1 Reply Last reply Reply Quote 0
                • M
                  marius_herta @viragomann
                  last edited by

                  @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.

                  V 1 Reply Last reply Reply Quote 0
                  • V
                    viragomann @marius_herta
                    last edited by

                    @marius_herta
                    So I would run speedtest cli on the host bare metal to see I it's issue with pfSense.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      marius_herta @viragomann
                      last edited by

                      @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
                      
                      
                      V 1 Reply Last reply Reply Quote 0
                      • V
                        viragomann @marius_herta
                        last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • N
                          netblues @marius_herta
                          last edited by

                          @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..

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            marius_herta @netblues
                            last edited by

                            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.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.