NDK_ADAPTER_INFO 構造体 (ndkinfo.h)

NDK_ADAPTER_INFO構造体は、NDK アダプターの制限と機能に関する情報を指定します。

構文

typedef struct _NDK_ADAPTER_INFO {
  NDK_VERSION         Version;
  UINT32              VendorId;
  UINT32              DeviceId;
  SIZE_T              MaxRegistrationSize;
  SIZE_T              MaxWindowSize;
  ULONG               FRMRPageCount;
  ULONG               MaxInitiatorRequestSge;
  ULONG               MaxReceiveRequestSge;
  ULONG               MaxReadRequestSge;
  ULONG               MaxTransferLength;
  ULONG               MaxInlineDataSize;
  ULONG               MaxInboundReadLimit;
  ULONG               MaxOutboundReadLimit;
  ULONG               MaxReceiveQueueDepth;
  ULONG               MaxInitiatorQueueDepth;
  ULONG               MaxSrqDepth;
  ULONG               MaxCqDepth;
  ULONG               LargeRequestThreshold;
  ULONG               MaxCallerData;
  ULONG               MaxCalleeData;
  ULONG               AdapterFlags;
  NDK_RDMA_TECHNOLOGY RdmaTechnology;
} NDK_ADAPTER_INFO;

メンバー

Version

NDK インターフェイスのメジャー バージョンとマイナー バージョン (NDK_VERSION)。

VendorId

ベンダーの組織の一意識別子 (OUI)。

DeviceId

ベンダー定義のデバイス識別子。

MaxRegistrationSize

アダプターがアドレス指定できる 1 つのメモリ登録の最大サイズ (バイト単位)。

MaxWindowSize

1 つのメモリ ウィンドウの最大サイズ (バイト単位)。

FRMRPageCount

アダプターが最大数の FRMR をサポートする高速レジスタ メモリ領域 ( FRMR ) サイズ (PAGE_SIZE ページ)。 プロバイダーは、少なくとも 16 個の FRMR ページをサポートする必要があります。 この値は通常、FRMR ベースの同時 I/O 操作を最適化する FRMR サイズとして上位レイヤーで使用されます。 そのため、16 より大きい値のアドバタイズは、そのサイズでサポートされている FRMR の合計数が結果として有意に減少しない場合にのみ行う必要があります。

MaxInitiatorRequestSge

イニシエーター キュー経由の 1 つの要求で指定できるスキャッター ギャザー エントリ (SG) の最大数。

MaxReceiveRequestSge

受信キュー経由で 1 つの要求で指定できる SES の最大数。

MaxReadRequestSge

読み取り要求で指定できる SES の最大数。

メモ この値は、読み取り要求の MaxInitiatorRequestSge 値をオーバーライドします。
 

MaxTransferLength

1 回の送信、受信、読み取り、または書き込み要求内のすべての SG で参照できる最大の合計長。

MaxInlineDataSize

1 回の送信または書き込み要求で送信できるインライン データの最大量 (バイト単位)。

MaxInboundReadLimit

各 QP の進行中の受信読み取り操作の最大数。

MaxOutboundReadLimit

各 QP の進行中の送信読み取り操作の最大数。

MaxReceiveQueueDepth

各受信キューの未処理の要求の最大数。

MaxInitiatorQueueDepth

各イニシエーター キューに対する未処理の要求の最大数。

MaxSrqDepth

各共有受信キュー (SRQ) に対する未処理の要求の最大数。 値が 0 の場合、SRQ はサポートされません。

MaxCqDepth

各完了キュー (CQ) の完了エントリの最大数。

LargeRequestThreshold

読み取り操作と書き込み操作を超えるデータ サイズ ヒント (バイト単位) では、送受信操作よりも優れた結果が得られます。

MaxCallerData

接続要求で送信できるプライベート データの最大サイズ (バイト単位)。

MaxCalleeData

承諾要求または拒否要求で送信できるプライベート データの最大サイズ (バイト単位)。

AdapterFlags

アダプターのプロパティを決定するフラグのセット。 現在定義されているフラグは次のとおりです。

説明
NDK_ADAPTER_FLAG_IN_ORDER_DMA_SUPPORTED
0x00000001
プロバイダーが受信データをコンシューマーのバッファーに順番に書き込むかどうかを設定します。 つまり、コンシューマーのバッファー内の最後のバイト位置は、前のバイト位置の前に更新されないことが保証されます。
NDK_ADAPTER_FLAG_RDMA_READ_SINK_NOT_REQUIRED
0x00000002

プロバイダーが RDMA 読み取り要求のシンク バッファーに対する特別なアクセス権を必要としない場合に設定します。 このフラグが設定されている場合、RDMA 読み取り要求のシンク バッファーを登録するときに、コンシューマーは NDK_MR_FLAG_RDMA_READ_SINK または NDK_OP_FLAG_RDMA_READ_SINK フラグを使用する必要はありません。 コンシューマーは、RDMA 読み取りシンク バッファーとして( NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN 関数で取得されたトークンを使用して) 論理アドレス マッピングを直接使用することもできます。 これは、RDMA の書き込み、送信、および受信操作のためのローカル バッファーへのアクセスに似ています。

NDK_ADAPTER_FLAG_CQ_INTERRUPT_MODERATION_SUPPORTED
0x00000004
プロバイダーが各完了キュー (CQ) のプログラムによって制御される割り込みモデレーションをサポートするかどうかを設定します。 このフラグを設定すると、NDK コンシューマーは 、NDK_CQ_DISPATCHテーブルの NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION 関数を使用できます。
NDK_ADAPTER_FLAG_MULTI_ENGINE_SUPPORTED
0x00000008
プロバイダーが複数の実行エンジンとの複数の接続の同時処理をサポートする場合に設定します。 このフラグが設定されている場合、アダプターで複数の接続を同時に使用する NDK コンシューマーは、1 つの接続よりも優れたパフォーマンスを提供する可能性があります。
NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED
0x00000010
プロバイダーが読み取り要求の完了時に NdkRead (NDK_FN_READ) 関数に渡される最初のNDK_SGEで指定されたローカル トークンの無効化をサポートする場合に設定します。

メモ この値は、NDKPI 1.2 (Windows Server 2012 R2) 以降でのみサポートされます。

NDK_ADAPTER_FLAG_CQ_RESIZE_SUPPORTED
0x00000100
プロバイダーが CQ オブジェクトのサイズ変更をサポートしているかどうかを設定します。 このフラグが設定されていない場合、コンシューマーは CQ のサイズ変更を試みてはなりません。
NDK_ADAPTER_FLAG_LOOPBACK_CONNECTIONS_SUPPORTED
0x00010000
プロバイダーがループバック接続をサポートするかどうかを設定します。 つまり、特定の RNIC 上のローカル ネットワーク アドレスから同じ RNIC 上の同じローカル アドレスへのループバックです。

RdmaTechnology

解説

NDK_FN_QUERY_ADAPTER_INFO関数は、アダプターのさまざまな制限と機能に関する情報を含むNDK_ADAPTER_INFOを取得します。

要件

   
サポートされている最小のクライアント サポートされていません。NDIS 6.30 以降でサポートされています。
サポートされている最小のサーバー Windows Server 2012
Header ndkinfo.h (Ndkpi.h を含む)

関連項目

NDK_CQ_DISPATCH

NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION

NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN

NDK_VERSION