Intel® IXP400 Software

Access-Layer Components: Ethernet Database (IxEthDB) API

10.3.7Spanning Tree Protocol Port Settings

The IxEthDB component provides an interface that can configure each NPE port to act in a “Spanning Tree Port Blocking State”. This behavior is available in certain NPE microcode images, and can be configured independently for each NPE.

Spanning-Tree Protocol (STP), defined in the IEEE 802.1D specification, is a link management protocol that provides path redundancy while preventing undesirable loops in the network. STP includes two special frame payload types that bridges use to help close loops in an Ethernet network. These frames are called a configuration Bridge Protocol Data Unit (BPDU) and a topology change notification BPDU.

The NPE tests every received frame to determine whether it is a configuration or topology change BPDU. Spanning tree BPDUs are delivered to the Intel XScale core in the same manner as regular Ethernet frames, but the NPE firmware sets the ixp_ne_flags.st_prot bit flag in the IX_OSAL_MBUF whenever the frame in the associated buffer is a spanning tree BPDU. Spanning tree BPDU frames are never subjected to any VLAN or 802.3 to 802.11 header conversion service.

When IxEthDB configures a port to operate in an STP blocking state, using ixEthDBSpanningTreeBlockingStateSet(), the effect is that all frames EXCEPT STP configuration BPDUs and topology change BPDUs are dropped. A statistic counter is maintained to track the number of frames dropped while in this state.

10.4IxEthDB API

10.4.1Initialization

IxEthAcc is dependent upon IxEthDB and provides for most of its initialization. For a description of the initialization process for the complete Ethernet sub-system in the IXP400 software, refer to Section 9.7.

IxEthDB performs an ixFeatureCtrlSwConfigurationCheck( ) to determine the value of

IX_FEATURECTRL_ETH_LEARNING. IxEthDB is essentially disabled if this value is FALSE. Any component or codelet can modify the value prior to IxEthDB initialization using ixFeatureCtrlSwConfigurationWrite(IX_FEATURECTRL_ETH_LEARNING, [TRUE or FALSE]). Once IxEthDB has been initialized, the software configuration cannot be changed.

IX_FEATURECTRL_ETH_LEARNING is TRUE by default.

10.4.2Dependencies

The IxEthDB component relies on the following components:

IxNpeMh component to send/receive control messages to/from the NPEs.

IxNpeDl is used by IxEthDB to query the loaded NPE image IDs.

IxOSAL to provide mutual exclusion mechanisms to the component.

IxOSAL to provide multithreading.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

177

Page 177
Image 177
Intel IXP400 manual IxEthDB API, Spanning Tree Protocol Port Settings, Initialization