Updating the IP Headers for Coalesced Segments
When finalizing a single coalescing unit (SCU), a receive segment coalescing (RSC)-capable miniport driver updates the fields in the IP headers as described in the following tables.
- Updating IPv4 header fields for coalesced segments
- Updating IPv6 header fields for coalesced segments
Updating IPv4 header fields for coalesced segments
Field | Description |
---|---|
Version |
The value of this field must be the same for all coalesced segments. |
Header Length |
The length of a basic IPv4 header without any IP options. |
Differentiated Services |
The value of this field must be the same for all coalesced segments. |
ECN bits |
See Exception 8 in Exception Conditions that Terminate Coalescing. Datagrams should be coalesced if they all have the same values for the ECN bits. |
Total Length |
The value of this field must be recomputed every time a new segment with non-zero TCP payload length is coalesced into an existing SCU. See Exception Conditions that Terminate Coalescing for special cases that arise from the value in this field. |
Identification |
Must be set to the IP ID of the first coalesced segment. |
Flags |
|
Fragment Offset |
Not applicable. Fragmented IP datagrams are not coalesced. |
Time To Live |
Must be set to the minimum time to live (TTL) value of the coalesced segments. |
Protocol |
Always set to 6, for TCP. |
Header Checksum |
The value of this field must be recomputed by the miniport driver. |
Source Address |
The value of this field must be the same for all coalesced segments. |
Destination Address |
The value of this field must be the same for all coalesced segments. |
Updating IPv6 header fields for coalesced segments
Field | Description |
---|---|
Version |
The value of this field must be the same for all coalesced segments. |
Traffic Class |
The value of this field must be the same for all coalesced segments. |
Flow Label |
The value of this field must be the same for all coalesced segments. |
Payload Length |
The value of this field must be recomputed whenever a new segment with nonzero TCP payload length is coalesced into an existing segment. |
Next Header |
Always set to 6, for TCP. |
Hop Limit |
Must be set to the minimum Hop Limit value of the coalesced segments. |
Source Address |
The value of this field must be the same for all coalesced segments. |
Destination Address |
The value of this field must be the same for all coalesced segments. |