Bagikan melalui


Menentukan Kemampuan VMQ Adapter Jaringan

NDIS menyediakan antarmuka untuk menentukan kemampuan VMQ adaptor jaringan, seperti:

  • Kemampuan pemfilteran generik adaptor jaringan.

  • Kemampuan antrean VM yang didukung.

  • Dukungan Lookahead untuk memungkinkan pemisahan memori data jaringan menjadi dua buffer terpisah.

    Catatan Dimulai dengan NDIS 6.30, memisahkan data paket menjadi buffer lookahead terpisah tidak lagi didukung.

Driver Miniport memberikan informasi berikut kepada NDIS selama inisialisasi adaptor jaringan:

  • Kemampuan perangkat keras VMQ yang dapat didukung adaptor jaringan.

  • Kemampuan VMQ yang saat ini diaktifkan.

  • Fitur pemfilteran penerima global yang diaktifkan atau dinonaktifkan pada adaptor jaringan.

Driver dan aplikasi yang terlalu penting dapat menggunakan permintaan kueri OID berikut untuk mendapatkan kemampuan adaptor jaringan.

OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES

OID_RECEIVE_FILTER_CURRENT_CAPABILITIES

OID_RECEIVE_FILTER_GLOBAL_PARAMETERS

NDIS menangani permintaan kueri OID ini untuk driver miniport. Oleh karena itu, kueri tidak diminta untuk driver miniport. NDIS melaporkan kemampuan VMQ penerima yang saat ini diaktifkan dari adaptor jaringan selama inisialisasi. Oleh karena itu, driver yang terlalu berlebihan tidak perlu mengkueri OID ini.

Struktur NDIS_RECEIVE_FILTER_CAPABILITIES menentukan kemampuan pemfilteran adaptor jaringan. Struktur ini digunakan dengan cara berikut:

Struktur NDIS_RECEIVE_FILTER_CAPABILITIES mencakup informasi berikut:

EnabledFilterTypes
Jenis filter terima yang didukung. Bendera NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED menentukan bahwa filter antrean komputer virtual (VMQ) diaktifkan.

EnabledQueueTypes
Jenis antrean terima yang didukung. Bendera NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED menentukan bahwa antrean komputer virtual (VM) diaktifkan.

NumQueues
Jumlah antrean terima yang didukung adaptor jaringan. Untuk mendukung VMQ, angka ini harus sama dengan atau kurang dari jumlah alamat MAC unicast yang didukung NIC. Angka ini tidak boleh menyertakan antrean default.

Catatan Jumlah alamat MAC unicast atau antrean VM yang didukung adaptor jaringan tidak menyertakan alamat MAC dari NIC terkait.

SupportedQueueProperties
Properti antrean yang didukung adaptor jaringan. Bendera NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED menentukan bahwa adaptor jaringan menyediakan persyaratan minimum untuk mendukung pemfilteran VMQ. NIC berkemampuan VMQ harus menyediakan entri tabel MSI-X untuk setiap antrean penerima. Oleh karena itu, driver miniport VMQ harus mengatur bendera NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED.

SupportedFilterTests
Operasi pengujian filter yang didukung driver miniport. Misalnya, adaptor jaringan mendukung pengujian bidang header yang dipilih untuk menentukan apakah itu sama dengan nilai tertentu. Driver miniport VMQ harus mengatur bendera NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED.

SupportedHeaders
Jenis header paket jaringan yang dapat diperiksa oleh driver miniport. Misalnya, adaptor jaringan dapat memeriksa header MAC paket jaringan. Header MAC mencakup jenis paket, tujuan, dan alamat MAC sumber, pengidentifikasi VLAN, dan bidang tag prioritas. Driver miniport VMQ harus mengatur bendera NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED.

SupportedMacHeaderFields
Jenis bidang header MAC yang dapat diperiksa oleh driver miniport. Driver miniport VMQ harus mengatur bendera NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED.

MaxMacHeaderFilters
Jumlah maksimum filter header MAC yang didukung driver miniport. Harus ada setidaknya sebanyak filter header karena ada antrean VM.

MaxQueueGroups
Anggota ini dicadangkan untuk NDIS.

MaxQueuesPerQueueGroup
Anggota ini dicadangkan untuk NDIS.

MinLookaheadSplitSize
Ukuran minimum, dalam byte, yang didukung adaptor jaringan untuk segmen paket lookahead.

Catatan Dimulai dengan NDIS 6.30, memisahkan data paket menjadi buffer lookahead terpisah tidak lagi didukung. Driver Miniport yang mendukung NDIS 6.30 atau versi yang lebih baru harus mengatur anggota ini ke nol.

MaxLookaheadSplitSize
Ukuran maksimum, dalam byte, yang didukung adaptor jaringan untuk segmen paket lookahead.

Catatan Dimulai dengan NDIS 6.30, memisahkan data paket menjadi buffer lookahead terpisah tidak lagi didukung. Driver Miniport yang mendukung NDIS 6.30 atau versi yang lebih baru harus mengatur anggota ini ke nol.

Setelah berhasil mengembalikan dari kueri OID OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES , anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_RECEIVE_FILTER_CAPABILITIES. Kemampuan ini dapat mencakup kemampuan perangkat keras VMQ yang saat ini dinonaktifkan oleh pengaturan file INF atau melalui halaman Properti tingkat lanjut . Untuk informasi selengkapnya tentang pengaturan file VMQ INF, lihat Entri INF Standar VMQ.

Driver miniport NDIS menyediakan kemampuan perangkat keras pemfilteran penerima selama inisialisasi di anggota HardwareReceiveFilterCapabilities dari struktur NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

Setelah berhasil mengembalikan dari kueri OID OID_RECEIVE_FILTER_CURRENT_CAPABILITIES , anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_RECEIVE_FILTER_CAPABILITIES . Kemampuan ini mencakup kemampuan VMQ yang saat ini diaktifkan.

Driver miniport NDIS menyediakan kemampuan pemfilteran terima yang saat ini diaktifkan selama inisialisasi di anggota CurrentReceiveFilterCapabilities dari struktur NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES .

NDIS melaporkan kemampuan pemfilteran terima yang saat ini diaktifkan dari adaptor jaringan yang mendasarinya ke driver protokol yang terlalu berlebihan di anggota ReceiveFilterCapabilities dari struktur NDIS_BIND_PARAMETERS selama operasi pengikatan.

Struktur NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS digunakan dalam OID kueri OID_RECEIVE_FILTER_GLOBAL_PARAMETERS untuk mendapatkan pengaturan filter penerima global saat ini.

NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS menyertakan informasi berikut:

EnabledFilterTypes
Jenis filter terima yang diaktifkan. Bendera NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED menentukan bahwa filter antrean komputer virtual (VMQ) diaktifkan.

EnabledQueueTypes
Jenis antrean terima yang diaktifkan. Bendera NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED menentukan bahwa antrean komputer virtual (VM) diaktifkan.

Setelah berhasil mengembalikan dari kueri OID OID_RECEIVE_FILTER_GLOBAL_PARAMETERS , anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke struktur NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS . Struktur NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS menentukan fitur pemfilteran penerima yang diaktifkan atau dinonaktifkan pada adaptor jaringan.

Driver protokol NDIS menggunakan OID_RECEIVE_FILTER_GLOBAL_PARAMETERS untuk mengkueri parameter konfigurasi global saat ini untuk menerima pemfilteran pada adaptor jaringan. Misalnya, driver protokol dapat menggunakan OID ini untuk menentukan apakah jenis filter penerima atau antrean penerima diaktifkan atau dinonaktifkan.