Intel 82545GM/EM Network Card User Manual


 
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