Intel Video Game Controller Intel Gigabit Ethernet Controllers User Manual
Software Developer’s Manual
149
Power Management
6.4.3.3
Flexible Filter
The Ethernet controller supports a total of four flexible filters. Each filter is configured to
recognize any arbitrary pattern within the first 128 bytes of the packet. To configure the flexible
filter, the software driver must mask values into the Flexible Filter Mask Table (FFMT), the
filter, the software driver must mask values into the Flexible Filter Mask Table (FFMT), the
required values into the Flexible Filter Value Table (FFVT), and the minimum packet length into
the Flexible Filter Length Table (FFLT). These contain separate values for each filter. The software
driver must also enable the filter in the Wakeup Filter Control Register (WUFC) as well as the
driver must also enable the filter in the Wakeup Filter Control Register (WUFC) as well as the
overall wakeup functionality by setting PME_En in the Power Management Control Status
Register or the Wakeup Control Register.
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 1b and the byte doesn’t match the byte programmed in the
byte in the packet where the mask bit is 1b and the byte doesn’t match the byte programmed in the
Flexible Filter Value Table (FFVT), then the filter failed that packet. If the filter reaches the
required length without failing the packet, it passes the packet and generates a wakeup event. It
ignores any mask bits set to 1b beyond the required length. (the wakeup packet is stored, see
ignores any mask bits set to 1b beyond the required length. (the wakeup packet is stored, see
For the 82541xx and 82547GI/EI, the flexible filter does not have any way to automatically skip
VLAN or LLC/SNAP headers. If such headers are included, the offsets of the subsequent fields
must be adjusted accordingly.
must be adjusted accordingly.
Note:
This following flexible packet filters are listed for reference only.
6.4.3.3.1
IPX Diagnostic Responder Request Packet Example
1
1.
82541xx and 82547GI/EI only.
Offset
# of bytes
Field
Value
Action
Comment
0
6
Destination Address
Compare
MAC Header –
processed by
main address filter
processed by
main address filter
6
6
Source Address
Skip
12
S = (0/4)
Possible VLAN Tag
Compare or
Skip
Skip
12 + S
D = (0/8)
Possible LLC/SNAP Header
Compare or
Skip
Skip
12 + D + S
2
Type
8137h
Compare
IPX
14 + D + S
16
Some IPX Stuff
-
Ignore
30 + D + S
2
IPX Diagnostic Socket
0456h
Compare