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 數目上限。
MaxTransferLength
單一傳送、接收、讀取或寫入要求中所有 SCE 可以參考的最大長度。
MaxInlineDataSize
內嵌資料的最大數量,以位元組為單位,可在單一傳送或寫入要求中傳送。
MaxInboundReadLimit
每個 QP 進行中的傳入讀取作業數目上限。
MaxOutboundReadLimit
每個 QP 的進行中傳出讀取作業數目上限。
MaxReceiveQueueDepth
每個接收佇列的未處理要求數目上限。
MaxInitiatorQueueDepth
每個啟動器佇列的未處理要求數目上限。
MaxSrqDepth
每個共用接收佇列的未處理要求數目上限, (SRQ) 。 值為零表示沒有 SRQ 支援。
MaxCqDepth
每個完成佇列的最大完成專案數目, (CQ) 。
LargeRequestThreshold
資料大小提示,以位元組為單位,讀取和寫入作業會產生比傳送和接收作業更好的結果。
MaxCallerData
可透過連線要求傳送的私人資料大小上限,以位元組為單位。
MaxCalleeData
可以接受或拒絕要求傳送之私人資料的大小上限,以位元組為單位。
AdapterFlags
決定配接器屬性的一組旗標。 目前定義的旗標包括:
值 | 意義 |
---|---|
|
設定提供者是否依序將傳入資料寫入取用者的緩衝區。 也就是說,取用者緩衝區中的最後一個位元組位置保證不會在先前的任何位元組位置之前更新。 |
|
如果提供者不需要 RDMA 讀取要求之接收緩衝區的特殊存取權限,請設定 。 設定此旗標時,取用者不需要在註冊 RDMA 讀取要求的接收緩衝區時,使用NDK_MR_FLAG_RDMA_READ_SINK或NDK_OP_FLAG_RDMA_READ_SINK旗標。 取用者也可以使用邏輯位址對應,直接 (搭配NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN函式取得的權杖 ,) 作為 RDMA 讀取接收緩衝區。 這類似于 RDMA 寫入、傳送和接收作業的本機緩衝區存取。 |
|
設定提供者是否支援以程式設計方式控制每個完成佇列的中斷仲裁, (CQ) 。 設定此旗標時,NDK 取用者可以使用NDK_CQ_DISPATCH資料表中的NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION函式。 |
|
如果提供者支援使用多個執行引擎並行處理多個連線,請設定 。 如果設定此旗標,在配接器上同時使用一個以上的連線的 NDK 取用者可能會提供比單一連線更好的效能。 |
|
如果提供者支援在完成讀取要求時傳遞至NdkRead (NDK_FN_READ) 函式的第一個NDK_SGE中指定的本機權杖失效,請設定 。
注意 只有在 NDKPI 1.2 (Windows Server 2012 R2) 和更新版本中才支援此值。 |
|
如果提供者支援調整 CQ 物件的大小,請設定 。 如果未設定此旗標,取用者不得嘗試 CQ 調整大小。 |
|
如果提供者支援回送連線,請設定 。 也就是說,從指定 RNIC 上的區域網路位址回送至相同 RNIC 上的相同本機位址。 |
RdmaTechnology
備註
NDK_FN_QUERY_ADAPTER_INFO函式會擷取NDK_ADAPTER_INFO,其中包含配接器的各種限制和功能的相關資訊。
需求
最低支援的用戶端 | NDIS 6.30 和更新版本中不支援,不支援。 |
最低支援的伺服器 | Windows Server 2012 |
標頭 | ndkinfo.h (包含 Ndkpi.h) |
另請參閱
NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION