Intel 324632-003 Switch User Manual


 
Header Splitting and Replication — Intel
®
82575EB Gigabit Ethernet Controller
324632-003 Intel
®
82575EB Gigabit Ethernet Controller
Revision: 2.1 Software Developer’s Manual and EEPROM Guide
January 2011 129
Table 33. Header Splitting and Header Replication Mode
Note: If SRRCTL#.NSE is set, all buffers' addresses in a packet descriptor must be word aligned.
The packet header cannot span across buffers, therefore, the size of the header buffer must
be larger than any expected header size. Otherwise, only the part of the header fitting the
header buffer is replicated. In case of header split mode (SRRCTL.DESCTYPE = 010b), a
packet with a header larger than the header buffer will not be split.
DESCTYPE Condition SPH HBO PKT LEN HDR LEN Copy
Split Header cannot be
decoded
0b 0b Min(packet
length buffer
size
N/A Header + Payload Packet
Buffer
Header <=
BSIZEHEADER
1b 0b Min(payload
length buffer
size
1
1. In a header only packet (for example. TCP ACK packet), PKT_LEN is 0b.
Header
size
Header Packet Buffer
Payload Packet Buffer
Header > BSIZEHEADER 1b 1b Min(packet
length buffer
size
Header
size
2
2. The HDR_LEN doesn't reflect the actual data size stored in the header buffer. It reflects the header size determined by the parser.
Header + Payload Packet
Buffer
Split (always
use header
buffer
Packet length <=
BSIZEHEADER
0b 0b 0b Packet
length
Header + Payload Header
Buffer
Header cannot be
decoded (packet length
> BSIZEHEADER)
0b 0b Min(packet
length -
BSIZE-
HEADER, data
buffer size)
BSIZE-
HEADER
Header + Payload Header +
Packet Buffer
3
3. If the packet spans more than one descriptor, only the header buffer of the first descriptor is used.
Header <=
BSIZEHEADER
1b 0b Min(payload
length, data
buffer size)
Header
size
Header Header Buffer
Payload Packet Buffer
Header > BSIZEHEADER 1b 1b Min(packet
length -
BSiZE-
HEADER, data
buffer size)
Header
size
b
Header + Payload Header +
Packet Buffer
Replicate Header + payload <=
BSIZEHEADER
0b/
1b
0b Min(packet
length, buffer
size
Header
size,
N/A
4
4. If SPH = 0b, then the header size is not relevant. In any case, the HDR_LEN doesn't reflect the actual data size stored in the Header
buffer.
Header + Payload Header
Buffer
Header + Payload Packet
Buffer
Header + Payload >
BSIZEHEADER
0b/
1b
0b/1b
5
5. HBO is 1b if the header size is bigger than BSIZEHEADER; otherwise, 0b.
Min(packet
length, buffer
size)
Header
size,
N/A
d
(Header + Payload)(partial
f
) 
Header Buffer
Header + Payload Packet
Buffer
Replicate large
packet
Header + payload <=
BSIZEHEADER
0b/
1b
0b Packet length Header
size,
N/A
d
Header + Payload Header
Buffer
Header + Payload >
BSIZEHEADER
0b/
1b
0b/1b
e
Min(packet
length, buffer
size)
Header
size,
N/A
d
(Header + Payload)(partial
6
)
Header Buffer
Header + Payload Packet
Buffer
6. Partial means up to BSIZEHEADER.