Intel 82550 Switch User Manual


 
10/100 Mbps Ethernet Controller Family Open Source Software Developer Manual 163
82550 and 82551QM Specific Information
Note: If the IPv4 checksum and TCP/UDP checksum are clear (checksum offload is not
requested), frames will be transmitted without computing and replacing the
checksum fields content. Therefore, the driver should set both bits so that the
generated frames carry a proper checksum.
Note: When the Large Send feature is used, the 82550 should be configured to pad
outgoing packets to 64 bytes minimum size.
For Large Send packets, the driver should prepare all header fields so that they can be transmitted
in the first Large Send frame. For frame length related fields, the modifications may be required
before IPCB is submitted for transmission. Relevant header fields and their required operation
value for the prototype header are listed below.
SNAP length (if SNAP is used). This should be adjusted for first frame transmission.
IP total length. This should be adjusted for first frame transmission.
TCP pseudo header partial sum. This should be adjusted according to first frame length.
TCP push flag. This cannot be adjusted for the first frame. The driver leaves this flag
unchanged. If it is set, the 82550 turns it off in all frames except the last one transmitted.
TCP FIN flag. This cannot be adjusted for the first frame. The driver leaves this flag
unchanged. If it is set, the 82550 turns it off in all frames except the last one transmitted.
B.3.4 Data Flow
The 82550 enters Large Send mode when the Large Send bit is set.
B.3.4.1 Headers Parsing
When the 82550 detects a Large Send IPCB, it parses its L2, IP and TCP headers to obtain header
offsets and additional headers information. For this purpose, the 82550 performs a PCI read DMA
from the beginning of the first active transmit buffer (either the IPCB immediate area or area
pointed to by a TBD). The size of that DMA is minimum. All headers (L2, IP and TCP) must be
contained in the first active transmit buffer.
The size of the on-chip prototype header memory is 80 bytes. The driver should ensure that the
header of Large Send packets fit in this buffer. This limits the size of the options that can be
included in the IP and TCP headers.
Note: Large Send IPCB must be used with the Hardware Parsing bit set.
Note: When Large Send is used, the 82550 should be configured to pad outgoing packets to a minimum
size of 64 bytes minimum.
B.3.4.2 First Frame Processing
L2 header remains unchanged.
IP header is processed:
IP total length is unchanged.
MF bit equals 0. This is expected but not checked by hardware.