MVTX2602
Data Sheet
22
Zarlink Semiconductor Inc.
In performing its task, the search engine extracts and compresses the useful information from the 64-byte switch
request. Among the information extracted are the source and destination MAC addresses, the transmission and
discard priorities, whether the frame is unicast or multicast and VLAN ID. Requests are sent to the external SRAM
to locate the associated entries in the external hash table.
When all the information has been collected from external SRAM the search engine has to compare the MAC
address on the current entry with the MAC address for which it is searching. If it is not a match, the process is
repeated on the internal MCT Table. All MCT entries other than the first of each linked list are maintained internal to
the chip. If the desired MAC address is still not found, then the result is either learning (source MAC address
unknown) or flooding (destination MAC address unknown).
In addition, VLAN information is used to select the correct set of destination ports for the frame (for multicast) or to
verify that the frame’s destination port is associated with the VLAN (for unicast).
If the destination MAC address belongs to a port trunk, then the trunk number is retrieved instead of the port
number. But on which port of the trunk will the frame be transmitted This is easily computed using a hash of the
source and destination MAC addresses.
As stated earlier, when all the information is compiled the switch response is generated. The search engine also
interacts with the CPU with regard to learning and aging.
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 fast learning
mode is enabled, learning and port change will be performed when memory slot is available and a latter “Learn
MAC Address” message is sent to the CPU when CPU queue has room.
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.