Frame Filter - 9.0 English - PG051

Tri-Mode Ethernet MAC LogiCORE IP Product Guide (PG051)

Document ID
PG051
Release Date
2024-12-11
Version
9.0 English

The MAC can be configured with an optional frame filter. This is available irrespective of the use of the management interface but has much reduced functionality if no management interface is present. This use model is described in Configuration Vector.

The frame filter performs two functions:

  • Checking if any received packet matches one of the predefined Destination Address values: Pause Address, Broadcast Address, User Defined Unicast Address and the special multicast Pause Address.
  • Comparing the first 64 bytes of a received packet against a user defined pattern.

In the case of the Destination Address comparisons, the results are used in other blocks within the MAC, such as flow control and in the generation of statistics vectors.

The other function of the frame filter is much more flexible and allows you to specify any match pattern within the first 64 bytes while ignoring any other byte or bit values. This method is extremely flexible as it allows the filtering of packets based on almost any header field or combination of header fields. Each frame filter contains two 512-bit registers (64 bytes):

  • Frame Filter Value register: This pattern is compared to the first 512 bits received in a frame with bit 0 being the first bit within a frame to be received.
  • Frame Filter Mask Value register: Each bit within this register refers to the same bit number within the Frame Filter Value register. When a bit in the Mask Value Register is set to:
  • logic 1, The same bit number within the Frame Filter Value register is compared with the respective bit in the received frame and must match if the overall frame filter is to obtain a match.
  • logic 0, The same bit number within the Frame Filter Value register is not compared. This effectively turns the respective bit in the Frame Filter Value register into a don’t care bit. The overall frame filter is capable of obtaining a match even if this bit does not match.

This is described in more detail in Using the Frame Filter.

You can specify up to 16 frame filters in the Ethernet MAC core level, with an additional three being used if the AVB Endpoint is present. Each frame is accessed through an address mapped register. However, because each filter requires 32 registers to access the pattern and mask values there is a control register that specifies which of the filters is being accessed with all filters being accessed through the same register set. When one or more frame filters are specified, the rx_axis_filter_tuser output is available from the Ethernet MAC core level. This is sized depending upon the number of filters selected and provides a direct pass/fail indication on a per-filter basis. This does not include AVB specific filters.

For more details, see Using the Frame Filter. Table 1 shows the Frame Filter Configuration registers.