OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

Peringatan

Beberapa informasi dalam topik ini berkaitan dengan produk yang telah dirilis sebelumnya, yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.

RSSv2 hanya dipratinjau dalam Windows 10, versi 1809.

OID OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 dikirim ke driver miniport berkemampuan RSSv2 untuk mengatur parameter run-time, selain tabel tidak langsung, untuk entitas penskalaan. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 menggantikan OID_GEN_RECEIVE_SCALE_PARAMETERS OID dari RSSv1 dan tidak terlihat oleh Filter Bobot Ringan (LWF) NDIS sebelum NDIS 6,80. OID ini adalah OID Reguler dan dapat dikeluarkan sebagai permintaan Kueri atau Atur. Ini dikeluarkan di IRQL == PASSIVE_LEVEL. Ini dapat menargetkan VPort tertentu, ketika bendera NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID diatur pada pembuatan sakelar NIC. Jika tidak, ia menargetkan NIC fisik dalam kasus RSS Asli.

Sebagai Kueri, NDIS dan driver yang terlalu berlebihan dapat menggunakan OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 untuk mengkueri parameter RSS NIC. NDIS mengembalikan struktur NDIS_RECEIVE_SCALE_PARAMETERS_V2 yang menentukan parameter RSS saat ini.

Sebagai Set, tujuan dari OID ini adalah untuk melakukan tindakan berikut:

  • Awalnya mengonfigurasi entitas penskalakan (adaptor miniport dalam mode RSS Asli atau VPort dalam mode VMQ).
  • Mengaktifkan atau menonaktifkan RSS.
  • Saat dalam mode RSS, lakukan fungsi manajemen non-timing-critical seperti mengubah kunci hash, jenis hash dan fungsi hash, jumlah antrean, atau jumlah entri tabel tidak langsung untuk entitas penskalaan.

Keterangan

Mengaktifkan RSS dan mengatur parameter RSS dapat dilakukan dalam satu langkah.. Setelah lapisan atas mengaktifkan RSS menggunakan OID ini, status awal entitas penskalaan adalah sebagai berikut:

  • Prosesor utama menjadi tidak aktif.
  • Prosesor default menjadi aktif.
  • Semua ITE menjadi aktif.
  • Driver miniport memulai perhitungan hash RSS, pengaturan OOB yang sesuai untuk semua paket, dan mengarahkan paket ke prosesor yang ditentukan oleh entri tabel tidak langsung atau parameter prosesor default.

Setelah RSS diaktifkan, lapisan atas mengeluarkan OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID untuk memindahkan ITE ke prosesor yang berbeda. Di RSSv2, DefaultQueue dan PrimaryProcessor juga dipindahkan ke prosesor yang berbeda menggunakan OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.

Selama proses menonaktifkan RSS, lapisan atas akan mengarahkan semua ITE ke prosesor utama sebelum memanggil OID ini untuk menonaktifkan RSS. Setelah titik ini, lalu lintas terima harus menargetkan prosesor utama. Namun, driver miniport seharusnya tidak mengharapkan penonaktifan RSS sebelum penghapusan VPort. Lapisan atas dapat mengatur filter terima pada VPort ke nol, sehingga memastikan bahwa tidak ada lalu lintas yang mengalir melalui VPort, lalu melanjutkan untuk menghapus VPort tanpa menonaktifkan RSS.

Lapisan atas akan memastikan bahwa invarian penting tidak dilanggar sebelum melakukan fungsi manajemen. Contohnya:

  • Sebelum mengubah jumlah antrean, lapisan atas akan memastikan bahwa tabel tidak langsung tidak mereferensikan lebih banyak prosesor daripada yang dikonfigurasi untuk VPort. Sebelum mengubah jumlah entri tabel tidak langsung untuk adaptor VMMQ-RESTRICTED, lapisan atas akan memastikan bahwa konten tabel tidak langsung dinormalisasi ke daya 2.

Kondisi kesalahan dan kode status

OID ini mengembalikan kode status berikut ketika terjadi kesalahan:

Kode status Kondisi kesalahan
NDIS_STATUS_INVALID_LENGTH OID cacat.
NDIS_STATUS_NO_QUEUES Jumlah antrean sedang diubah saat RSS diaktifkan, tetapi tabel tidak langsung saat ini mereferensikan lebih banyak prosesor daripada jumlah antrean baru.
NDIS_STATUS_INVALID_DATA
  • Tabel tidak langsung sedang dikurangi ukurannya, tetapi tidak berisi pola pengulangan power-of-two.
  • Selama transisi status RSS (ke aktif atau nonaktif), prosesor dari parameter kemudi yang menjadi aktif bukan milik set prosesor RSS adaptor. Perhatikan bahwa parameter kemudi yang tidak aktif hanya melacak penulisan ke prosesor dan tidak diberlakukan. Penerapan terjadi selama transisi status RSS saat parameter menjadi aktif.
NDIS_STATUS_INVALID_PARAMETER Bidang lain, baik di header atau OID itu sendiri, berisi nilai yang tidak valid.

Persyaratan

Versi: Windows 10, Header versi 1709: Ntddndis.h (sertakan Ndis.h)

Lihat juga