Intel 82558 Switch User Manual


 
146 10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual
Wake-up Functionality
A.6.3 Wake-up Packet Storage
The device uses its internal registers for packet storage during power down mode. Only the first
124 bytes of a frame may be filtered and stored by the device. The residual section of the packet
beyond the first 124 bytes is discarded by the device and cannot be used by the software driver
after the system is awake.
Note: Any packet passing the fixed packet filtering mechanism (such as ARP) can be stored in the
temporary storage area of the micromachine and will be available to the driver when the system is
awake. The same limitation for the flexible packet filter storage holds to the hardware filter
storage. However, in cases where the frame is inherently lost (for example, in an overrun) or the
flexible packet filter is not active (either not loaded or temporarily disabled as in TCO mode), the
controller may wake up the system without storing the packet.
A.7 82559 and Later Generation Device Implementation
The 82559 uses different methods for loading programmable wake-up packet filters (both fixed and
flexible filters) that are more elegant sophisticated than the mechanisms used by the 82558. The
following subsections detail wake-up packet filtering for the 82559.
All of the following subsections refer to the 82559 and 82559ER. However, the 82559ER does not
support Magic Packet.
A.7.1 Load Programmable Filter Command Structures
The load programmable filter command of the 82559 is not backward compatible to the 82558.
The 82559 has no explicit limitation on the number of programmable filters, but the length of the
command structure is limited to 18 Dwords. The command structure is presented here.
Command Word. The end of list (EL) and start (S) bits are contained in this word. Either of
these must be active (1). The load programmable filters command should be the last command
issued to the 82559 by the driver. Therefore, the Next CB Pointer field should be a null pointer
(FF,…Fh), even if the S bit is used. The CB opcode is 0008 0000h.
Status Word. The status word contains the complete (C) and OK bits. After completing the
load programmable filters command, the 82559 posts a complete OK word equal to A000h.
Next CB Pointer. The Next CB Pointer should be set by the software driver to FF,…Fh (null
pointer).
Programmable Filters Data Structure. Programmable filters may have one of two types:
flexible filters or pre-defined filters. Any receive packet is filtered first by the MAC address
filtering and then by the filters defined below:
Figure 27. Command Block Structure
31 16 15 0
CB Command Word CB Status Word
Next CB Pointer = FFFF FFFFh
Programmable Filters Data (up to 16 Dwords total)