NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES - NtDoc

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

typedef struct _NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES {
  ULONG                            Size;
  NET_ADAPTER_OFFLOAD_LAYER3_FLAGS Layer3Flags;
  NET_ADAPTER_OFFLOAD_LAYER4_FLAGS Layer4Flags;
  UINT16                           Layer4HeaderOffsetLimit;
  SIZE_T                           MaximumOffloadSize;
  SIZE_T                           MinimumSegmentCount;
  PFN_NET_ADAPTER_OFFLOAD_SET_GSO  EvtAdapterOffloadSetGso;
} NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-netadapteroffload-_net_adapter_offload_gso_capabilities)

_NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES structure

Description

The NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES structure describes a network interface card (NIC)'s capabilities for Generic Segmentation Offload (GSO).

Members

Size

The size of this structure, in bytes.

Layer3Flags

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

The flags should be a combination of:

Flag Description
NetAdapterOffloadLayer3FlagIPv4NoOptions Set if the NIC is capable of performing GSO on IPv4 packets without options
NetAdapterOffloadLayer3FlagIPv4WithOptions Set if the NIC is capable of performing GSO on IPv4 packets with options
NetAdapterOffloadLayer3FlagIPv6NoExtensions Set if the NIC is capable of performing GSO on IPv6 packets without extensions
NetAdapterOffloadLayer3FlagIPv6WithExtensions Set if the NIC is capable of performing GSO on IPv6 packets with extensions

Layer4Flags

Flags specifying the layer 4 protocol variations that the NIC can successfully perform GSO on. The NetAdapterOffloadLayer4FlagTcpNoOptions flag must be set if the NIC supports LSO. The NetAdapterOffloadLayer4FlagUdp flag must be set if the NIC supports USO.

The flags should be a combination of:

Flag Description
NetAdapterOffloadLayer4FlagTcpNoOptions Set if the NIC is capable of performing LSO on TCP packets without options
NetAdapterOffloadLayer4FlagTcpWithOptions Set if the NIC is capable of performing LSO on TCP packets with options
NetAdapterOffloadLayer4FlagUdp Set if the NIC is capable of performing USO on UDP packets

Layer4HeaderOffsetLimit

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

MaximumOffloadSize

The maximum bytes of user data that the transport can pass to the NIC driver in a single packet.

MinimumSegmentCount

The minimum number of segments by which a large TCP/UDP packet must be divisible before the transport can offload it to the hardware for segmentation.

EvtAdapterOffloadSetGso

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

Remarks

Call NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES_INIT to initialize this structure. The client driver passes an initialized NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES structure as a parameter to NetAdapterOffloadSetGsoCapabilities.

See also

Generic Segmentation Offload

NET_ADAPTER_OFFLOAD_GSO_CAPABILITIES_INIT

NetAdapterOffloadSetGsoCapabilities

EVT_NET_ADAPTER_OFFLOAD_SET_GSO