Data Sheet
Ethernet Controller I210 —Inline Functions
250
7.1.1.1.1 Unicast Filter
The entire MAC address is checked against the 16 host unicast addresses. The 16 host unicast
addresses are controlled by the host interface (the MC must not change them). The other 4 addresses
are dedicated to management functions and are only accessed by the MC. The destination address of
an incoming packet must exactly match one of the pre-configured host address filters. These addresses
can be unicast or multicast. Those filters are configured through RAL, and RAH registers.
Promiscuous Unicast — Receive all unicasts. Promiscuous unicast mode in the RCTL register can be set/
cleared only through the host interface (not by the MC). This mode is usually used when the I210 is
used as a sniffer.
7.1.1.1.2 Multicast Filter (Inexact)
A 12-bit portion of incoming packet multicast address must exactly match Multicast Filter Address
(MFA) in order to pass multicast filtering. This means that 12 bits out of 48 bits of the destination
address are used and can be selected by the MO field of RCTL (Section 8.10.1). The 12 bits extracted
from the Multicast Destination address are used as an address for a bit in the Multicast Table Array
(MTA). If the value of the bit selected in the MTA table is 1b, the packet is sent to the host (See
Section 8.10.15). These entries can be configured only by the host interface and cannot be controlled
by the MC. Packets received according to this mode have the PIF bit in the descriptor set to indicate
imperfect filtering that should be validated by the software device driver.
Promiscuous Multicast — Receive all multicast. Promiscuous multicast mode can be set/cleared in the
RCTL register only through the host interface (not by the MC) and it is usually used when the I210 is
used as a sniffer.
Note: When the promiscuous bit is set and a multicast packet is received, the PIF bit of the packet
status is not set.
7.1.1.2 VLAN Filtering
A receive packet that successfully passed MAC address filtering is then subjected to VLAN header
filtering.
1. If the packet does not have a VLAN header, it passes to the next filtering stage.
Note: If external VLAN is enabled (CTRL_EXT.EXT_VLAN is set), it is assumed that the first VLAN
tag is an external VLAN and it is skipped. All next stages refer to the second VLAN.
2. If VLAN filtering is disabled (RCTL.VFE bit is cleared), the packet is forwarded to the next filtering
stage.
3. If the packet has a VLAN header, and it matches an enabled host VLAN filter (relevant bit in VFTA
table is set), the packet is forwarded to the next filtering stage.
4. Otherwise, the packet is dropped.
Figure 7-3 shows the VLAN filtering flow.