Spanning Tree Protocol

NAME
     stp - Spanning Tree Protocol

SYNOPSIS


DESCRIPTION
     Spanning Tree (STP) is a layer 2 protocol designed to run on bridges. The
     main purpose of STP is to ensure that there are no loop situations when
     redundant paths are provisioned in the network. STP detects and disables
     creation of network loops by blocking certain ports on some of the bridges
     in the network. The process of selection of blocking ports (on occurance
     of redundant paths) is governed by the following three parameters :

     - Relative priority of each bridge. A higher value means lower priority.
     - Relative priority of each port within a bridge. A higher value means
       lower priority.
     - Path cost (based on physical media type) associated with each port.

     A given port/interface participates in STP if the flag IFBIF_STP is 
     set for the interface. A possible time for setting this flag is at the 
     time when the interface in context is added to bridge. 

IOCTLS
     The STP code is invoked for all ioctl calls specified in bridge section.
     The following ioctl calls are specific to STP functionality. They are
     defined in <sys/sockio.h>.

     SIOCBRDGGPRI         (struct ifbrparam) Get the configured priority of this
                          bridge. The priority value could vary from 0 to 65535.
                          0 being the highest priority and 65535 the lowest. The
                          configured value is returned in field ifbrp_prio.

     SIOCBRDGSPRI         (struct ifbrparam) Set priority of this bridge to the
                          value specified in field ifbrp_prio.

     SIOCBRDGGHT          (struct ifbrparam) Get the configured frequency of
                          transmission of hello packets from non-blocking
                          interfaces on this bridge. The configured frequency is
                          returned in field ifbrp_hellotime.  

     SIOCBRDGSHT          (struct ifbrparam) Set the frequency of transmission
                          of hello packets to the value specified in field
                          ifbrp_hellotime. The specified value should be greater
                          than 0, else EINVAL is returned.

     SIOCBRDGGFD          (struct ifbrparam) Get the forwarding delay time 
                          associated with ports/interfaces on this bridge. The
                          forwarding delay time is the time taken by a port
                          to transit from one state to other (for eg. from 
                          LEARNING state to FORWARDING state). The configured
                          value if returned in field ifbrp_fwddelay.

     SIOCBRDGSFD          (struct ifbrparam) Set the forwarding delay for ports
                          attached to this bridge to a value specified in 
                          field ifbrp_fwddelay. The specified value should be
                          greater than 0, else EINVAL is returned.

     SIOCBRDGGMA          (struct ifbrparam) Get aging timeout values of 
                          spanning data. The timeout value is returned in field
                          ifbrp_maxage. 

     SIOCBRDGSMA          (struct ifbrparam) Set the aging timeout value of 
                          BPDUs to the value specified in ifbrp_maxage. The 
                          specified value should be greater than 0, else 
                          EINVAL is returned.

     SIOCBRDGSIFPRIO      (struct ifbreq) Set the priority of specified 
                          interface to the value given in field ifbr_priority.

     SIOCBRDGSIFCOST      (struct ifbreq) Set the cost associated with the 
                          given interface to the value specified in field 
                          ifbr_path_cost.


ERRORS
     Same as the ones specified for bridge.

SEE ALSO
     netintro, bridge