Functional Description
In normal operation, the CPGMAC_SL modules are configured to issue an abort, instead of an end of
packet, at the end of a packet that contains an error (runt, frag, oversize, jabber, crc, alignment, code etc.)
or at the end of a mac control packet. However, when the CPGMAC_SL configuration bit(s) cef, csf, or
cmf are set, error frames, short frames or mac control frames have a normal end of packet instead of an
abort at the end of the packet. When the ALE receives a packet that contains errors (due to a set header
error bit), or a mac control frame and does not receive an abort, the packet will be forwarded only to the
host port (port 0). No ALE learning occurs on packets with errors or mac control frames. Learning is based
on source address and lookup is based on destination address.
The ALE may be configured to operate in bypass mode by setting the ale_bypass bit in the ALE_Control
register. When in bypass mode, all CPGMAC_SL received packets are forwarded only to the host port
(port 0). Packets from the two ports can be on separate Rx DMA channels by configuring the
CPDMA_Rx_Ch_Map register. In bypass mode, the ALE processes host port transmit packets the same
as in normal mode. In general, packets would be directed by the host in bypass mode.
The ALE may be configured to operate in OUI deny mode by setting the enable_oui_deny bit in the
ALE_Control register. When in OUI deny mode, a packet with a non-matching OUI source address will be
dropped unless the destination address matches a multicast table entry with the super bit set. Broadcast
packets will be dropped unless the broadcast address is entered into the table with the super bit set.
Unicast packets will be dropped unless the unicast address is in the table with block and secure both set
(supervisory unicast packet).
Multicast supervisory packets are designated by the super bit in the table entry. Unicast supervisory
packets are indicated when block and secure are both set. Supervisory packets are not dropped due to
rate limiting, OUI, or VLAN processing.
14.3.2.7.1 Address Table Entry
The ALE table contains 1024 entries. Each table entry represents a free entry, an address, a VLAN, an
address/VLAN pair, or an OUI address. Software should ensure that there are not double address entries
in the table. The double entry used would be indeterminate. Reserved table bits must be written with
zeroes.
Source Address learning occurs for packets with a unicast, multicast or broadcast destination address and
a unicast or multicast (including broadcast) source address. Multicast source addresses have the group bit
(bit 40) cleared before ALE processing begins, changing the multicast source address to a unicast source
address. A multicast address of all ones is the broadcast address which may be added to the table. A
learned unicast source address is added to the table with the following control bits:
Table 14-10. Learned Address Control Bits
unicast_type
11
Block
0
Secure
0
If a received packet has a source address that is equal to the destination address then the following
occurs:
•
The address is learned if the address is not found in the table.
•
The address is updated if the address is found.
•
The packet is dropped.
14.3.2.7.1.1 Free Table Entry
Table 14-11. Free (Unused) Address Table Entry Bit Values
71:62
61:60
59:0
Reserved
Entry Type (00)
Reserved
1195
SPRUH73H – October 2011 – Revised April 2013
Ethernet Subsystem
Copyright © 2011–2013, Texas Instruments Incorporated