NET_PACKET_CHECKSUM - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// checksumtypes.h

typedef struct _NET_PACKET_CHECKSUM {
  UINT8 Layer2 : 2;
  UINT8 Layer3 : 2;
  UINT8 Layer4 : 2;
  UINT8 Reserved : 2;
} NET_PACKET_CHECKSUM;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-checksumtypes-_net_packet_checksum)

_NET_PACKET_CHECKSUM structure

Description

A NET_PACKET_CHECKSUM structure describes checksum information for a NET_PACKET.

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.

See also

Packet descriptors and extensions