The Multicast Address Table entry is shown in Figure 2. The multicast address table is only present when extended multicast address filtering is selected at build-time (C_MCAST_EXTEND = 1). The purpose of the table is to allow the subsystem to support reception of frames addressed to many multicast addresses while providing some of the filtering in hardware to offload some of the overhead required for filtering in software.
While an Ethernet MAC multicast address is defined as any 48-bit Ethernet MAC address that has bit 0 (LSB) set to 1 (for example 01:00:00:00:00:00), in most cases the Ethernet MAC multicast address is created from a IP multicast address, as shown in the following figure.
When a multicast address frame is received while this extended multicast filtering is enabled, the subsystem first verifies that the initial 24 bits are 01:00:5E and then uses the upper 15 bits of the unique 23 bit Ethernet MAC multicast address to index this memory. If the associated memory location contains a 1 then the frame is accepted and passed up to software for a comparison on the full 23-bit address. If the memory location is a 0 or the upper 24 bits are not 01:00:5E then the frame is not accepted and it is dropped.
The memory is 1-bit wide but is addressed on 32-bit word boundaries. The memory is 32K deep. This table must be initialized by software through the AXI4-Lite interface.
For builds that have the extended multicast address filtering enabled, promiscuous mode can be achieved by making sure that the TEMAC is in promiscuous mode and by clearing the EMultiFltrEnbl bit (bit 19) in the Reset and Address Filter register (RAF). See Extended Multicast Address Filtering Mode.
The following table shows the Multicast Address Table bit definitions.
Bits | Name | Access | Reset Value | Description |
---|---|---|---|---|
31:1 | Reserved | RO | 0x0 | Reserved: These bits are reserved for future use and always return zero. |
0 | McastAdrEnbl | R/W | 0 |
Multicast Address Enable: This bit indicates that the received
multicast frame with this upper 15 bits of the unique 23-bit Ethernet MAC multicast
address field should be accepted or rejected. 0 – Drop this frame 1 – Accept this frame |