NIC の LSOV2 TCP パケット セグメンテーション機能のレポート

NDIS ミニポート ドライバーは、NDIS_TCP_LARGE_SEND_OFFLOAD_V2 構造体の NIC の現在の大きな送信オフロード バージョン 2 (LSOV2) TCP パケット セグメント化の構成を指定します。ミニポート ドライバーは、現在の LSOV2 オフロード構成を NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 構造体に含める必要があります。 ミニポート ドライバーは、MiniportInitializeEx 関数から NdisMSetMiniportAttributes 関数を呼び出し、NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 内の情報を渡します。

ミニポート ドライバーは、NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 状態表示で、LSOV2 構成の変更 (存在する場合) を報告する必要があります。

OID_TCP_OFFLOAD_CURRENT_CONFIG のクエリに応答して、NDIS は、NDIS_OID_REQUEST 構造体の InformationBuffer メンバーで NDIS が返す NDIS_OFFLOAD 構造体に NDIS_TCP_LARGE_SEND_OFFLOAD_V2 構造体を含めます。 NDIS は、ミニポート ドライバーが提供した情報を使用します。

LSOV2 ハードウェアをサポートするミニポート ドライバーは LSOV1 もサポートすることをお勧めします。 このサポートにより、NDIS 5.x 中間ドライバーがミニポート アダプター経由でインストールされている場合、TCP/IP トランスポートは LSOV1 を使用できるようになります。 LSOV1 機能の詳細については、「NIC の LSOV1 TCP パケット セグメント化機能の報告」を参照してください。

LSOV2 では、IPv4 および IPv6 パケットがサポートされます。 ミニポート ドライバーは、NDIS_TCP_LARGE_SEND_OFFLOAD_V2 構造体の IPv4 と IPv6 の両方に次の情報を指定する必要があります。

  • Encapsulation メンバー内のカプセル化設定。 このメンバーの詳細については、NDIS_TCP_LARGE_SEND_OFFLOAD_V2 の「解説」セクションを参照してください。

  • MaxOffLoadSize メンバー内の、TCP/IP トランスポートが大きな TCP パケットでミニポート ドライバーに渡すことができるユーザー データの最大バイト数。

  • MinSegmentCount メンバーで、TCP/IP トランスポートがセグメント化のために NIC にオフロードする前に、大きな TCP パケットが割り切れる必要があるセグメントの最小数。

タスク オフロード機能の判断