English
Language : 

K60P100M100SF2RM Datasheet, PDF (1188/1809 Pages) Freescale Semiconductor, Inc – K60 Sub-Family Reference Manual
Functional Description
44.4.4.3 MAC Address Check
The destination address bit 0 differentiates between multicast and unicast addresses.
• If bit 0 is 0, the MAC address is an individual (unicast) address
• If bit 0 is 1, the MAC address defines a group (multicast) address
• If all 48 bits of the MAC address are set, it indicates a broadcast address
44.4.4.3.1 Unicast Address Check
If a unicast address is received, the destination MAC address is compared to the node
MAC address programmed by the host in the PADDR1/2 registers.
If the destination address matches any of the programmed MAC addresses, the frame is
accepted.
If promiscuous mode is enabled (RCR[PROM] = 1) no address checking is performed
and all unicast frames are accepted.
44.4.4.3.2 Multicast and Unicast Address Resolution
The hash table algorithm used in the group and individual hash filtering operates as
follows. The 48-bit destination address is mapped into one of 64 bits, represented by 64
bits in ENETn_GAUR/GALR (group address hash match) or ENETn_IAUR/IALR
(individual address hash match). This mapping is performed by passing the 48-bit address
through the on-chip 32-bit CRC generator and selecting the six most significant bits of
the CRC-encoded result to generate a number between 0 and 63. The msb of the CRC
result selects ENETn_GAUR (msb = 1) or ENETn_GALR (msb = 0). The five lsbs of the
hash result select the bit within the selected register. If the CRC generator selects a bit set
in the hash table, the frame is accepted; else, it is rejected.
For example, if eight group addresses are stored in the hash table and random group
addresses are received, the hash table prevents roughly 56/64 (or 87.5%) of the group
address frames from reaching memory. Those that do reach memory must be further
filtered by the processor to determine if they truly contain one of the eight desired
addresses.
The effectiveness of the hash table declines as the number of addresses increases.
The user must initialize the hash table registers. Use this CRC32 polynomial to compute
the hash:
• FCS(x) = x32+ x26+ x23+ x22+ x16+ x12+ x11+ x10+ x8+ x7+ x5+ x4+ x2+ x1+ 1
1188
K60 Sub-Family Reference Manual, Rev. 6, Nov 2011
Freescale Semiconductor, Inc.