Bagikan melalui


struktur NDK_ADAPTER_INFO (ndkinfo.h)

Struktur NDK_ADAPTER_INFO menentukan informasi tentang batas dan kemampuan adaptor NDK.

Sintaks

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;

Anggota

Version

Versi utama dan minor antarmuka NDK (NDK_VERSION).

VendorId

Pengidentifikasi unik organisasi (OUI) vendor.

DeviceId

Pengidentifikasi perangkat yang ditentukan vendor.

MaxRegistrationSize

Ukuran maksimum, dalam byte, dari pendaftaran memori tunggal yang dapat diatasi adaptor.

MaxWindowSize

Ukuran maksimum, dalam byte, untuk satu jendela memori.

FRMRPageCount

Ukuran wilayah memori daftar cepat (FRMR) (di halaman PAGE_SIZE ) yang adaptornya mendukung sejumlah besar FRMR. Penyedia harus mendukung setidaknya 16 halaman FRMR. Nilai ini biasanya digunakan oleh lapisan atas sebagai ukuran FRMR yang mengoptimalkan operasi I/O berbasis FRMR bersamaan. Oleh karena itu, mengiklankan nilai yang lebih besar dari 16 harus dilakukan hanya jika jumlah total FRMR yang didukung dengan ukuran tersebut tidak bermakna berkurang sebagai hasilnya.

MaxInitiatorRequestSge

Jumlah maksimum entri scatter-gather (SGEs) yang dapat ditentukan dalam satu permintaan melalui antrean inisiator.

MaxReceiveRequestSge

Jumlah maksimum SGEs yang dapat ditentukan dalam satu permintaan melalui antrean terima.

MaxReadRequestSge

Jumlah maksimum SGEs yang dapat ditentukan dalam permintaan baca.

Catatan Nilai ini mengambil alih nilai MaxInitiatorRequestSge untuk permintaan baca.
 

MaxTransferLength

Panjang total maksimum yang dapat dirujuk oleh semua SGEs dalam satu permintaan kirim, terima, baca, atau tulis.

MaxInlineDataSize

Jumlah maksimum data sebaris, dalam byte, yang dapat dikirim dalam satu permintaan kirim atau tulis.

MaxInboundReadLimit

Jumlah maksimum operasi baca masuk yang sedang berlangsung untuk setiap QP.

MaxOutboundReadLimit

Jumlah maksimum operasi baca keluar yang sedang berlangsung untuk setiap QP.

MaxReceiveQueueDepth

Jumlah maksimum permintaan terutang untuk setiap antrean penerima.

MaxInitiatorQueueDepth

Jumlah maksimum permintaan terutang untuk setiap antrean inisiator.

MaxSrqDepth

Jumlah maksimum permintaan terutang untuk setiap antrean penerima bersama (SRQ). Nilai nol berarti tidak ada dukungan SRQ.

MaxCqDepth

Jumlah maksimum entri penyelesaian untuk setiap antrean penyelesaian (CQ).

LargeRequestThreshold

Petunjuk ukuran data, dalam byte, di atas yang operasi baca dan tulis akan menghasilkan hasil yang lebih baik daripada operasi kirim dan terima.

MaxCallerData

Ukuran maksimum, dalam byte, dari data privat yang dapat dikirim dengan permintaan koneksi.

MaxCalleeData

Ukuran maksimum, dalam byte, dari data privat yang dapat dikirim dengan permintaan terima atau tolak.

AdapterFlags

Sekumpulan bendera yang menentukan properti adaptor. Bendera yang saat ini ditentukan meliputi:

Nilai Makna
NDK_ADAPTER_FLAG_IN_ORDER_DMA_SUPPORTED
0x00000001
Atur apakah penyedia menulis data masuk ke buffer konsumen secara berurutan. Artinya, posisi byte terakhir dalam buffer konsumen dijamin tidak akan diperbarui sebelum posisi byte sebelumnya.
NDK_ADAPTER_FLAG_RDMA_READ_SINK_NOT_REQUIRED
0x00000002

Atur jika penyedia tidak memerlukan hak akses khusus pada buffer sink untuk permintaan baca RDMA. Ketika bendera ini diatur, konsumen tidak diharuskan untuk menggunakan bendera NDK_MR_FLAG_RDMA_READ_SINK atau NDK_OP_FLAG_RDMA_READ_SINK saat mendaftarkan buffer sink untuk permintaan baca RDMA. Konsumen juga dapat menggunakan pemetaan alamat logis secara langsung (dengan token yang diperoleh dengan fungsi NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN ) sebagai buffer sink baca RDMA. Ini mirip dengan akses ke buffer lokal untuk operasi tulis, kirim, dan terima RDMA.

NDK_ADAPTER_FLAG_CQ_INTERRUPT_MODERATION_SUPPORTED
0x00000004
Atur apakah penyedia mendukung moderasi interupsi yang dikontrol secara terprogram untuk setiap antrean penyelesaian (CQ). Ketika bendera ini diatur, konsumen NDK dapat menggunakan fungsi NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION dalam tabel NDK_CQ_DISPATCH .
NDK_ADAPTER_FLAG_MULTI_ENGINE_SUPPORTED
0x00000008
Atur jika penyedia mendukung pemrosesan bersamaan beberapa koneksi dengan beberapa mesin eksekusi. Jika bendera ini diatur, konsumen NDK yang menggunakan lebih dari satu koneksi secara bersamaan pada adaptor mungkin memberikan performa yang lebih baik daripada satu koneksi.
NDK_ADAPTER_FLAG_RDMA_READ_LOCAL_INVALIDATE_SUPPORTED
0x00000010
Atur jika penyedia mendukung pembatalan token lokal yang ditentukan dalam NDK_SGE pertama yang diteruskan ke fungsi NdkRead (NDK_FN_READ) saat menyelesaikan permintaan baca.

Catatan Nilai ini hanya didukung di NDKPI 1.2 (Windows Server 2012 R2) dan yang lebih baru.

NDK_ADAPTER_FLAG_CQ_RESIZE_SUPPORTED
0x00000100
Atur jika penyedia mendukung perubahan ukuran objek CQ. Jika bendera ini tidak diatur, konsumen tidak boleh mencoba mengubah ukuran CQ.
NDK_ADAPTER_FLAG_LOOPBACK_CONNECTIONS_SUPPORTED
0x00010000
Atur jika penyedia mendukung koneksi loopback. Artinya, loopback dari alamat jaringan lokal pada RNIC tertentu ke alamat lokal yang sama pada RNIC yang sama.

RdmaTechnology

Keterangan

Fungsi NDK_FN_QUERY_ADAPTER_INFO mengambil NDK_ADAPTER_INFO, yang berisi informasi tentang berbagai batas dan kemampuan adaptor.

Persyaratan

   
Klien minimum yang didukung Tidak ada yang didukung, Didukung di NDIS 6.30 dan yang lebih baru.
Server minimum yang didukung Windows Server 2012
Header ndkinfo.h (termasuk Ndkpi.h)

Lihat juga

NDK_CQ_DISPATCH

NDK_FN_CONTROL_CQ_INTERRUPT_MODERATION

NDK_FN_GET_PRIVILEGED_MEMORY_REGION_TOKEN

NDK_VERSION