Intel PCI User Manual

Page of 406
Receive and Transmit Description
34
Software Developer’s Manual
3.2.9.2
SNAP/VLAN Filter
This filter checks the next headers looking for an IP header. It is capable of decoding Ethernet II, 
Ethernet SNAP, and IEEE 802.3ac headers. It skips past any of these intermediate headers and 
looks for the IP header. The receive configuration settings determine which next headers are 
accepted. See the various receive control configuration registers such as RCTL (RCTL.VFE), VET, 
and VFTA.
3.2.9.3
IPv4 Filter
This filter checks for valid IPv4 headers. The version field is checked for a correct value (4). IPv4 
headers are accepted if they are any size greater than or equal to 5 (dwords). If the IPv4 header is 
properly decoded, the IP checksum is checked for validity. The RXCSUM.IPOFL bit must be set 
for this filter to pass.
3.2.9.4
IPv6 Filter
This filter checks for valid IPv6 headers, which are a fixed size and have no checksum. The IPv6 
extension headers accepted are: Hop-by-Hop, Destination Options, and Routing. The maximum 
size next header accepted is 16 dwords (64 bytes).
All of the IPv6 extension headers supported by the Ethernet controller have the same header 
structure:
NEXT HEADER is a value that identifies the header type. The supported IPv6 next headers 
values are: 
— Hop-by-Hop = 00h
— Destination Options = 3Ch
— Routing = 2Bh
HDR EXT LEN is the 8 byte count of the header length, not including the first 8 bytes. For 
example, a value of 3 means that the total header size including the NEXT HEADER and 
HDR EXT LEN fields is 32 bytes (8 + 3*8).
— The RXCSUM.IPV6OFL bit must be set for this filter to pass.
3.2.9.5
UDP/TCP Filter
This filter checks for a valid UDP or TCP header. The prototype next header values are 11h and 
06h, respectively. The RXCSUM.TUOFL bit must be set for this filter to pass.
3.3
Packet Transmission
The transmission process for regular (non-TCP Segmentation packets) involves:
The protocol stack receives from an application a block of data that is to be transmitted.
Byte 0
Byte 1
Byte 2
Byte 3
Next Header
Hdr Ext Len