NET_PACKET_CHECKSUM structure (checksumtypes.h)
A NET_PACKET_CHECKSUM structure describes checksum information for a NET_PACKET.
Syntax
typedef struct _NET_PACKET_CHECKSUM {
UINT8 Layer2 : 2;
UINT8 Layer3 : 2;
UINT8 Layer4 : 2;
UINT8 Reserved : 2;
} NET_PACKET_CHECKSUM;
Members
Layer2
A bit field that specifies a flag from either NET_PACKET_TX_CHECKSUM_ACTION or NET_PACKET_RX_CHECKSUM_EVALUATION. Targets the checksum field in the packet's layer 2 header.
Layer3
A bit field that specifies a flag from either NET_PACKET_TX_CHECKSUM_ACTION or NET_PACKET_RX_CHECKSUM_EVALUATION. Targets the checksum field in the packet's layer 3 header.
Layer4
A bit field that specifies a flag from either NET_PACKET_TX_CHECKSUM_ACTION or NET_PACKET_RX_CHECKSUM_EVALUATION. Targets the checksum field in the packet's layer 4 header.
Reserved
Reserved for system use.
Remarks
Client drivers can obtain this structure for a packet by calling NetExtensionGetPacketChecksum.
For a transmit queue, the client specifies flag values from the NET_PACKET_TX_CHECKSUM_ACTION enumeration. In a transmit queue, the client cross-references the Checksum information for a packet with the Layout member of a NET_PACKET in order to determine which hardware transmit checksum offloads need to be enabled.
For a receive queue, the client specifies flag values from the NET_PACKET_RX_CHECKSUM_EVALUATION enumeration. The client should also fill out the Layout member of the NET_PACKET structure.
Requirements
Requirement | Value |
---|---|
Minimum KMDF version | 1.29 |
Header | checksumtypes.h |
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for