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

    1.2.2 broke OPT1/LAN briding

    Problems Installing or Upgrading pfSense Software
    3
    7
    3.3k
    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.
    • G
      gsocker
      last edited by

      My pfsense setup has OPT1 bridged to LAN. OPT1 is on vlan0. This works fine in 1.2.1.
      After upgrading to 1.2.2, it stops working. Looking at the ifconfig output, shows some differences.
      In 1.2.1, bridge0 has vlan0 and em0 listed. In 1.2.2, only vlan0 is listed and I cannot connect or ping address on vlan0 from the LAN(em0).
      1.2.2:

      bridge0: flags=8802 <broadcast,simplex,multicast>metric 0 mtu 1500              
              ether 52:49:3d:25:7a:41                                                 
              id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15             
              maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200                 
              root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0                    
              member: vlan0 flags=143<learning,discover,autoedge,autoptp></learning,discover,autoedge,autoptp></broadcast,simplex,multicast> 
      

      1.2.1:

      bridge0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
              ether ee:7a:b5:99:73:24
              id 00:04:23:bb:28:1a priority 32768 hellotime 2 fwddelay 15
              maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
              root id 00:04:23:bb:28:1a priority 32768 ifcost 0 port 0
              member: em0 flags=1e7 <learning,discover,stp,edge,autoedge,ptp,autoptp>port 2 priority 128 path cost 20000 proto rstp
                      role designated state forwarding
              member: vlan0 flags=143 <learning,discover,autoedge,autoptp></learning,discover,autoedge,autoptp></learning,discover,stp,edge,autoedge,ptp,autoptp></up,broadcast,running,simplex,multicast> 
      
      1 Reply Last reply Reply Quote 0
      • C
        cmb
        last edited by

        Please post the contents of /tmp/bridge0_setup.sh  (you can open it and paste from Diagnostics -> Edit file)

        1 Reply Last reply Reply Quote 0
        • G
          gsocker
          last edited by

          ,@cmb:

          Please post the contents of /tmp/bridge0_setup.sh  (you can open it and paste from Diagnostics -> Edit file)

          That file doesn't exist..The only filename close to that is /tmp/bridge0_config:

          /sbin/ifconfig bridge0 destroy
          /sbin/ifconfig bridge0 create
          /sbin/ifconfig vlan0 mtu 1500
          /sbin/ifconfig em0 mtu 1500
          /sbin/ifconfig vlan0 up
          /sbin/ifconfig em0 up
          /sbin/ifconfig bridge0  addm vlan0 stp vlan0  addm em0 stp em0  up
          
          1 Reply Last reply Reply Quote 0
          • C
            cmb
            last edited by

            @gsocker:

            That file doesn't exist..The only filename close to that is /tmp/bridge0_config:

            That's what I was after, I was trying to recall the filename from memory.

            It's being configured correctly. What output do you get when you run all those commands manually?

            1 Reply Last reply Reply Quote 0
            • P
              Perry
              last edited by

              
              /tmp/bridge_config_vr0
              
              /sbin/ifconfig vr0 mtu 1500
              
              /sbin/ifconfig vlan1 mtu 1500
              
              /sbin/ifconfig bridge0 create
              /sbin/ifconfig bridge0 addm vr0 addm vlan1 up
              /sbin/ifconfig bridge0 stp vr0 stp vlan1
              
              # ifconfig bridge0
              bridge0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
              	ether ea:f4:9b:29:bf:64
              	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
              	maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
              	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
              	member: vlan1 flags=143 <learning,discover,autoedge,autoptp>member: vr0 flags=143 <learning,discover,autoedge,autoptp></learning,discover,autoedge,autoptp></learning,discover,autoedge,autoptp></up,broadcast,running,simplex,multicast> 
              
              
              /tmp/bridge0_config
              
              /sbin/ifconfig bridge0 destroy 
              /sbin/ifconfig bridge0 create 
              /sbin/ifconfig vr0 mtu 1500 
              /sbin/ifconfig vlan1 mtu 1500 
              /sbin/ifconfig vr0 up 
              /sbin/ifconfig vlan1 up 
              /sbin/ifconfig bridge0  addm vr0 stp vr0  addm vlan1 stp vlan1  up 
              
              # ifconfig bridge0
              bridge0: flags=8802 <broadcast,simplex,multicast>metric 0 mtu 1500
              	ether 82:87:ad:81:d0:6e
              	id 00:0e:0c:d8:17:84 priority 32768 hellotime 2 fwddelay 15
              	maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
              	root id 00:0e:0c:d8:17:84 priority 32768 ifcost 0 port 0
              	member: vlan1 flags=143 <learning,discover,autoedge,autoptp>member: vr0 flags=1c7 <learning,discover,stp,autoedge,ptp,autoptp>port 1 priority 128 path cost 200000 proto rstp
              	        role designated state discarding</learning,discover,stp,autoedge,ptp,autoptp></learning,discover,autoedge,autoptp></broadcast,simplex,multicast> 
              

              If now do the following it brings back the bridge

              
              /sbin/ifconfig bridge0 destroy
              /sbin/ifconfig vr0 mtu 1500
              
              /sbin/ifconfig vlan1 mtu 1500
              
              /sbin/ifconfig bridge0 create
              /sbin/ifconfig bridge0 addm vr0 addm vlan1 up
              
              

              Spanning Tree Protocol (STP)  (http://www.freebsd.org/doc/en/books/handbook/network-bridging.html )
              /sbin/ifconfig bridge0 stp vlan1
              ifconfig: unable to set bridge flags: Invalid argument
              Apparently it will not work on vlan nic's (same on 1.2.1 and 1.2.2)
              So if
              /sbin/ifconfig bridge0  addm vr0 stp vr0  addm vlan1 stp vlan1  up
              is change back to
              /sbin/ifconfig bridge0 addm vr0 addm vlan1 up
              /sbin/ifconfig bridge0 stp vr0 stp vlan1
              it should work as before.

              The quick hack:
              /usr/local/www/interfaces_opt.php (you can open it and paste from Diagnostics -> Edit file)
              find
              $bridgecmd .= " addm $bridgeif stp $bridgeif ";
              and change it to
              $bridgecmd .= " addm $bridgeif ";
              save and reboot

              /Perry
              doc.pfsense.org

              1 Reply Last reply Reply Quote 0
              • C
                cmb
                last edited by

                Ah, I wasn't thinking that STP wouldn't work on VLANs. Thanks Perry.

                I don't have time to fix it right now but put it on my todo list for sometime in the next week. The fix Perry posted will work for those of you bridging VLANs, but isn't a suitable long term fix.

                1 Reply Last reply Reply Quote 0
                • C
                  cmb
                  last edited by

                  Fixed in 1.2.3.

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