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.
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 |
---|---|
|
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. |
|
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. |
|
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 . |
|
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. |
|
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. |
|
Atur jika penyedia mendukung perubahan ukuran objek CQ. Jika bendera ini tidak diatur, konsumen tidak boleh mencoba mengubah ukuran CQ. |
|
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_FN_CONTROL_CQ_INTERRUPT_MODERATION