Intel 82558 Manuale Utente

Pagina di 175
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.