eCos Reference Manual
Prev | Chapter 48. APIs | Next

# 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

Prev | Home | Next
Bridging | Up | DNS for eCos and RedBoot