NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO-Struktur (ndis.h)
Die NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO-Struktur enthält zusätzliche Out-of-Band-Informationen für gekapselte Pakete. Weitere Informationen finden Sie unter Network Virtualization using Generic Routing Encapsulation (NVGRE) Task Offload (NVGRE-TO).
Syntax
typedef struct _NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO {
union {
struct {
ULONG IsEncapsulatedPacket : 1;
ULONG EncapsulatedPacketOffsetsValid : 1;
ULONG InnerFrameOffset : 8;
ULONG TransportIpHeaderRelativeOffset : 6;
ULONG TcpHeaderRelativeOffset : 10;
ULONG IsInnerIPv6 : 1;
ULONG TcpOptionsPresent : 1;
ULONG Reserved : 4;
} EncapsulatedPacketOffsets;
PVOID Value;
};
} NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, *PNDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO;
Member
EncapsulatedPacketOffsets
EncapsulatedPacketOffsets.IsEncapsulatedPacket
Wenn dieser Member TRUE ist, stellt diese NBL ein Paket dar, das einen inneren Ethernet-Frame mit einem Transport-IP-Header enthält. Für normale Pakete ist dies FALSE . Wenn IsEncapsulatedPacketauf TRUE festgelegt ist, NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO die vorhandenen Headeroffsetfelder. LsoV2Transmit. TcpHeaderOffset und NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Übertragen. TcpHeaderOffset hat keine richtigen Werte und darf nicht von der NIC oder dem Treiber verwendet werden. Stattdessen muss der Miniporttreiber die offsets verwenden, die in den anderen Membern dieser Struktur angegeben sind.
EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid
Wenn dieser Member TRUE ist, verfügen die Elemente InnerFrameOffset, TransportIpHeaderRelativeOffset und TcpHeaderRelativeOffset über gültige Werte.
EncapsulatedPacketOffsets.InnerFrameOffset
Offset vom Anfang des Pakets bis zum ersten Byte des inneren Ethernet-Frames.
EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset
Offset auf das erste Byte des inneren IP-Headers relativ zum InnerFrameOffset.
EncapsulatedPacketOffsets.TcpHeaderRelativeOffset
Offset auf das erste Byte des inneren Headers (Transport) relativ zum TransportIpHeaderRelativeOffset. Dieser Wert wird immer auf den richtigen Offset festgelegt, auch wenn der innere Frame kein TCP-Paket ist.
EncapsulatedPacketOffsets.IsInnerIPv6
Legen Sie vom Protokolltreiber fest, um anzugeben, dass der innere IP-Header im gekapselten Paket IPv6-Adressen enthält.
EncapsulatedPacketOffsets.TcpOptionsPresent
Wird vom Protokolltreiber festgelegt, wenn der innere TCP-Header TCP-Optionen enthält. Dadurch kann ein Miniporttreiber den Fall optimieren, wenn es keine Optionen gibt, die TCP-Headerlänge für den Zugriff auf die Nutzlast anzunehmen.
EncapsulatedPacketOffsets.Reserved
Für zukünftige Verwendung reserviert.
Value
Für die zukünftige Verwendung reserviert.
Bemerkungen
Die Member von NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO sind nur dann sinnvoll, wenn TcpIpChecksumNetBufferListInfo oder TcpLargeSendNetBufferListInfo in der NDIS_NET_BUFFER_LIST_INFO-Struktur angegeben ist.
Wenn das IsEncapsulatedPacket-ElementTRUE und die OOB-Informationen (Out-of-Band) von TcpIpChecksumNetBufferListInfo gültig sind, gibt dies an, dass NVGRE-Unterstützung erforderlich ist und die NIC die Prüfsumme für den Tunnel-IP-Header (äußeren) IP-Header, den Transport-IP-Header (inneren) und den TCP- oder UDP-Header berechnen muss, wenn einer davon vorhanden ist. Ein NVGRE-Paket wird nur ausgeladen, wenn das Paket den von Miniport angekündigten Funktionen entspricht. Beispielsweise wird ein Paket, das einen UDP-Header enthält, nicht ausgeladen, wenn der Miniport in seinen Basisfunktionen keine Unterstützung für udp-Tx-Prüfsummenabladung angekündigt hat. Weitere Informationen finden Sie unter Auslagern von Prüfsummentasks.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.30 und höher. |
Kopfzeile | ndis.h |
Weitere Informationen
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD
Task offload (Network Virtualization using Generic Routing Encapsulation, NVGRE)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für