NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 構造体 (ntddndis.h)

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD構造体には、汎用ルーティング カプセル化 (NVGRE) タスク オフロード (NVGRE-TO) を使用したネットワーク仮想化のオフロード サポート状態が含まれています。 この構造体は、NDIS_OFFLOAD構造体のカプセル化されたPacketTaskOffloadGre メンバーで使用されます。

構文

typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
  ULONG TransmitChecksumOffloadSupported : 4;
  ULONG ReceiveChecksumOffloadSupported : 4;
  ULONG LsoV2Supported : 4;
  ULONG RssSupported : 4;
  ULONG VmqSupported : 4;
  ULONG UsoSupported : 4;
  ULONG Reserved : 8;
  ULONG MaxHeaderSizeSupported;
} NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;

メンバー

TransmitChecksumOffloadSupported

送信チェックサムのタスク オフロード設定。

ReceiveChecksumOffloadSupported

受信チェックサムのタスク オフロード設定。

LsoV2Supported

大規模送信オフロード バージョン 2 (LSOv2) のタスク オフロード設定。

RssSupported

受信側スケーリング (RSS) のタスク オフロード設定。

VmqSupported

仮想マシン キュー (VMQ) のタスク オフロード設定。

UsoSupported

UDP セグメント化オフロード (USO) のタスク オフロード設定。

Reserved

システムで使用するために予約されています。

MaxHeaderSizeSupported

このメンバーは、パケットの先頭から内部 TCP または UDP ペイロードの先頭 (TCP または UDP 内部ヘッダーの最後のバイト) までの最大ヘッダー サイズに設定する必要があります。このサイズは、NIC がこれらのタスクのオフロードをすべてサポートする必要があります。 プロトコル ドライバーは、結合されたカプセル化ヘッダーがこのサイズを超えるパケットの処理をオフロードしないことが予想されます。

: 256 バイトは、考えられるすべてのケースをカバーする適切な既定値です。

注釈

初期機能アドバタイズでは、 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG および NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES 状態の表示で、 TransmitChecksumOffloadSupportedReceiveChecksumOffloadSupportedLsoV2SupportedRssSupportedVmqSupportedおよび UsoSupported メンバーを、次のフラグのビットごとの OR に設定できます。

期間 説明
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED ミニポート アダプターは、メンバーが指定する対応するタスク オフロード機能をサポートしないことを指定します。
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 ミニポート アダプターは、メンバーがカプセル化されたパケットの内部 IP ヘッダーが IPv4 である場所を指定する対応するタスク オフロード機能をサポートすることを指定します。
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 ミニポート アダプターは、メンバーがカプセル化されたパケットの外部 IP ヘッダーが IPv4 である場所を指定する対応するタスク オフロード機能をサポートすることを指定します。
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 ミニポート アダプターは、メンバーがカプセル化されたパケットの内部 IP ヘッダーが IPv6 である場所を指定する対応するタスク オフロード機能をサポートすることを指定します。
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 ミニポート アダプターは、メンバーがカプセル化されたパケットの外部 IP ヘッダーが IPv6 である場所を指定する対応するタスク オフロード機能をサポートすることを指定します。

たとえば、ミニポート アダプターとドライバーが IPv6 ヘッダーのみを外部 IP ヘッダーとしてサポートし、内部 IP ヘッダーとしてサポートしていない場合は、 TransmitChecksumOffloadSupportedReceiveChecksumOffloadSupportedLsoV2SupportedRssSupportedVmqSupportedUsoSupported をビットごとの OR の値に設定NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4、NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4、およびNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6。

IP オプションと TCP オプションに関しては、カプセル化されたパケットに対して次の想定が行われました。

  • NIC で IpOptionsTcpOptions のサポートが通常のチェックサム オフロードと LSOv2 アドバタイズで指定されている場合、 汎用ルーティング カプセル化 (NVGRE) タスク オフロードを使用するネットワーク仮想化 がサポートされている場合は、カプセル化されたパケットのオプション処理をサポートする必要があります。 これは、カプセル化されたパケット内の内部 IP オプションと外部 IP オプションと TCP オプションの両方をサポートすることを意味します。 NVGRE タスク オフロードのみに固有の個別の機能アドバタイズはありません。

プロトコル ドライバーは、内部 IP ヘッダーと外部 IP ヘッダーのバージョンが異なるパケットを意味する "混合モード" パケットをオフロードできます。 たとえば、パケットの外部 IP ヘッダーは IPv6、内部 IP ヘッダーは IPv4 になります。

要件

要件
サポートされている最小のクライアント Windows 8、NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
Header ntddndis.h (Ndis.h を含む)

こちらもご覧ください