NDIS_OFFLOAD structure

The NDIS_OFFLOAD structure specifies several computational tasks that can be offloaded to the network adapter.

Syntax


typedef struct _NDIS_OFFLOAD {
  NDIS_OBJECT_HEADER                    Header;
  NDIS_TCP_IP_CHECKSUM_OFFLOAD          Checksum;
  NDIS_TCP_LARGE_SEND_OFFLOAD_V1        LsoV1;
  NDIS_IPSEC_OFFLOAD_V1                 IPsecV1;
  NDIS_TCP_LARGE_SEND_OFFLOAD_V2        LsoV2;
  ULONG                                 Flags;
#if (NDIS_SUPPORT_NDIS61)
  NDIS_IPSEC_OFFLOAD_V2                 IPsecV2;
#endif 
#if (NDIS_SUPPORT_NDIS630)
  NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD    Rsc;
  NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre;
#endif 
} NDIS_OFFLOAD, *PNDIS_OFFLOAD;

Members

Header

The NDIS_OBJECT_HEADER structure for the NDIS_OFFLOAD structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_OFFLOAD.

Set the Revision and Size members of the NDIS_OBJECT_HEADER structure as follows:

  • For NDIS 6.30 and later drivers:
    • Set Revision to NDIS_OFFLOAD_REVISION_3 (NDIS 6.30).
    • Set Size to NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3.
  • For NDIS 6.1 and 6.20 drivers:
    • Set Revision to NDIS_OFFLOAD_REVISION_2 (NDIS 6.1).
    • Set Size to NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2.
  • For NDIS 6.0 drivers:
    • Set Revision to NDIS_OFFLOAD_REVISION_1 (NDIS 6.0).
    • Set Size to NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1.
Checksum

Checksum offload information in an NDIS_TCP_IP_CHECKSUM_OFFLOAD structure.

LsoV1

Large send offload version 1 (LSOV1) information in an NDIS_TCP_LARGE_SEND_OFFLOAD_V1 structure.

IPsecV1

Internet protocol security (IPsec) offload information in an NDIS_IPSEC_OFFLOAD_V1 structure.

LsoV2

Large send offload version 2 (LSOV2) offload information in an NDIS_TCP_LARGE_SEND_OFFLOAD_V2 structure.

Flags

A bitwise OR of flags that specify properties that the network adapter supports. The following flags are defined.

ValueMeaning
IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE
0x00000002

The network adapter supports IPsecV2 and TCP checksums.

IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE
0x00000004

The network adapter supports IPsecV2 and UDP checksums.

 

IPsecV2

Internet protocol security (IPsec) offload version 2 information in an NDIS_IPSEC_OFFLOAD_V2 structure.

Rsc

Receive Segment Coalescing (RSC) offload information in an NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD structure.

EncapsulatedPacketTaskOffloadGre

Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload information in an NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD structure. This member should only be set by miniport drivers that support task offloads for NVGRE-formatted packets.

Note  This member is available only in NDIS 6.30 and later.

Remarks

The NDIS_OFFLOAD structure is used in the following places:

Requirements

Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008

Version

Supported in NDIS 6.0 and later.

Header

Ntddndis.h (include Ndis.h)

See also

NDIS_BIND_PARAMETERS
NDIS_FILTER_ATTACH_PARAMETERS
NDIS_IPSEC_OFFLOAD_V1
NDIS_IPSEC_OFFLOAD_V2
NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES
NDIS_OBJECT_HEADER
NDIS_OID_REQUEST
NDIS_STATUS_INDICATION
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG
NDIS_TCP_IP_CHECKSUM_OFFLOAD
NDIS_TCP_LARGE_SEND_OFFLOAD_V1
NDIS_TCP_LARGE_SEND_OFFLOAD_V2
OID_OFFLOAD_ENCAPSULATION
OID_TCP_OFFLOAD_CURRENT_CONFIG
OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES
Determining the RSC Capabilities of a Network Adapter
Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload
TCP/IP Task Offload

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft