OpenBSD Journal

Rapid Spanning Tree Protocol support added to bridge(4)

Contributed by ben on from the all-your-network-loops-are-belong-to-us dept.

Reyk Floeter recently brought in support for Rapid Spanning Tree Protocol to bridge(4). RSTP provides better handling of network loops by constantly monitoring the status of the network. In the event of a loop, it will fail over without a significant delay in network traffic.

    CVSROOT:    /cvs
    Module name:    src
    Changes by: reyk at cvs.openbsd.org 2006/12/03 06:41:19

    Modified files:
        sys/net        : if_bridge.c if_bridge.h bridgestp.c if.c 
        sys/sys        : sockio.h 
        sbin/brconfig  : brconfig.c brconfig.8 

    Log message:
    Add Rapid Spanning Tree Protocol support (802.1d-2004) based on work
    by Andrew Thompson (thompsa  freebsd.org). The local changes include
    adoption to our bridge code, reduced stack usage and many other bits.
    If stp is enabled, RSTP will now be used by default.

    Thanks for help from Andrew.

    This code has been in snaps for while now, commit encouraged by deraadt@

(Comments are closed)


Comments
  1. By Brian (66.23.230.164) info@rhemasound.org on http://www.rhemasound.org

    This addition is great. As a networking professional I am glad to see an OpenBSD solution to this enterprise protocol. Please do not flame me... but I have been studing for a Cisco CCDA (Design Associate), and just yesterday was wishing that this switching feature was in OpenBSD. With this feature, OpenBSD can not only be used for enterprise routing/firewalling but it may also become a viable solution for Enterprise core multi-layer switching. If I was only a true hacker.... I would love to add IS-IS and OSPFv3. Thanks for doing a great job OpenBSD team.

    Comments
    1. By Anonymous Coward (203.15.102.65) on

      > This addition is great. As a networking professional I am glad to see an OpenBSD solution to this enterprise protocol. Please do not flame me... but I have been studing for a Cisco CCDA (Design Associate), and just yesterday was wishing that this switching feature was in OpenBSD. With this feature, OpenBSD can not only be used for enterprise routing/firewalling but it may also become a viable solution for Enterprise core multi-layer switching. If I was only a true hacker.... I would love to add IS-IS and OSPFv3. Thanks for doing a great job OpenBSD team.

      Nothing wrong with studying Cisco, especially if you can apply the knowledge to OpenBSD implementation. OBSD supplies good doco on the configuration, but it's not the OS' job to teach design. :)

    2. By Anonymous Coward (87.69.56.199) on

      > a viable solution for Enterprise core multi-layer switching

      Any hardware switch will outperform ANY software switch.

      I think the new feature was introduced to make transparent PF fail-over quicker.






      Comments
      1. By Anonymous Coward (69.70.207.240) on

        > > a viable solution for Enterprise core multi-layer switching
        >
        > Any hardware switch will outperform ANY software switch.

        I wonder what runs on a hardware switch... hmmm... Not to mention, this code can be used and re-used for new products...

        > I think the new feature was introduced to make transparent PF fail-over quicker.


        Comments
        1. By Anonymous Coward (195.212.29.92) on


          > I wonder what runs on a hardware switch... hmmm... Not to mention, this code can be used and re-used for new products...
          >

          A switch usually got two type of hardware:

          1. CPU
          2. ASIC

          The CPU is for management, running RSTP ... The CPU runs software
          The ASIC which is doing the actual frame switching. The ASIC does not run OS, it got the logic burned in logical gates. Thats why it will switch frames at rates faster then any PPC/x86/MIPS/ALPHA/NIAGARA... CPU

          So, the code which switches frames can't be re-used on OBSD.


          Comments
          1. By Teknoenie (70.68.164.2) on

            >
            > > I wonder what runs on a hardware switch... hmmm... Not to mention, this code can be used and re-used for new products...
            > >
            >
            > A switch usually got two type of hardware:
            >
            > 1. CPU
            > 2. ASIC
            >
            > The CPU is for management, running RSTP ... The CPU runs software
            > The ASIC which is doing the actual frame switching. The ASIC does not run OS, it got the logic burned in logical gates. Thats why it will switch frames at rates faster then any PPC/x86/MIPS/ALPHA/NIAGARA... CPU
            >
            > So, the code which switches frames can't be re-used on OBSD.
            >
            >
            >

            FPGAs would offer the same results as an ASIC from a performance perspective and are of course programmable. No?

            Comments
            1. By Anonymous Coward (164.86.99.3) on


              > FPGAs would offer the same results as an ASIC from a performance perspective and are of course programmable. No?

              you design a freely available BSD licencsed multiport switching
              pci NIC with an FPGA and openbsd driver and I'll be sure
              to buy the parts to build one..

              until then, I'll say that 'hardware switches are faster than software'..

              (not a previous poster)

              Comments
              1. By Lennie (194.213.15.37) on

                > 
                > > FPGAs would offer the same results as an ASIC from a performance perspective and are of course programmable. No?
                > 
                > you design a freely available BSD licencsed multiport switching
                > pci NIC with an FPGA and openbsd driver and I'll be sure 
                > to buy the parts to build one..
                > 
                > until then, I'll say that 'hardware switches are faster than software'..
                > 
                > (not a previous poster)
                > 
                > 
                
                Have a look here:
                
                http://www.liberouter.org/
                

                Comments
                1. By Anonymous Coward (81.241.104.240) on

                  >
                  >
                  > FPGAs would offer the same results as an ASIC from a performance perspective and are of course programmable. No?
                  >
                  > you design a freely available BSD licencsed multiport switching
                  > pci NIC with an FPGA and openbsd driver and I'll be sure
                  > to buy the parts to build one..
                  >
                  > until then, I'll say that 'hardware switches are faster than software'..
                  >
                  > (not a previous poster)
                  >
                  >
                  >
                  > Have a look here:
                  >
                  > http://www.liberouter.org/

                  But only routing... looks promising. But a free hardware switch is not available (I hope that I'm wrong), there is already some Ethernet MAC-layer chip (like on http://www.opencores.org/... but no real free switch.

                  RSTP is a nice feature. I'm already very happy with OpenBSD 802.1Q support with the nice "group" feature in ifconfig where you can name the device. Very cooool and useful when you more than 200 vlans and using PF and OpenVPN.


Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]