Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Ethernet Database (IxEthDB) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
156 Document Number: 252539, Revision: 007
802.1p QoS
802.3 / 802.11 frame conversion
Spanning Tree Protocol port settings
IxEthDB also has several more generalized features that relate to the databases and the API itself:
Database management
Port Definitions
Feature Control
10.3.1 MAC Address Learning and Filtering
There are two major elements involved in the IxEthDB MAC Address Learning and Filtering
subsystem: a software database containing MAC address/port entries that resides on the Intel
XScale core of the processor, and a learning/filtering capability for each of the NPEs capable of
Ethernet co-processing. Although it is possible to create static entries in the database via the
IxEthDB API, most information is created dynamically via the MAC address learning process. The
Intel XScale core-based database aggregates all of the MAC address/port entries and can also push
learning/filtering entries down to the NPEs.
The NPE-based data structure of MAC addresses learned or to be filtered is referred to throughout
this document as the NPE Learning/Filtering Tree. Each NPE has its own NPE Learning/Filtering
Tree. On a multiple-NPE processor, the trees for each port will usually have different data sets.
The Intel XScale core-based database is referred to as the XScale Learning/Filtering Database.
This database contains learning/filtering entries for all of the ports managed by the IxEthDB
component. The IxEthDB component handles downloading data from the XScale Learning/
Filtering Database to each NPE Learning/Filtering Tree automatically, based upon how the
IxEthDB component is configured.
10.3.1.1 Learning and Filtering
The NPEs provide a function whereby source MAC address learning is performed on received
(ingress) Ethernet frames. If learning is enabled, the source MAC address of the received frame is
compared against the entries in the NPE Learning/Filtering Tree and against the MAC address of
the receiving port. If no matches are found, the MAC address of the receiving port is extracted
from the frame, and the MAC address and receiving port ID are passed to the Intel XScale core in
the IX_OSAL_MBUF header, along with a notification flag. The EthDB component adds the new
MAC address / port ID record into the XScale Learning/Filtering Database. The process of
detecting new source MAC addresses and adding the new MAC address / port ID combination into
the database is known as learning.
As per IEEE802.1D, an Ethernet bridge must filter frames that are received through a specific port
but are destined for another station on the same LAN. To achieve this functionality, the NPE
extracts the destination MAC address from every received frame and then attempts to find a match
in the NPE Learning/Filtering Tree. If no match is found, the frame continues on to the next step
of receive path processing. If a match is found, the NPE inspects the Port ID field of the matching
NPE Learning/Filtering Tree entry. If the value of the Port ID field is equal to that of the port
through which the frame was received, the frame is dropped and the RxLearnedEntryDiscards
counter is updated; otherwise, the frame is not filtered and is allowed to continue on to the next step
of receive path processing. This process of dropping a frame using the logic described here is
called filtering.