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

    pfSense VM on Proxmox: PPPoE only works when parent NIC is PCI passthrough — virtual NIC breaks LAN→WAN traffic

    Scheduled Pinned Locked Moved Plus 25.11 Snapshots
    48 Posts 4 Posters 760 Views 6 Watching
    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.
    • N Offline
      netblues @w0w
      last edited by

      @w0w
      All vlan configuration is handled at the hypervisor level.
      pf sees only virtual interfaces.

      Here is the output

      sysctl hw.vtnet
      hw.vtnet.altq_disable: 1
      hw.vtnet.lro_mbufq_depth: 0
      hw.vtnet.lro_entry_count: 128
      hw.vtnet.rx_process_limit: 1024
      hw.vtnet.tso_maxlen: 65535
      hw.vtnet.mq_max_pairs: 32
      hw.vtnet.mq_disable: 0
      hw.vtnet.lro_disable: 1
      hw.vtnet.tso_disable: 1
      hw.vtnet.fixup_needs_csum: 0
      hw.vtnet.csum_disable: 1
      
      ifconfig vtnet0
      vtnet0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
         options=880028<VLAN_MTU,JUMBO_MTU,LINKSTATE,HWSTATS>
         ether 52:54:00:05:01:fb
         inet 192.168.31.3 netmask 0xffffff00 broadcast 192.168.31.255
         inet6 fe80::5054:ff:fe05:1fb%vtnet0 prefixlen 64 scopeid 0x1
         media: Ethernet autoselect (10Gbase-T <full-duplex>)
         status: active
         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
      
      w0wW 2 Replies Last reply Reply Quote 0
      • w0wW Offline
        w0w @netblues
        last edited by

        @netblues
        I kinda screwed up… I forgot to mention that this ix0 is part of a LAGG interface, and the LAN itself is using that LAGG. This shouldn’t really affect anything, but I’ll check if that’s the issue. Also, I don’t remember changing any settings for this NIC on the host, I think I left it as is.

        1 Reply Last reply Reply Quote 0
        • w0wW Offline
          w0w
          last edited by

          Configured LAN to use ix0 directly — nothing changed.

          1 Reply Last reply Reply Quote 0
          • w0wW Offline
            w0w @netblues
            last edited by w0w

            @netblues said in pfSense VM on Proxmox: PPPoE only works when parent NIC is PCI passthrough — virtual NIC breaks LAN→WAN traffic:

            JUMBO_MTU

            Hmm… I don't see any jumbo settings on my vtnet interfaces, did you change something? VM setiings? Nonstandard MTU?

            Now I have configured it directly for both pppoe and LAN

            vtnet0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
            	options=880008<VLAN_MTU,LINKSTATE,HWSTATS>
            	ether a-
            	inet6 fe80::aab8:e0ff:fe02:655a%vtnet0 prefixlen 64 scopeid 0x5
            	media: Ethernet autoselect (10Gbase-T <full-duplex>)
            	status: active
            	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
            vtnet1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
            	description: LAN
            	options=880008<VLAN_MTU,LINKSTATE,HWSTATS>
            	ether a-
            	inet 10.0.67.2 netmask 0xffffff00 broadcast 10.0.67.255
            	inet 10.0.67.5 netmask 0xffffff00 broadcast 10.0.67.255 vhid 5
            	inet 10.0.70.5 netmask 0xffffff00 broadcast 10.0.70.255 vhid 10
            	inet 10.0.70.11 netmask 0xffffff00 broadcast 10.0.70.255
            	inet6 fe80::a236:9fff:fef8:f225%vtnet1 prefixlen 64 scopeid 0x6
            	inet6 fd00:1234:abcd:1::2 prefixlen 64
            	inet6 fd00:1234:abcd:1::5 prefixlen 64 vhid 12
            	carp: MASTER vhid 5 advbase 5 advskew 100
            	      peer 224.0.0.18 peer6 ff02::12
            	carp: MASTER vhid 10 advbase 5 advskew 100
            	      peer 224.0.0.18 peer6 ff02::12
            	carp: MASTER vhid 12 advbase 5 advskew 100
            	      peer 224.0.0.18 peer6 ff02::12
            	media: Ethernet autoselect (10Gbase-T <full-duplex>)
            	status: active
            	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
            

            Ok, I've changed MTU to 9000 in proxmox for the LAN card/bridge/vtnet

            vtnet1: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
            	description: LAN
            	options=880028<VLAN_MTU,JUMBO_MTU,LINKSTATE,HWSTATS>
            

            Still working for me… no problem.

            Proxmox settings for WAN parent

            :~# ethtool -k enp6s0f0
            Features for enp6s0f0:
            rx-checksumming: on
            tx-checksumming: on
                    tx-checksum-ipv4: off [fixed]
                    tx-checksum-ip-generic: on
                    tx-checksum-ipv6: off [fixed]
                    tx-checksum-fcoe-crc: on [fixed]
                    tx-checksum-sctp: on
            scatter-gather: on
                    tx-scatter-gather: on
                    tx-scatter-gather-fraglist: off [fixed]
            tcp-segmentation-offload: on
                    tx-tcp-segmentation: on
                    tx-tcp-ecn-segmentation: off [fixed]
                    tx-tcp-mangleid-segmentation: off
                    tx-tcp6-segmentation: on
                    tx-tcp-accecn-segmentation: off [fixed]
            generic-segmentation-offload: on
            generic-receive-offload: on
            large-receive-offload: off
            rx-vlan-offload: on
            tx-vlan-offload: on
            ntuple-filters: off
            receive-hashing: on
            highdma: on [fixed]
            rx-vlan-filter: on
            vlan-challenged: off [fixed]
            tx-gso-robust: off [fixed]
            tx-fcoe-segmentation: on [fixed]
            tx-gre-segmentation: on
            tx-gre-csum-segmentation: on
            tx-ipxip4-segmentation: on
            tx-ipxip6-segmentation: on
            tx-udp_tnl-segmentation: on
            tx-udp_tnl-csum-segmentation: on
            tx-gso-partial: on
            tx-tunnel-remcsum-segmentation: off [fixed]
            tx-sctp-segmentation: off [fixed]
            tx-esp-segmentation: on
            tx-udp-segmentation: on
            tx-gso-list: off [fixed]
            tx-nocache-copy: off
            loopback: off [fixed]
            rx-fcs: off [fixed]
            rx-all: off
            tx-vlan-stag-hw-insert: off [fixed]
            rx-vlan-stag-hw-parse: off [fixed]
            rx-vlan-stag-filter: off [fixed]
            l2-fwd-offload: off
            hw-tc-offload: off
            esp-hw-offload: on
            esp-tx-csum-hw-offload: on
            rx-udp_tunnel-port-offload: on
            tls-hw-tx-offload: off [fixed]
            tls-hw-rx-offload: off [fixed]
            rx-gro-hw: off [fixed]
            tls-hw-record: off [fixed]
            rx-gro-list: off
            macsec-hw-offload: off [fixed]
            rx-udp-gro-forwarding: off
            hsr-tag-ins-offload: off [fixed]
            hsr-tag-rm-offload: off [fixed]
            hsr-fwd-offload: off [fixed]
            hsr-dup-offload: off [fixed]
            

            LAN

             ethtool -k enp6s0f1
            Features for enp6s0f1:
            rx-checksumming: on
            tx-checksumming: on
                    tx-checksum-ipv4: off [fixed]
                    tx-checksum-ip-generic: on
                    tx-checksum-ipv6: off [fixed]
                    tx-checksum-fcoe-crc: on [fixed]
                    tx-checksum-sctp: on
            scatter-gather: on
                    tx-scatter-gather: on
                    tx-scatter-gather-fraglist: off [fixed]
            tcp-segmentation-offload: on
                    tx-tcp-segmentation: on
                    tx-tcp-ecn-segmentation: off [fixed]
                    tx-tcp-mangleid-segmentation: off
                    tx-tcp6-segmentation: on
                    tx-tcp-accecn-segmentation: off [fixed]
            generic-segmentation-offload: on
            generic-receive-offload: on
            large-receive-offload: off
            rx-vlan-offload: on
            tx-vlan-offload: on
            ntuple-filters: off
            receive-hashing: on
            highdma: on [fixed]
            rx-vlan-filter: on
            vlan-challenged: off [fixed]
            tx-gso-robust: off [fixed]
            tx-fcoe-segmentation: on [fixed]
            tx-gre-segmentation: on
            tx-gre-csum-segmentation: on
            tx-ipxip4-segmentation: on
            tx-ipxip6-segmentation: on
            tx-udp_tnl-segmentation: on
            tx-udp_tnl-csum-segmentation: on
            tx-gso-partial: on
            tx-tunnel-remcsum-segmentation: off [fixed]
            tx-sctp-segmentation: off [fixed]
            tx-esp-segmentation: on
            tx-udp-segmentation: on
            tx-gso-list: off [fixed]
            tx-nocache-copy: off
            loopback: off [fixed]
            rx-fcs: off [fixed]
            rx-all: off
            tx-vlan-stag-hw-insert: off [fixed]
            rx-vlan-stag-hw-parse: off [fixed]
            rx-vlan-stag-filter: off [fixed]
            l2-fwd-offload: off
            hw-tc-offload: off
            esp-hw-offload: on
            esp-tx-csum-hw-offload: on
            rx-udp_tunnel-port-offload: on
            tls-hw-tx-offload: off [fixed]
            tls-hw-rx-offload: off [fixed]
            rx-gro-hw: off [fixed]
            tls-hw-record: off [fixed]
            rx-gro-list: off
            macsec-hw-offload: off [fixed]
            rx-udp-gro-forwarding: off
            hsr-tag-ins-offload: off [fixed]
            hsr-tag-rm-offload: off [fixed]
            hsr-fwd-offload: off [fixed]
            hsr-dup-offload: off [fixed]
            
            N 1 Reply Last reply Reply Quote 0
            • N Offline
              netblues @w0w
              last edited by

              @w0w I see minor differences on the physical kvm interface, but I haven't done anything special, its at defaults.

              The mtu has been adjusted to 1508, but that can't be the issue. In any case, the brigded interfaces all use 1500 as mtu.

              As is, the same bridges are used at the same time by pfpls @25.07 pfplus @25.11rc and pfCE 2.8.1 with multiple pppoe connections over the same parent vlam.

              Only new rc fails to work as described above.

              ethtool -k enp1s0.31
              Features for enp1s0.31:
              rx-checksumming: off [fixed]
              tx-checksumming: on
                 tx-checksum-ipv4: off [fixed]
                 tx-checksum-ip-generic: on
                 tx-checksum-ipv6: off [fixed]
                 tx-checksum-fcoe-crc: off [requested on]
                 tx-checksum-sctp: off [requested on]
              scatter-gather: on
                 tx-scatter-gather: on
                 tx-scatter-gather-fraglist: off [requested on]
              tcp-segmentation-offload: on
                 tx-tcp-segmentation: on
                 tx-tcp-ecn-segmentation: on
                 tx-tcp-mangleid-segmentation: on
                 tx-tcp6-segmentation: on
              generic-segmentation-offload: on
              generic-receive-offload: on
              large-receive-offload: off [fixed]
              rx-vlan-offload: off [fixed]
              tx-vlan-offload: off [fixed]
              ntuple-filters: off [fixed]
              receive-hashing: off [fixed]
              highdma: on
              rx-vlan-filter: off [fixed]
              vlan-challenged: off [fixed]
              tx-gso-robust: off [fixed]
              tx-fcoe-segmentation: off [requested on]
              tx-gre-segmentation: off [requested on]
              tx-gre-csum-segmentation: off [requested on]
              tx-ipxip4-segmentation: off [requested on]
              tx-ipxip6-segmentation: off [requested on]
              tx-udp_tnl-segmentation: off [requested on]
              tx-udp_tnl-csum-segmentation: off [requested on]
              tx-gso-partial: off [fixed]
              tx-tunnel-remcsum-segmentation: off [fixed]
              tx-sctp-segmentation: on
              tx-esp-segmentation: off [fixed]
              tx-udp-segmentation: on
              tx-gso-list: on
              tx-nocache-copy: off
              loopback: off [fixed]
              rx-fcs: off [fixed]
              rx-all: off [fixed]
              tx-vlan-stag-hw-insert: off [fixed]
              rx-vlan-stag-hw-parse: off [fixed]
              rx-vlan-stag-filter: off [fixed]
              l2-fwd-offload: off [fixed]
              hw-tc-offload: off [fixed]
              esp-hw-offload: off [fixed]
              esp-tx-csum-hw-offload: off [fixed]
              rx-udp_tunnel-port-offload: off [fixed]
              tls-hw-tx-offload: off [fixed]
              tls-hw-rx-offload: off [fixed]
              rx-gro-hw: off [fixed]
              tls-hw-record: off [fixed]
              rx-gro-list: off
              macsec-hw-offload: off [fixed]
              rx-udp-gro-forwarding: off
              hsr-tag-ins-offload: off [fixed]
              hsr-tag-rm-offload: off [fixed]
              hsr-fwd-offload: off [fixed]
              hsr-dup-offload: off [fixed]
              
              ethtool -k enp1s0.835
              Features for enp1s0.835:
              rx-checksumming: off [fixed]
              tx-checksumming: on
              	tx-checksum-ipv4: off [fixed]
              	tx-checksum-ip-generic: on
              	tx-checksum-ipv6: off [fixed]
              	tx-checksum-fcoe-crc: off [requested on]
              	tx-checksum-sctp: off [requested on]
              scatter-gather: on
              	tx-scatter-gather: on
              	tx-scatter-gather-fraglist: off [requested on]
              tcp-segmentation-offload: on
              	tx-tcp-segmentation: on
              	tx-tcp-ecn-segmentation: on
              	tx-tcp-mangleid-segmentation: on
              	tx-tcp6-segmentation: on
              generic-segmentation-offload: on
              generic-receive-offload: on
              large-receive-offload: off [fixed]
              rx-vlan-offload: off [fixed]
              tx-vlan-offload: off [fixed]
              ntuple-filters: off [fixed]
              receive-hashing: off [fixed]
              highdma: on
              rx-vlan-filter: off [fixed]
              vlan-challenged: off [fixed]
              tx-gso-robust: off [fixed]
              tx-fcoe-segmentation: off [requested on]
              tx-gre-segmentation: off [requested on]
              tx-gre-csum-segmentation: off [requested on]
              tx-ipxip4-segmentation: off [requested on]
              tx-ipxip6-segmentation: off [requested on]
              tx-udp_tnl-segmentation: off [requested on]
              tx-udp_tnl-csum-segmentation: off [requested on]
              tx-gso-partial: off [fixed]
              tx-tunnel-remcsum-segmentation: off [fixed]
              tx-sctp-segmentation: on
              tx-esp-segmentation: off [fixed]
              tx-udp-segmentation: on
              tx-gso-list: on
              tx-nocache-copy: off
              loopback: off [fixed]
              rx-fcs: off [fixed]
              rx-all: off [fixed]
              tx-vlan-stag-hw-insert: off [fixed]
              rx-vlan-stag-hw-parse: off [fixed]
              rx-vlan-stag-filter: off [fixed]
              l2-fwd-offload: off [fixed]
              hw-tc-offload: off [fixed]
              esp-hw-offload: off [fixed]
              esp-tx-csum-hw-offload: off [fixed]
              rx-udp_tunnel-port-offload: off [fixed]
              tls-hw-tx-offload: off [fixed]
              tls-hw-rx-offload: off [fixed]
              rx-gro-hw: off [fixed]
              tls-hw-record: off [fixed]
              rx-gro-list: off
              macsec-hw-offload: off [fixed]
              rx-udp-gro-forwarding: off
              hsr-tag-ins-offload: off [fixed]
              hsr-tag-rm-offload: off [fixed]
              hsr-fwd-offload: off [fixed]
              hsr-dup-offload: off [fixed]
              
              ethtool -k enp1s0
              Features for enp1s0:
              rx-checksumming: on
              tx-checksumming: on
              	tx-checksum-ipv4: on
              	tx-checksum-ip-generic: off [fixed]
              	tx-checksum-ipv6: on
              	tx-checksum-fcoe-crc: off [fixed]
              	tx-checksum-sctp: off [fixed]
              scatter-gather: on
              	tx-scatter-gather: on
              	tx-scatter-gather-fraglist: off [fixed]
              tcp-segmentation-offload: on
              	tx-tcp-segmentation: on
              	tx-tcp-ecn-segmentation: off [fixed]
              	tx-tcp-mangleid-segmentation: off
              	tx-tcp6-segmentation: on
              generic-segmentation-offload: on
              generic-receive-offload: on
              large-receive-offload: off [fixed]
              rx-vlan-offload: on
              tx-vlan-offload: on
              ntuple-filters: off [fixed]
              receive-hashing: on
              highdma: on [fixed]
              rx-vlan-filter: on [fixed]
              vlan-challenged: off [fixed]
              tx-gso-robust: off [fixed]
              tx-fcoe-segmentation: off [fixed]
              tx-gre-segmentation: off [fixed]
              tx-gre-csum-segmentation: off [fixed]
              tx-ipxip4-segmentation: off [fixed]
              tx-ipxip6-segmentation: off [fixed]
              tx-udp_tnl-segmentation: off [fixed]
              tx-udp_tnl-csum-segmentation: off [fixed]
              tx-gso-partial: off [fixed]
              tx-tunnel-remcsum-segmentation: off [fixed]
              tx-sctp-segmentation: off [fixed]
              tx-esp-segmentation: off [fixed]
              tx-udp-segmentation: off [fixed]
              tx-gso-list: off [fixed]
              tx-nocache-copy: off
              loopback: off
              rx-fcs: off
              rx-all: off
              tx-vlan-stag-hw-insert: off
              rx-vlan-stag-hw-parse: on
              rx-vlan-stag-filter: on [fixed]
              l2-fwd-offload: off [fixed]
              hw-tc-offload: off [fixed]
              esp-hw-offload: off [fixed]
              esp-tx-csum-hw-offload: off [fixed]
              rx-udp_tunnel-port-offload: off [fixed]
              tls-hw-tx-offload: off [fixed]
              tls-hw-rx-offload: off [fixed]
              rx-gro-hw: off [fixed]
              tls-hw-record: off [fixed]
              rx-gro-list: off
              macsec-hw-offload: off [fixed]
              rx-udp-gro-forwarding: off
              hsr-tag-ins-offload: off [fixed]
              hsr-tag-rm-offload: off [fixed]
              hsr-fwd-offload: off [fixed]
              hsr-dup-offload: off [fixed]
              
              1 Reply Last reply Reply Quote 0
              • stephenw10S Online
                stephenw10 Netgate Administrator
                last edited by

                Can you ping across it with large packets?

                When ICMP passes and nothing else does it's usually either an MTU issue or some sort of asymmetric routing problem. But neither should have changed in 25.11.

                The packages widget issue is known: https://forum.netgate.com/topic/199375/zero-packages-install/

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

                  @stephenw10 Obviously yes

                  ping 8.8.4.4 -l 1472 -f

                  Pinging 8.8.4.4 with 1472 bytes of data:
                  Reply from 8.8.4.4: bytes=1472 time=14ms TTL=112
                  Reply from 8.8.4.4: bytes=1472 time=14ms TTL=112
                  Reply from 8.8.4.4: bytes=1472 time=14ms TTL=112
                  Reply from 8.8.4.4: bytes=1472 time=14ms TTL=112

                  Ping statistics for 8.8.4.4:
                  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
                  Approximate round trip times in milli-seconds:
                  Minimum = 14ms, Maximum = 14ms, Average = 14ms

                  And same config couldn't cause mtu issues imho too.

                  And this is a plain vanila config, only one wan one lan interface, no policy routing, nothing fancy

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S Online
                    stephenw10 Netgate Administrator
                    last edited by

                    Yup I agree it shouldn't. But PPPoE has always had MTU/MSS requirements and if_pppoe specifically had an MSS issue previously.

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