NDIS_OFFLOAD_ENCAPSULATION (Compact 7)
3/12/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.
- NDIS_ENCAPSULATION_IEEE_802_3
- 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.
- Enabled
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.
- NDIS_ENCAPSULATION_IEEE_802_3
- 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.
- Enabled
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