共用方式為


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

配接器可以定址的單一記憶體註冊大小上限,以位元組為單位。

MaxWindowSize

單一記憶體視窗的大小上限,以位元組為單位。

FRMRPageCount

快速登錄記憶體區域 (FRMR) 大小 (PAGE_SIZE頁面) 配接器支援最大 FRDR 數目。 提供者必須至少支援 16 個 FRMR 頁面。 上層通常會使用此值作為 FRMR 大小,以優化並行 FRMR 型 I/O 作業。 因此,只有在該大小支援的 FRDR 總數不具意義地降低時,才應該廣告大於 16 的值。

MaxInitiatorRequestSge

(SCE) 散佈收集項目數目上限,可在起始端佇列的單一要求中指定。

MaxReceiveRequestSge

可透過接收佇列在單一要求中指定的 SGE 數目上限。

MaxReadRequestSge

可在讀取要求中指定的 SGE 數目上限。

注意 此值會覆寫讀取要求的 MaxInitiatorRequestSge 值。
 

MaxTransferLength

單一傳送、接收、讀取或寫入要求中所有 SCE 可以參考的最大長度。

MaxInlineDataSize

內嵌資料的最大數量,以位元組為單位,可在單一傳送或寫入要求中傳送。

MaxInboundReadLimit

每個 QP 進行中的傳入讀取作業數目上限。

MaxOutboundReadLimit

每個 QP 的進行中傳出讀取作業數目上限。

MaxReceiveQueueDepth

每個接收佇列的未處理要求數目上限。

MaxInitiatorQueueDepth

每個啟動器佇列的未處理要求數目上限。

MaxSrqDepth

每個共用接收佇列的未處理要求數目上限, (SRQ) 。 值為零表示沒有 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旗標。 取用者也可以使用邏輯位址對應,直接 (搭配NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN函式取得的權杖 ) 作為 RDMA 讀取接收緩衝區。 這類似于 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 取用者可能會提供比單一連線更好的效能。
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
標頭 ndkinfo.h (包含 Ndkpi.h)

另請參閱

NDK_CQ_DISPATCH

NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION

NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN

NDK_VERSION