Intel® IXP400 Software

Access-Layer Components: Ethernet Database (IxEthDB) API

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.1MAC 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.1Learning 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.

April 2005

IXP400 Software Version 2.0

Programmer’s Guide

156

Document Number: 252539, Revision: 007

 

Page 156
Image 156
Intel IXP400 manual MAC Address Learning and Filtering, Access-Layer Components Ethernet Database IxEthDB API