Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Ethernet Database (IxEthDB) API
Programmer’s Guide IXP400 Software Version 2.0 April 2005
Document Number: 252539, Revision: 007 177
10.3.7 Spanning 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.4 IxEthDB API
10.4.1 Initialization
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.2 Dependencies
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.