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

    pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue

    Scheduled Pinned Locked Moved L2/Switching/VLANs
    247 Posts 7 Posters 85.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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      That should work fine. You do have spare NICs so you could try other setups like putting VLANs 20 and 30 on ix1 and running a second link to the switch. But it should work as you have it now in 22.05.

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

        @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

        That should work fine. You do have spare NICs so you could try other setups like putting VLANs 20 and 30 on ix1 and running a second link to the switch. But it should work as you have it now in 22.05.

        I think I can repurpose another mini pc that uses igb and em drivers(for a few hours). But I will need some time to save my work. Then just to understand what it will prove:

        1. If it works on another machine with other type of NICs then it's not the switch.
        2. If it doesn't it means it's the switch?
          I'm trying to double check with you on this, to make sure this will not be in vain, because what I see here https://github.com/pfsense/FreeBSD-src/commit/9c762cc125c0c2dae9fbf49cc526bb97c14b54a4 is that the fix is also for igb and em drivers.
        1 Reply Last reply Reply Quote 0
        • stephenw10S
          stephenw10 Netgate Administrator
          last edited by

          Yes if the switch is really tagging the traffic with VLAN0 it should fail using any NIC/driver in 22.05.

          Though as I understand it we also saw that when the switch was removed entirely and the AP was connected directly to pfSense. Which is hard to explain.

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

            @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

            Yes if the switch is really tagging the traffic with VLAN0 it should fail using any NIC/driver in 22.05.

            Though as I understand it we also saw that when the switch was removed entirely and the AP was connected directly to pfSense. Which is hard to explain.

            Yes, that's correct, that was one of the test you asked me to do. The AP was connected directly to pfSense. That's why I don't know what to say, if it's the switch or not. If I understood it corectly @johnpoz has almost the same switch as mine and also the same AP ( Flex HD) and he did not encounter any issues. I don't know if he had a board that used ix driver. Other then that he has 2 of my possible ofending devices.

            johnpozJ 1 Reply Last reply Reply Quote 0
            • johnpozJ
              johnpoz LAYER 8 Global Moderator @NRgia
              last edited by

              @nrgia yeah I had no issues with vlans, and a native vlan as well. Both with port qos and 802.1p.

              Only difference is yeah my switch is a bit different, baby sister to your switch. And mine is downstream of another switch that could be stripping the vlan 0??

              But if you said you plugged the AP directly into the interface on pfsense, that kind of rules out the switch.

              This is a odd one for sure.. tmrw I could plug my AP directly into a port on pfsense, its just on a ix interface its a igb interface.

              An intelligent man is sometimes forced to be drunk to spend time with his fools
              If you get confused: Listen to the Music Play
              Please don't Chat/PM me for help, unless mod related
              SG-4860 24.11 | Lab VMs 2.8, 24.11

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

                Mmm, because we also saws the vlan0 tags when we removed the access point and just used the switch.
                That implies it's either not the AP or the switch or that it's both devices doing it. Which seems unlikely!

                1 Reply Last reply Reply Quote 0
                • N
                  NRgia
                  last edited by NRgia

                  @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

                  Mmm, because we also saws the vlan0 tags when we removed the access point and just used the switch.
                  That implies it's either not the AP or the switch or that it's both devices doing it. Which seems unlikely!

                  I got news. @stephenw10 and @johnpoz
                  I installed pfSense 22.05 on the another mini PC that has 2 NICS that uses igb and em drivers.

                  This is some info from ifconfig:

                  [22.05-RELEASE][root@Entaro.Blueshift]/root: ifconfig
                  igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                          description: LAN
                          options=8100b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER>
                          ether 80:ee:73:bb:0e:55
                          inet6 fe80::82ee:73ff:febb:e55%igb0 prefixlen 64 scopeid 0x1
                          inet 172.18.0.12 netmask 0xfffe0000 broadcast 172.19.255.255
                          media: Ethernet autoselect (1000baseT <full-duplex>)
                          status: active
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
                          description: WAN
                          options=812098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER>
                          ether 80:ee:73:bb:0e:54
                          inet6 fe80::82ee:73ff:febb:e54%em0 prefixlen 64 scopeid 0x2
                          inet ************* netmask 0xfffff800 broadcast ***************
                          media: Ethernet autoselect (1000baseT <full-duplex>)
                          status: active
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  enc0: flags=0<> metric 0 mtu 1536
                          groups: enc
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
                          options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
                          inet6 ::1 prefixlen 128
                          inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
                          inet 127.0.0.1 netmask 0xff000000
                          inet 10.10.10.21 netmask 0xffffffff
                          groups: lo
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  pfsync0: flags=0<> metric 0 mtu 1500
                          groups: pfsync
                  pflog0: flags=100<PROMISC> metric 0 mtu 33160
                          groups: pflog
                  igb0.20: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                          description: IoT
                          ether 80:ee:73:bb:0e:55
                          inet6 fe80::82ee:73ff:febb:e55%igb0.20 prefixlen 64 scopeid 0x9
                          inet 192.168.10.1 netmask 0xffffffc0 broadcast 192.168.10.63
                          groups: vlan
                          vlan: 20 vlanpcp: 0 parent interface: igb0
                          media: Ethernet autoselect (1000baseT <full-duplex>)
                          status: active
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  igb0.30: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                          description: GuestNetwork
                          ether 80:ee:73:bb:0e:55
                          inet6 fe80::82ee:73ff:febb:e55%igb0.30 prefixlen 64 scopeid 0xa
                          inet 192.168.20.1 netmask 0xffffffc0 broadcast 192.168.20.63
                          groups: vlan
                          vlan: 30 vlanpcp: 0 parent interface: igb0
                          media: Ethernet autoselect (1000baseT <full-duplex>)
                          status: active
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                  ovpns1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
                          options=80000<LINKSTATE>
                          inet6 fe80::82ee:73ff:febb:e55%ovpns1 prefixlen 64 scopeid 0xb
                          inet 10.0.8.1 --> 10.0.8.2 netmask 0xffffff00
                          groups: tun openvpn
                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                          Opened by PID 59956
                  
                  

                  Now a tcpdump from pfSense igb0 - the new LAN interface with NATIVE, VLAN20 and VLAN30
                  pfsense_lan_tcpdump_new_machine.txt

                  Everything works, every WLAN, every VLAN, any host. No problem whatsoever.

                  Conclusions please guys

                  Tell me @stephenw10 if you need a tcpdump via the monitor port also.

                  Thank you

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

                    Did you import the config or configure it from scatch?

                    N 2 Replies Last reply Reply Quote 0
                    • N
                      NRgia @stephenw10
                      last edited by NRgia

                      @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

                      Did you import the config or configure it from scatch?

                      Imported the config during install phase, pfSense only asked to reconfigure the VLANs, the LAN and WAN interface, due to Interface mismatch.

                      Also I updated from 2.6.0->22.05. There is no update to 22.01 no more. I am afraid now to update the other box, due to the fact I cannot revert to 22.01.

                      Do you need any more tests from the new machine? I would like to revert it to it's initial use.

                      Do you think that if I reconfigure the interfaces on the previous machine will solve anything? This was the only thing I did on the new box, when asked by pfSense setup.

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

                        @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

                        Did you import the config or configure it from scatch?

                        Let me show you another thing.
                        I will explain first. Every time I restarted pfSense on the new box the previous VLANs remained also, even if I specified the new ones. This triggered interface mismatch on each restart.

                        On ifconfig I found this:

                        [22.05-RELEASE][root@Entaro.Blueshift]/root: ifconfig
                        igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                description: LAN
                                options=8100b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER>
                                ether 80:ee:73:bb:0e:55
                                inet6 fe80::82ee:73ff:febb:e55%igb0 prefixlen 64 scopeid 0x1
                                inet 172.18.0.12 netmask 0xfffe0000 broadcast 172.19.255.255
                                groups: DNS_Networks
                                media: Ethernet autoselect (1000baseT <full-duplex>)
                                status: active
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                description: WAN
                                options=812098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER>
                                ether 80:ee:73:bb:0e:54
                                inet6 fe80::82ee:73ff:febb:e54%em0 prefixlen 64 scopeid 0x2
                                inet ************ netmask 0xfffff800 broadcast *****************
                                media: Ethernet autoselect (1000baseT <full-duplex>)
                                status: active
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        enc0: flags=0<> metric 0 mtu 1536
                                groups: enc
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
                                options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
                                inet6 ::1 prefixlen 128
                                inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
                                inet 127.0.0.1 netmask 0xff000000
                                inet 10.10.10.21 netmask 0xffffffff
                                groups: lo
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        pfsync0: flags=0<> metric 0 mtu 1500
                                groups: pfsync
                        pflog0: flags=100<PROMISC> metric 0 mtu 33160
                                groups: pflog
                        ix2.20: flags=8003<UP,BROADCAST,MULTICAST> metric 0 mtu 1500
                                ether 00:00:00:00:00:00
                                inet6 fe80::82ee:73ff:febb:e55%ix2.20 prefixlen 64 tentative scopeid 0x7
                                groups: vlan
                                vlan: 0 vlanpcp: 0 parent interface: <none>
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        ix2.30: flags=8003<UP,BROADCAST,MULTICAST> metric 0 mtu 1500
                                ether 00:00:00:00:00:00
                                inet6 fe80::82ee:73ff:febb:e55%ix2.30 prefixlen 64 tentative scopeid 0x8
                                groups: vlan
                                vlan: 0 vlanpcp: 0 parent interface: <none>
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        igb0.20: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                description: IoT
                                ether 80:ee:73:bb:0e:55
                                inet6 fe80::82ee:73ff:febb:e55%igb0.20 prefixlen 64 scopeid 0x9
                                inet 192.168.10.1 netmask 0xffffffc0 broadcast 192.168.10.63
                                groups: vlan DNS_Networks
                                vlan: 20 vlanpcp: 0 parent interface: igb0
                                media: Ethernet autoselect (1000baseT <full-duplex>)
                                status: active
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        igb0.30: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                description: GuestNetwork
                                ether 80:ee:73:bb:0e:55
                                inet6 fe80::82ee:73ff:febb:e55%igb0.30 prefixlen 64 scopeid 0xa
                                inet 192.168.20.1 netmask 0xffffffc0 broadcast 192.168.20.63
                                groups: vlan DNS_Networks
                                vlan: 30 vlanpcp: 0 parent interface: igb0
                                media: Ethernet autoselect (1000baseT <full-duplex>)
                                status: active
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                        ovpns1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
                                options=80000<LINKSTATE>
                                inet6 fe80::82ee:73ff:febb:e55%ovpns1 prefixlen 64 scopeid 0xb
                                inet 10.0.8.1 --> 10.0.8.2 netmask 0xffffff00
                                groups: tun openvpn
                                nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                Opened by PID 59956
                        
                        

                        Look what vlan number is assigned to ix2.20, and ix2.30 (2 unexisting vlans).

                        After I deleted them, from the GUI->>Interfaces/VLANs there was no interface mismatch anymore.

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

                          Hmm, well either the igb driver is still stripping the tags or the ix driver is somehow adding them, but only for you... 🤔
                          We know that the igb/em driver doesn't pass vlan0 correctly because the ISPs that require it fail in 22.01 and 22.05. But it drops the packets rather than strips the tags.

                          Are you able to upload your config or status file from the Supermicro for us to review?

                          Steve

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

                            @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

                            Hmm, well either the igb driver is still stripping the tags or the ix driver is somehow adding them, but only for you... 🤔
                            We know that the igb/em driver doesn't pass vlan0 correctly because the ISPs that require it fail in 22.01 and 22.05. But it drops the packets rather than strips the tags.

                            Are you able to upload your config or status file from the Supermicro for us to review?

                            Steve

                            What is the "Status file" ?

                            I can provide the config to you guys, but only somewhere private. Can I exclude the passwords for OPENVPN and such by editing? Or it will be useless ? I will do whatever you ask, if you think we can solve this :)

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

                              The status_output file is a collection of redacted status and config data we use in support. You can get it by directly visiting the page: https://<your firewall IP>/status.php There is no link to it in the GUI.
                              The config included in that cannot be restored and tested as it's too heavily redacted so if you can include a separate config file, with whatever you need to remove removed, that will be very helpful.

                              You can upload files here: https://nc.netgate.com/nextcloud/s/QRNR6pPR2AmX6sN

                              Steve

                              N 2 Replies Last reply Reply Quote 0
                              • N
                                NRgia @stephenw10
                                last edited by NRgia

                                @stephenw10
                                Uploaded the files.
                                They're named:

                                1. "nrgia_super_micro_status_output.tar.gz"
                                2. "nrgia_supermicro_config-today-20220708193221.xml" - the config file

                                If something is missing due to editing, please let me know, and I can upload it again.

                                I hope all it's good in the config. I will wait for your conclusions.
                                Thank you

                                1 Reply Last reply Reply Quote 1
                                • N
                                  NRgia @stephenw10
                                  last edited by

                                  @stephenw10
                                  Sorry to bother you, did you had time to look over those files? Or, more time is needed? I can wait, no worries.
                                  Thank you

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

                                    Sorry I haven't had time yet. I should be able to review that shortly....

                                    N 2 Replies Last reply Reply Quote 0
                                    • N
                                      NRgia @stephenw10
                                      last edited by

                                      @stephenw10
                                      take your time
                                      Thank you

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

                                        @stephenw10
                                        Investigating the config file was indeed a good idea, and, in the end I found the culprit.
                                        It's not pfSense, it's the Driver

                                        In my config, I have done some NIC optimization a while ago, and for that I used shellcmd, to run it after boot.

                                        You can see it here:

                                        <shellcmd>ifconfig ix2 -txcsum -rxcsum -tso4 -tso6 -lro -txcsum6 -rxcsum6 -vlanhwtso -vlanhwfilter -vlanhwtag -vlanhwcsum</shellcmd>
                                        

                                        Now, to explain why I did the above.
                                        In 2.6.0 or earlier, I don't remember exactly,(at least for my driver) Suricata did not pass traffic for VLANs, enabled on the parent interface. In order to solve that I wrote the above.

                                        In 22.05 though, I had to add "vlanhwtag" again, otherwise even with Suricata uninstalled, no VLANs traffic will pass through.

                                        I played with others tags, the only one that I must leave enabled is "vlanhwtag".

                                        So the issues with the VLANs are solved, but now I cannot run Suricata in Inline mode with "vlanhwtag" enabled,(it will not pass traffic) or at least that is how it worked for me in previous versions.

                                        Many thanks to @johnpoz and @stephenw10 for investigating with me.

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

                                          Huh, that's fascinating. So as long as you do not disable hardware VLAN tagging on ix2 the VLANs work? And presumably a pcap no longer shows VLAN0 tagged traffic?

                                          That's almost the opposite of what I'd expect.... 🤔

                                          I was never able to replicate it here.

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

                                            @stephenw10 said in pfSense 22.05 breaks VLANS, restoring pfSense 22.01 fixes the issue:

                                            Huh, that's fascinating. So as long as you do not disable hardware VLAN tagging on ix2 the VLANs work? And presumably a pcap no longer shows VLAN0 tagged traffic?

                                            That's almost the opposite of what I'd expect.... 🤔

                                            I was never able to replicate it here.

                                            The results are like this:

                                            1. Disable "vlanhwtag" - the VLAN traffic will cease almost immediately, and also the pcap shows VLAN0 again.
                                            2. Enable "vlanhwtag" - the VLAN traffic will work, and pcap will not show any VLAN0 anymore.

                                            In 22.01 this did not happen with or without "vlanhwtag" .

                                            The only inconvenient now is that I cannot run Suricata in Inline mode. I mean, I can, but the traffic for VLANS will not work. Only in legacy mode.

                                            Other than that no complaints.

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