www.ti.com
Functional Description
Error packets that are passed to the host by the CPGMAC_SL are considered to be bypass packets by
the ALE and are sent only to the host. Error packets do not learn, update, or touch addresses regardless
of whether they are aborted or sent to the host. Packets with errors received by the host are forwarded as
normal.
The following control bits are in the CPGMAC_SL1/2_MacControl register.
rx_cef_en: This CPGMAC_SL control bit enables frames that are fragments, long, jabber, CRC, code, and
alignment errors to be forwarded.
rx_csf_en: This CPGMAC_SL bit enables short frames to be forwarded.
rx_cmf_en: This CPGMAC_SL control bit enables mac control frames to be forwarded.
14.3.2.7.2.1 Ingress Filtering Process
If (Rx port_state is Disabled)
then discard the packet
if (directed packet)
then use directed port number and go to Egress process
if ((ale_bypass or error packet) and (host port is not the receive port))
then use host portmask and go to Egress process
if (((block) and (unicast source address found)) or ((block) and (unicast destination address found)))
then discard the packet
if ((enable_rate_limit) and (rate limit exceeded) and (not rate_limit_tx)
then if (((mcast/bcast destination address found) and (not super)) or (mcast/bcast destination address not found))
then discard the packet
if ((not forward state test valid) and (destination address found))
then discard the packet to any port not meeting the requirements
• Unicast destination addresses use the unicast forward state test and multicast destination addresses use the multicast forward
state test.
if ((destination address not found) and ((not transmit port forwarding) or (not receive port forwarding)))
then discard the packet to any ports not meeting the above requirements
if (source address found) and (secure) and (receive port number != port_number))
then discard the packet
if ((not super) and (drop_untagged) and ((non-tagged packet) or ((priority tagged) and not(en_vid0_mode))
then discard the packet
If (VLAN_Unaware)
force_untagged_egress = “000000”
reg_mcast_flood_mask = “111111”
unreg_mcast_flood_mask = “111111”
vlan_member_list = “111111”
else if (VLAN not found)
force_untagged_egress = unknown_force_untagged_egress
reg_mcast_flood_mask = unknown_reg_mcast_flood_mask
unreg_mcast_flood_mask = unknown unreg_mcast_flood_mask
vlan_member_list = unknown_vlan_member_list
else
force_untagged_egress = found force_untagged_egress
reg_mcast_flood_mask = found reg_mcast_flood_mask
unreg_mcast_flood_mask = found unreg_mcast_flood_mask
vlan_member_list = found vlan_member_list
if ((not super) and (vid_ingress_check) and (Rx port is not VLAN member))
then discard the packet
1201
SPRUH73H–October 2011–Revised April 2013 Ethernet Subsystem
Submit Documentation Feedback
Copyright © 2011–2013, Texas Instruments Incorporated