
MVTX2802
Data Sheet
23
Zarlink Semiconductor Inc.
5.3 Search, Learning, and Aging
5.3.1 MAC Search
The search block performs source MAC address and destination MAC address (or destination IP address for IP
multicast) searching. As we indicated earlier, if a match is not found, then the next entry in the linked list must
be examined, and so on until a match is found or the end of the list is reached.
In tag based VLAN mode, if the frame is unicast, and the destination port is not a member of the correct VLAN,
then the frame is dropped; otherwise, the frame is forwarded. If the frame is multicast, this same table is used to
indicate all the ports to which the frame will be forwarded. Moreover, if port trunking is enabled, this block
selects the destination port (among those in the trunk group).
In port based VLAN mode, a bitmap is used to determine whether the frame should be forwarded to the
outgoing port. The main difference in this mode is that the bitmap is not dynamic. Ports cannot enter and exit
groups because of real-time learning made by a CPU.
The MAC search block is also responsible for updating the source MAC address timestamp and the VLAN port
association timestamp, used for aging.
5.3.2 Learning
The learning module learns new MAC addresses and performs port change operations on the MCT database.
The goal of learning is to update this database as the networking environment changes over time. When CPU
reporting is enabled, learning and port change will be performed when the CPU request queue has room, and a
memory slot is available, and a “Learn MAC Address” message is sent to the CPU. When CPU reporting is
disabled, learning and port change will be performed based on memory slot availability only.
In tag based VLAN mode, if the source port is not a member of a classified VLAN, a “New VLAN Port” message
is sent to the CPU. The CPU can decide whether or not the source port can be added to the VLAN.
5.3.3 Aging
Aging time is controlled by register 400h and 401h.
The aging module scans and ages MCT entries based on a programmable “age out” time interval. As we
indicated earlier, the search module updates the source MAC address and VLAN port association timestamps
for each frame it processes. When an entry is ready to be aged, the entry is removed from the table, and a
“Delete MAC Address” message is sent to inform the CPU.
Supported entry types are dynamic, static, source filter, destination filter, IP multicast, source and destination
filter, and secure MAC address. Only dynamic entries can be aged; whether an entry is static or dynamic is
maintained in the “status” field of the MCT data structure.
5.3.4 Data Structure
The MCT data structure is used for searching for MAC addresses. The structure is maintained by hardware in
the search engine. The CPU can make requests to add to, delete from, or search the MCT database. The
database is essentially a hash table, with collisions resolved by chaining. The database is partially external, and
partially internal, as described earlier: the first MCT entry of each linked list is always located in the external
SRAM, and the subsequent MCT’s are located internally.