Data Sheet
Ethernet Controller I210 —Inline Functions
258
In D0 mode these filters enable forwarding of packets that match up to 128 Bytes defined in the filter to
one of the receive queues. In D3 mode these filters can be used for Wake-on-Lan as described in
Section 5.6.3.1.8 or proxying as described in Section 5.7.
Once enabled, the flexible filters scan incoming packets for a match. If the filter encounters any byte in
the packet where the mask bit is one and the byte doesn't match the value programmed in the Flexible
Host Filter Table (FHFT or FHFT_EXT), then the filter fails that packet. If the filter reaches the required
length without failing the packet, it forwards the packet to the appropriate receive queue. It ignores
any mask bits set to one beyond the required length (defined in the Length field in the FHFT or
FHFT_EXT registers).
Note: The flex filters are temporarily disabled when read from or written to by the host. Any packet
received during a read or write operation is dropped. Filter operation resumes once the read
or write access completes.
The flex filters are configured in D0 state via the WUFC, FHFT and FHFT_EXT registers as follows (per
filter):
• Byte Sequence to be compared - Program 128 Byte sequence, mask bits and Length field in FHFT
and FHFT_EXT registers.
• Filter Priority - Program filter priority in queueing field in FHFT and FHFT_EXT registers.
• Receive queue - Program receive queue to forward packet in queueing field in FHFT and FHFT_EXT
registers.
• Filter actions - Program immediate interrupt requirement in queueing field in FHFT and FHFT_EXT
registers.
• Filter enable - Set WUFC.FLEX_HQ bit to 1 to enable flex filter operation in D0 state. Set
appropriate WUFC.FLX[n] bit to 1 to enable specific flex filter.
Before entering D3 state software device driver programs the FHFT and FHFT_EXT filters for
appropriate wake events and enables relevant filters by setting the WUFC.FLX[n] bit to 1 or the
PROXYFC.FLX[n] bit to 1b. Following move to D0 state the software device driver programs the FHFT
and FHFT_EXT filters for appropriate queueing decisions and enables the relevant filters by setting the
WUFC.FLX[n] bit to 1b and the WUFC.FLEX_HQ bit to 1b.
Notes: If more than one flex filter with the same priority is matched by the packet, the first filter
(lowest address) is used in order to define the queue destination of this packet.
The immediate interrupt action is defined by the OR of all the matching filters.
7.1.2.6 SYN Packet Filters
The I210 might forward TCP packets whose SYN flag is set into a separate queue. SYN packets are
often used in SYN attacks to load the system with numerous requests for new connections. By filtering
such packets to a separate queue, security software can monitor and act on SYN attacks.
SYN filters are configured via the SYNQF registers as follows:
• Queue En — Enables forwarding of SYN packets to a specific queue.
• Rx Queue field — Contains the destination queue for the packet.
7.1.2.7 VLAN Priority Filters
The I210 can forward packets according to their VLAN priority to separate queues. The I210 supports
the configuration of the destination queue per VLAN priority.