Implementation Details - 7.2 English

AXI 1G/2.5G Ethernet Subsystem Product Guide (PG138)

Document ID
PG138
Release Date
2023-11-15
Version
7.2 English

Received multicast frames that meet all other hardware verification requirements receive a first level address filtering in hardware. Frames that pass this initial filtering are passed up to software drivers with information provided by hardware to assist the software drivers in providing the second level/final address filtering. If the frame does not pass hardware filtering, the frame is dropped and no action is taken by the software drivers.

While a MAC multicast address is defined as any 48-bit MAC address that has bit 0 (LSB) set to 1 (for example 01:00:00:00:00:00), in most cases the MAC multicast address is created from a IP multicast address as shown in the following figure. It is these IP multicast addresses that are a subset of MAC multicast addresses that are filtered by the extended multicast address filtering mode.

Figure 1. Mapping IP Multicast Addresses to MAC Multicast Addresses AXI Ethernet Page-1 Sheet.1 Sheet.2 224.0.0.0 to 239.255.255.255 224.0.0.0 to 239.255.255.255 Sheet.3 01:00:5e:00:00:00 to 01:00:5e:7f:ff:ff 01:00:5e:00:00:00 to 01:00:5e:7f:ff:ff Sheet.4 multicast bit (bit 0 byte 0) multicast bit(bit 0 byte 0) Sheet.5 32-bit IP multicast address (typically shown as four8-bit val... 32-bit IP multicast address(typically shown as four8-bit values in decimal) Sheet.6 48-bit MAC destination multicast address (typically shown as ... 48-bit MAC destination multicast address (typically shown as six8-bit values in hexadecimal) Sheet.7 Constant Constant Sheet.8 lower 23 bits lower 23 bits Sheet.9 32K x 1 Table 32K x 1Table Sheet.10 Hardware look-up upper 15 bits of 23 bits for 1 or 0 Hardware look-up upper 15 bits of 23 bits for 1 or 0 Sheet.11 If 0, this frame can be dropped If 0, this frame can be dropped Sheet.12 If 1, pass up to software to make decision If 1, pass up tosoftware to make decision Side brace 1-D single.31 Side brace.2 Side brace.1 Side brace.4 Sheet.18 1-D single.6 1-D single.7 1-D single.8 Sheet.22 Sheet.23 X14084 X14084

When a multicast address frame is received while extended multicast filtering is enabled, the subsystem first verifies that the first 24 bits are 01:00:5E and then uses the upper 15 bits of the unique 23-bit MAC multicast address to index this memory. If the associated memory location contains a 1, 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, 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 using the AXI4-Lite interface.

When using the extended multicast address filtering, the TEMAC core must be set to promiscuous mode so that all frames are available for filtering. In this mode the TEMAC core no longer checks for a unicast address match. Additional registers are available to provide unicast address filtering while in this mode. Receive VLAN Tag Register shows the Receive VLAN Tag register bit definitions and Unicast Address Word Lower Register shows the Unicast Address Word Lower register bit definitions.

For builds that have the extended multicast address filtering enabled, promiscuous mode can be achieved by making sure that the TEMAC core is in promiscuous mode, and by clearing the EMultiFltrEnbl bit (bit 12) in the Reset and Address Filter Register.

When a received frame is accepted and passed up to software, additional information is provided in the receive AXI4-Stream Status words to help the software perform the additional address filtering with less overhead.

Receive AXI4-Stream Status words 0 and 1 include the destination address of the frame. Word 2 includes bits to indicate if the frame had a destination address that was the broadcast address, a MAC multicast address, or an IP multicast address. If none of those bits are set, it was a unicast address. See Mapping AXI DMA IP Buffer Descriptor Fields to AXI4-Stream Fields for more information.

Selecting Extended Multicast address filtering in AMD Vivado™ IDE allows to make decisions about the destination address without accessing the address from within the receive AXI4-Stream Data transfer. When using an AMD AXI DMA core, the information needed for filtering is in the buffer descriptor. Using this information, a decision can then be made regarding accepting or rejecting the frame without accessing the data buffer itself, which reduces memory access and buffer indexing overhead.