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
    51 Posts 4 Posters 772 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.
    • w0wW Offline
      w0w @stephenw10
      last edited by w0w

      @stephenw10
      I’ve been running LAGGs in failover mode for years on literally every interface. This makes things simpler for HA and also for hardware changes.

      In any case, when it wasn’t working, I tried every option—LAGG, direct connection, everything. I’m actually surprised it’s working now.

      N 1 Reply Last reply Reply Quote 1
      • N Online
        netblues @w0w
        last edited by

        I have also tried q35 and uefi boot.
        The issue remains.
        Booting to anything lese than the last two beta/rc releases , with the same config works correctly.

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

          @netblues
          I can't explain this. So you are using PPPoE (over vtnet) and clients on LAN can not reach internet?

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

            @w0w Yes.
            And at the same time, clients on the same hypervisor, bound to the same bridge to lan, using virtio, can reach the Internet fine.

            Also clients on the physical lan, can ping the Internet over pppoe.

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

              I was able to reproduce this bug: I installed 25.07.1, restored the configuration, verified that LAN clients had Internet access, and then upgraded to the latest RC. After the upgrade, the clients no longer had Internet access.
              That's fun...

              N 1 Reply Last reply Reply Quote 1
              • N Online
                netblues @w0w
                last edited by

                @w0w And most peobably can only ping too

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

                  @netblues
                  Yes, like only ICMP working

                  N 1 Reply Last reply Reply Quote 1
                  • N Online
                    netblues @w0w
                    last edited by

                    @w0w So we definitely have an issue here. It can't be a configuration issue, and certainly NOT a firewall rules issue.
                    But I remain clueless where to look. (Besides the fact that I need to revert for practical reasons, and running another pf plus vm in parallel for testing has licensing issues too)

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

                      @netblues
                      I dug a bit deeper. I compared the system that was installed from scratch with the one that was upgraded. Of course, things went a bit sideways, but overall there are noticeable differences in both libraries and some binaries, which raises some questions — although in general this could simply be a consequence of the FreeBSD version upgrade.
                      By the way, have you tried installing it using the Netgate installer?

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

                        @w0w So you say that by doing a clean default install with netgate installer AND restoring the config would work in latest RC?

                        Can't check this right now, someone might shoot me and it would be netgates fault 😱

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

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

                          So you say that by doing a clean default install with netgate installer AND restoring the config would work in latest RC?

                          It worked once at least, but I didn’t try it again 😊

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

                            @w0w Brewing... I know in a while

                            Nada. Issue remains the same. I installed directly into latest rc 25.11.r.20251126.1732
                            and restored config.

                            Only ping over pppoe.

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

                              @netblues

                              ok… thats interesting…

                              ifconfig vtnet0 -rxcsum -txcsum -rxcsum6 -txcsum6 -vlanhwtag -vlanhwcsum
                              

                              Try this on LAN interface. Hope this works for you...

                              I just compared ifconfig output for both working and non working VMs and looks like working VM on every interface have options=880008<VLAN_MTU,LINKSTATE,HWSTATS>
                              So I applied it to the pppoe parent - still no go... and then I've tried LAN interface and it worked for me.

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

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

                                ifconfig vtnet0 -rxcsum -txcsum -rxcsum6 -txcsum6 -vlanhwtag -vlanhwcsum

                                Tried that.. Still , no dice. :(

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

                                  @netblues
                                  Please show your ifconfig output for LAN and pppoe parent interface.

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

                                    @w0w I have now created a fresh default install
                                    Directly install 25.11rc from netgate installer , configured everything by the gui just for a single lan, and a single pppoe connection.

                                    Automatic outbound nat etc. No changes anywhere

                                    ping works, everything else on physical lan fails (miserably)
                                    pfsense (and anything on virtual) can install packages, and has full Internet

                                    have tried disabling checksums too. No dice

                                    ifconfig vtnet1
                                    vtnet1: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
                                       description: WAN
                                       options=8800a8<VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,LINKSTATE,HWSTATS>
                                       ether d4:5d:64:08:66:46
                                       inet6 fe80::d65d:64ff:fe08:6646%vtnet1 prefixlen 64 scopeid 0x2
                                       media: Ethernet autoselect (10Gbase-T <full-duplex>)
                                       status: active
                                       nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                    
                                    pppoe0: flags=10088d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1492
                                       description: Ftth1G
                                       options=0
                                       inet 100.79.101.245 --> 10.106.108.100 netmask 0xffffffff
                                       inet6 fe80::d65d:64ff:fe08:6646%pppoe0 prefixlen 64 scopeid 0x7
                                       nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                    

                                    As a side note, when restoring configuration to a fresh install 25.11rc, all packages got reinstalled, however the widget says no packages.
                                    I have tried removing it and adding again. Nada.
                                    Tried adding a new package (from gui), package got installed the widget insists. No packages installed.

                                    Steps to reproduce. Install fresh pfplus 25.11rc, restore config that has package widget and some packages, wait for the packages reinstallation, and voila !

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

                                      @netblues
                                      You forgot to show your ifconfig LAN output.

                                      loader.conf.local (you need to reboot after making changes)

                                      hw.vtnet.altq_disable=1
                                      hw.vtnet.tso_disable=1
                                      hw.vtnet.csum_disable=1
                                      

                                      LAN

                                      ix0: flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
                                      	options=4813828<VLAN_MTU,JUMBO_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,HWSTATS,MEXTPG>
                                      	ether a0:3------25
                                      	inet6 fe80::aab8:e0ff:fe02:655a%ix0 prefixlen 64 scopeid 0x1
                                      	media: Ethernet autoselect (10Gbase-T <full-duplex>)
                                      	status: active
                                      	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                      

                                      WAN parent

                                      vtnet0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
                                      	options=880008<VLAN_MTU,LINKSTATE,HWSTATS>
                                      	ether a-----:24
                                      	inet6 fe80::aab8:e0ff:fe02:655a%vtnet0 prefixlen 64 scopeid 0x6
                                      	media: Ethernet autoselect (10Gbase-T <full-duplex>)
                                      	status: active
                                      	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                      

                                      Shell 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
                                      

                                      Side note — if you have vlans on LAN you should not use -vlanhwtag posted previously, this will break vlans

                                      N 1 Reply Last reply Reply Quote 0
                                      • N Online
                                        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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.