40- and 100-Gbps Ethernet MAC and PHY MegaCore Function User Guide

ID 683114
Date 6/15/2022
Public
Document Table of Contents

3.2.3.7. Address Checking

The RX MAC supports all three types of addresses:

  • Unicast—Specifies a destination address is a unicast (individual) address. Bit 0 is 0.
  • Multicast—Specifies a destination address is a multicast or group address. Bit 0 is 1.
  • Broadcast—Specifies a broadcast address when all 48 bits in the destination address are all 1s, 48’hFFFF_FFFF_FFFF.

If destination address matching is enabled, IP core address checking compares the address to the address programmed in the destination address register, and accepts only the frames with a matching address. You must enable filtering to discard mismatched destination addresses.

To enable address checking, you must turn ensure your 40-100GbE IP core has the following values in the specified register fields:

  • Bit 0 of the RX_FILTER_CTRL register at offset 0x103 has the value of 0.
  • Bit 0 of the MADDR_CTRL register at offset 0x140 has the value of 1.
  • Bit 30 of the MADDR_CTRL register has the value of 1.

The MADDR_CTRL fields allow you to turn off destination address checking but still enable the IP core to filter RX traffic based on other criteria.

If bit 0 of the RX_FILTER_CTRL register has the value of 1, the IP core is in promiscuous receive mode. In this mode, the IP core omits address checking and accepts all the Ethernet frames it receives, except possibly runt frames.