Power Management

6.4.3.3Flexible 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 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 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 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 Section 6.4.3.5).

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.

Note: This following flexible packet filters are listed for reference only.

6.4.3.3.1IPX Diagnostic Responder Request Packet Example1

 

Offset

# of bytes

Field

Value

Action

Comment

 

 

 

 

 

 

 

0

 

6

Destination Address

 

Compare

MAC Header –

 

 

 

 

 

 

processed by

 

 

 

 

 

 

6

 

6

Source Address

 

Skip

main address filter

 

 

 

 

 

 

 

12

 

S = (0/4)

Possible VLAN Tag

 

Compare or

 

 

 

Skip

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

+ S

D = (0/8)

Possible LLC/SNAP Header

 

Compare or

 

 

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

 

 

 

 

 

 

 

 

1.82541xx and 82547GI/EI only.

Software Developer’s Manual

149

Page 163
Image 163
Intel PCI-X manual Flexible Filter, IPX Diagnostic Responder Request Packet Example1, + D + S, Ipx