NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES structure (netadapteroffload.h)

The NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES structure describes a network interface card (NIC)'s Tx checksum offload capabilities.

Syntax

typedef struct _NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES {
  ULONG                                   Size;
  NET_ADAPTER_OFFLOAD_LAYER3_FLAGS        Layer3Flags;
  NET_ADAPTER_OFFLOAD_LAYER4_FLAGS        Layer4Flags;
  UINT16                                  Layer3HeaderOffsetLimit;
  UINT16                                  Layer4HeaderOffsetLimit;
  PFN_NET_ADAPTER_OFFLOAD_SET_TX_CHECKSUM EvtAdapterOffloadSetTxChecksum;
} NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES;

Members

Size

The size of this structure in bytes.

Layer3Flags

Flags specifying the layer 3 protocol variations that the NIC can successfully perform Tx checksum on.

The flags should be a combination of:

Flag Description
NetAdapterOffloadLayer3FlagIPv4NoOptions Set if the NIC is capable of performing IPv4 checksum offload or TCP/UDP checksum offload on IPv4 packets without options
NetAdapterOffloadLayer3FlagIPv4WithOptions Set if the NIC is capable of performing Tx checksum offload on IPv4 packets with options
NetAdapterOffloadLayer3FlagIPv6NoExtensions Set if the NIC is capable of performing Tx checksum offload on IPv6 packets without extensions
NetAdapterOffloadLayer3FlagIPv6WithExtensions Set if the NIC is capable of performing Tx checksum offload on IPv6 packets with extensions

Layer4Flags

Flags specifying the layer 4 protocol variations that the NIC can successfully perform Tx checksum on. This member is optional.

The flags should be a combination of:

Flag Description
NetAdapterOffloadLayer4FlagTcpNoOptions Set if the NIC is capable of performing TCP checksum offload
NetAdapterOffloadLayer4FlagTcpWithOptions Set if the NIC is capable of performing Tx checksum offload on TCP packets with options
NetAdapterOffloadLayer4FlagUdp Set if the NIC is capable of performing UDP checksum offload

Layer3HeaderOffsetLimit

The maximum layer 3 header offset that the NIC supports in bytes. This member is optional.

Layer4HeaderOffsetLimit

The maximum layer 4 header offset that the NIC supports in bytes. This member is optional.

EvtAdapterOffloadSetTxChecksum

A pointer to the client driver's implementation of the EVT_NET_ADAPTER_OFFLOAD_SET_TX_CHECKSUM callback function.

Remarks

Call NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES_INIT to initialize this structure. The client driver passes an initialized NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES structure as a parameter to NetAdapterOffloadSetTxChecksumCapabilities.

Requirements

Requirement Value
Minimum supported client Windows 11
Minimum supported server Windows Server 2022
Minimum KMDF version 1.29
Header netadapteroffload.h (include netadaptercx.h)

See also

Checksum Offload

EVT_NET_ADAPTER_OFFLOAD_SET_TX_CHECKSUM

NET_ADAPTER_OFFLOAD_TX_CHECKSUM_CAPABILITIES_INIT

NetAdapterOffloadSetTxChecksumCapabilities