NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO 構造体 (ndis.h)

NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO構造体には、カプセル化されたパケットに関する追加の帯域外情報が含まれています。 詳細については、「 汎用ルーティング カプセル化 (NVGRE) タスク オフロード (NVGRE-TO) を使用したネットワーク仮想化 」を参照してください。

構文

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;

メンバー

EncapsulatedPacketOffsets

EncapsulatedPacketOffsets.IsEncapsulatedPacket

このメンバーが TRUE の場合、この NBL は、トランスポート IP ヘッダーを持つ内部イーサネット フレームを含むパケットを表します。 通常のパケットの場合は FALSE です。 IsEncapsulatedPacketTRUE の場合、既存のヘッダー オフセット フィールドNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFOLsoV2TransmitTcpHeaderOffsetNDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO送信TcpHeaderOffset は正しい値を持たず、NIC またはドライバーで使用することはできません。 代わりに、ミニポート ドライバーは、この構造体の他のメンバーで指定されたオフセットを使用する必要があります。

EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid

このメンバーが TRUE の場合、 InnerFrameOffsetTransportIpHeaderRelativeOffsetおよび TcpHeaderRelativeOffset メンバーには有効な値があります。

EncapsulatedPacketOffsets.InnerFrameOffset

パケットの先頭から内側のイーサネット フレームの最初のバイトまでのオフセット。

EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset

InnerFrameOffset に対する相対的な内部 IP ヘッダーの最初のバイトへのオフセット。

EncapsulatedPacketOffsets.TcpHeaderRelativeOffset

TransportIpHeaderRelativeOffset に対する相対的な内部 (トランスポート) ヘッダーの最初のバイトへのオフセット。 内部フレームが TCP パケットでない場合でも、この値は常に正しいオフセットに設定されます。

EncapsulatedPacketOffsets.IsInnerIPv6

カプセル化されたパケット内の内部 IP ヘッダーに IPv6 アドレスが含まれていることを示すように、プロトコル ドライバーによって設定されます。

EncapsulatedPacketOffsets.TcpOptionsPresent

内部 TCP ヘッダーに TCP オプションが含まれている場合に、プロトコル ドライバーによって設定されます。 これにより、ミニポート ドライバーは、ペイロードにアクセスする TCP ヘッダーの長さを想定するオプションがない場合にケースを最適化できます。

EncapsulatedPacketOffsets.Reserved

将来使用するために予約されています。

Value

将来利用するために予約されています。

注釈

NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFOのメンバーは、tcpIpChecksumNetBufferListInfo または TcpLargeSendNetBufferListInfoNDIS_NET_BUFFER_LIST_INFO構造体で指定されている場合にのみ意味があります。

IsEncapsulatedPacket メンバーが TRUE で、TcpIpChecksumNetBufferListInfo アウトオブバンド (OOB) 情報が有効な場合は、NVGRE のサポートが必要であり、NIC がトンネル (外部) IP ヘッダー、トランスポート (内部) IP ヘッダー、TCP または UDP ヘッダー (存在する場合) のチェックサムを計算する必要があることを示します。 NVGRE パケットは、パケットがミニポート アドバタイズされた機能に準拠している場合にのみオフロードされます。 たとえば、ミニポートがその基本機能で UDP Tx チェックサム オフロードのサポートをアドバタイズしなかった場合、UDP ヘッダーを含むパケットはオフロードされません。 詳細については、「 チェックサム タスクのオフロード」を参照してください。

要件

要件
サポートされている最小のクライアント NDIS 6.30 以降でサポートされています。
Header ndis.h

こちらもご覧ください

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD

NDIS_NET_BUFFER_LIST_INFO

汎用ルーティング カプセル化 (NVGRE) タスク オフロードを使用したネットワークの仮想化

チェックサム タスクのオフロード