Share via


NDIS_OFFLOAD_ENCAPSULATION (Compact 2013)

3/26/2014

This structure specifies encapsulation settings when it is used with the OID_OFFLOAD_ENCAPSULATION OID.

Syntax

typedef struct _NDIS_OFFLOAD_ENCAPSULATION {
  NDIS_OBJECT_HEADER  Header;
  struct {
    ULONG  Enabled;
    ULONG  EncapsulationType;
    ULONG  HeaderSize;
  } IPv4;
  struct {
    ULONG  Enabled;
    ULONG  EncapsulationType;
    ULONG  HeaderSize;
  } IPv6;
} NDIS_OFFLOAD_ENCAPSULATION, *PNDIS_OFFLOAD_ENCAPSULATION;

Members

  • Header
    The NDIS_OBJECT_HEADER structure for the NDIS_OFFLOAD_ENCAPSULATION structure. Set the Type member of the structure that Header specifies to NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION, the Revision member to NDIS_OFFLOAD_ENCAPSULATION_ REVISION _1, and the Size member to NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1.
  • IPv4
    A structure within NDIS_OFFLOAD_ENCAPSULATION that specifies IPv4 encapsulation and that contains the following members:

    • Enabled
      A ULONG value that enables IPv4 encapsulation. A protocol driver sets Enabled to NDIS_OFFLOAD_SET_ON if it is enabling IPv4 large send offload version 1 (LSOV1), large send offload version 2 (LSOV2), or checksum offloads. Otherwise, the protocol driver sets Enabled to NDIS_OFFLOAD_SET_NO_CHANGE.
    • EncapsulationType
      The IPv4 encapsulation type. If the Enabled member is not set to NDIS_OFFLOAD_SET_ON, this member is zero. If the Enabled member is set to NDIS_OFFLOAD_SET_ON, a protocol driver must set EncapsulationType to one of the following:

      • NDIS_ENCAPSULATION_IEEE_802_3
        Specifies IEEE 802.3 encapsulation.
      • NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
        Specifies logical link control (LLC) encapsulation for routed protocols, as described in RFC 1483. This flag is also used to indicate Ethernet LLC/SNAP encapsulation.
    • HeaderSize
      The Ethernet header length that is used in IPv4 packets. If the Enabled member is not set to NDIS_OFFLOAD_SET_ON, this member is zero. If the Enabled member is set to NDIS_OFFLOAD_SET_ON, a protocol driver must set HeaderSize to the size of the Ethernet header that it uses.
  • IPv6
    A structure within NDIS_OFFLOAD_ENCAPSULATION that specifies IPv6 encapsulation and that contains the following members:

    • Enabled
      A ULONG value that enables IPv6 encapsulation. A protocol driver sets Enabled to NDIS_OFFLOAD_SET_ON if it is enabling IPv6 LSOV1, LSOV2, or checksum offloads. Otherwise, the protocol driver sets Enabled to NDIS_OFFLOAD_SET_NO_CHANGE.
    • EncapsulationType
      The IPv6 encapsulation type. If the Enabled member is not set to NDIS_OFFLOAD_SET_ON, EncapsulationType is zero. If the Enabled member is set to NDIS_OFFLOAD_SET_ON, a protocol driver must set EncapsulationType to one of the following:

      • NDIS_ENCAPSULATION_IEEE_802_3
        Specifies IEEE 802.3 encapsulation.
      • NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
        Specifies LLC encapsulation for routed protocols, as described in RFC 1483. This flag is also used to indicate Ethernet LLC/SNAP encapsulation.
    • HeaderSize
      The Ethernet header length that is used in IPv6 packets. If the Enabled member is not set to NDIS_OFFLOAD_SET_ON, this member is zero. If the Enabled member is set to NDIS_OFFLOAD_SET_ON, a protocol driver must set HeaderSize to the size of the Ethernet header that it uses.

Remarks

The NDIS_OFFLOAD_ENCAPSULATION structure specifies the requested encapsulation settings that a miniport adapter should use for task offload services.

In a set of OID_OFFLOAD_ENCAPSULATION, a protocol driver specifies an NDIS_OFFLOAD_ENCAPSULATION structure in the InformationBuffer member of the NDIS_OID_REQUEST structure.

Requirements

Header

ntddndis.h

See Also

Reference

NDIS TCP/IP Offload Structures
NDIS_OBJECT_HEADER
NDIS_OID_REQUEST
OID_OFFLOAD_ENCAPSULATION