Bagikan melalui


Menunjukkan Perubahan pada Parameter QoS NDIS Jarak Jauh

Driver miniport yang mendukung NDIS Quality of Service (QoS) mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE ketika parameter QoS NDIS jarak jauhnya diterima dari serekan untuk pertama kalinya atau berubah nanti. Driver miniport menerima parameter QoS ini dari peer jarak jauh melalui protokol IEEE 802.1Qaz Data Center Bridging Exchange (DCBX).

Driver miniport harus mengikuti panduan ini untuk mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE :

  • Jika driver miniport belum menerima bingkai DCBX dari peer jarak jauh, driver miniport tidak boleh mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE .

  • Driver miniport harus mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE setelah pertama kali menerima pengaturan QoS dari peer jarak jauh.

    Catatan Driver miniport harus mengeluarkan indikasi status ini jika adaptor jaringan menerima pengaturan parameter QoS jarak jauh dari serekan sebelum parameter QoS lokal driver diatur. Untuk informasi selengkapnya, lihat Mengatur Parameter QoS NDIS Lokal.

  • Setelah indikasi status awal ini, driver miniport hanya boleh mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE ketika menentukan perubahan pengaturan QoS pada peer jarak jauh.

    Catatan Driver Miniport tidak boleh mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE jika belum ada perubahan pada parameter QoS NDIS jarak jauh. Jika driver memang membuat jenis indikasi status ini, NDIS mungkin tidak meneruskan indikasi ke driver yang terlalu mengandalkan.

Catatan Driver miniport harus mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE jika kemampuan QoS NDIS-nya saat ini diaktifkan. Dimulai dengan Windows Server 2012, indikasi ini memungkinkan administrator sistem untuk melihat pengaturan NDIS QoS dan Data Center Bridging (DCB) terlepas dari apakah fitur server Microsoft DCB diinstal.

Pedoman Penerbitan Indikasi Status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE

Driver miniport mengikuti langkah-langkah ini ketika mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE :

  1. Driver miniport mengalokasikan buffer yang cukup besar untuk berisi yang berikut ini:

    • Struktur NDIS_QOS_PARAMETERS yang berisi pengaturan konfigurasi QoS NDIS serta parameter operasional global untuk kelas lalu lintas QoS NDIS.

    • Array struktur NDIS_QOS_CLASSIFICATION_ELEMENT . Masing-masing struktur ini menentukan klasifikasi lalu lintas sebagaimana didefinisikan oleh pola data paket (kondisi) dan tingkat prioritas IEEE 802.1p terkait (tindakan). Jika adaptor jaringan menemukan pola dalam transmisi, atau keluar, paket yang cocok dengan kondisi, adaptor jaringan menetapkan tingkat prioritas terkait ke paket. Adaptor juga menerapkan kebijakan QoS NDIS lainnya ke paket berdasarkan tingkat prioritas.

  2. Miniport menginisialisasi struktur NDIS_QOS_PARAMETERS dengan parameter QoS NDIS jarak jauh. Driver harus menyediakan set lengkap parameter jarak jauh yang diterima dari bingkai DCBX yang dikirim oleh peer jarak jauh.

    Ketika driver miniport menginisialisasi anggota Header , driver tersebut mengatur anggota JenisHeader ke NDIS_OBJECT_TYPE_QOS_PARAMETERS. Driver miniport mengatur anggota RevisiHeader ke NDIS_QOS_PARAMETERS_REVISION_1 dan anggota Ukuran ke NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

    Driver miniport menetapkan bendera NDIS_QOS_PARAMETERS_Xxx_CHANGED yang sesuai jika anggota yang sesuai berisi data yang telah berubah sejak driver miniport sebelumnya mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE .

    Catatan Mengatur bendera NDIS_QOS_PARAMETERS_Xxx_CHANGED ini bersifat opsional. NDIS selalu berasumsi bahwa anggota NDIS_QOS_PARAMETERS ditentukan meskipun mereka tidak berubah dari indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE sebelumnya.

    Driver miniport mengatur anggota Bendera untuk menentukan informasi status untuk data yang terkandung dalam anggota struktur NDIS_QOS_PARAMETERS .

    Misalnya, driver miniport menetapkan bendera NDIS_QOS_PARAMETERS_Xxx_CHANGED yang sesuai di anggota Bendera untuk anggota yang berisi data yang telah berubah sejak driver miniport sebelumnya mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE .

    Untuk informasi selengkapnya tentang cara mengatur anggota Bendera, lihat Panduan untuk Mengatur Anggota Bendera.

  3. Driver miniport menginisialisasi struktur NDIS_QOS_CLASSIFICATION_ELEMENT untuk setiap klasifikasi lalu lintas dari parameter QoS NDIS jarak jauh. Driver menambahkan elemen-elemen ini melewati akhir struktur NDIS_QOS_PARAMETERS dalam buffer.

    Catatan Driver miniport tidak boleh mengatur bendera NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT di anggota Bendera dari struktur NDIS_QOS_CLASSIFICATION_ELEMENT apa pun.

    Driver menetapkan anggota NumClassificationElements dari struktur NDIS_QOS_PARAMETERS ke jumlah elemen klasifikasi dalam array. Driver menetapkan anggota FirstClassificationElementOffset ke offset byte elemen pertama sejak awal buffer. Driver juga mengatur anggota ClassificationElementSize ke panjang, dalam byte, dari setiap elemen dalam array.

    Catatan Dimulai dengan NDIS 6.30, driver miniport harus mengatur anggota ClassificationElementSize ke sizeof(NDIS_QOS_CLASSIFICATION_ELEMENT).

  4. Driver miniport menginisialisasi struktur NDIS_STATUS_INDICATION untuk indikasi status dengan cara berikut:

    • Anggota StatusCode harus diatur ke NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE.

    • Anggota StatusBuffer harus diatur ke penunjuk ke buffer yang berisi parameter QoS NDIS jarak jauh.

    • Anggota StatusBufferSize harus diatur ke panjang, dalam byte, dari buffer.

  5. Driver miniport mengeluarkan indikasi status dengan memanggil NdisMIndicateStatusEx. Driver harus meneruskan penunjuk ke struktur NDIS_STATUS_INDICATION ke parameter StatusIndication .

Panduan untuk Mengatur Anggota Bendera

Driver miniport menetapkan bendera berikut dalam anggota Bendera dari struktur NDIS_QOS_PARAMETERS untuk menentukan parameter QoS NDIS operasional mana yang telah dikonfigurasi atau diubah pada adaptor jaringan:

NDIS_QOS_PARAMETERS_ETS_CONFIGURED
Jika bendera ini diatur, driver miniport telah mengonfigurasi adaptor jaringan dengan parameter ETS yang terkandung dalam anggota berikut:

  • NumTrafficClasses

  • PriorityAssignmentTable

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

Catatan Driver miniport harus mendukung ETS untuk mendukung NDIS QoS untuk DCB. Namun, pengaturan bendera ini tidak menentukan apakah adaptor jaringan mendukung ETS. Sebaliknya, pengaturan bendera ini hanya menentukan apakah parameter ETS dikonfigurasi pada adaptor jaringan.

NDIS_QOS_PARAMETERS_ETS_CHANGED
Jika bendera ini diatur, satu atau beberapa parameter ETS telah berubah di anggota berikut:

  • NumTrafficClasses

  • PriorityAssignmentTable

  • TcBandwidthAssignmentTable

  • TsaAssignmentTable

NDIS_QOS_PARAMETERS_PFC_CONFIGURED
Jika bendera ini diatur, driver miniport telah mengonfigurasi adaptor jaringan dengan pengaturan PFC yang terkandung dalam anggota PfcEnable .

Catatan Driver miniport harus mendukung PFC untuk mendukung NDIS QoS untuk DCB. Pengaturan bendera ini tidak menentukan apakah adaptor jaringan mendukung PFC. Sebaliknya, pengaturan bendera ini hanya menentukan apakah parameter PFC diaktifkan pada adaptor jaringan.

NDIS_QOS_PARAMETERS_PFC_CHANGED
Jika bendera ini diatur, satu atau beberapa pengaturan PFC telah berubah di anggota PfcEnable .

NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED
Jika bendera ini diatur, driver miniport telah mengonfigurasi adaptor jaringan dengan parameter klasifikasi lalu lintas QoS yang ditentukan dalam anggota berikut:

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED
Jika bendera ini diatur, satu atau beberapa parameter klasifikasi lalu lintas QoS telah berubah dalam anggota berikut:

  • NumClassificationElements

  • ClassificationElementSize

  • FirstClassificationElementOffset

Catatan Bendera NDIS_QOS_PARAMETERS_Xxx_CONFIGURED harus diatur jika struktur NDIS_QOS_PARAMETERS berisi pengaturan parameter QoS NDIS. Driver miniport harus mengatur bendera ini terlepas dari apakah pengaturan telah berubah. Namun, driver hanya boleh mengatur bendera NDIS_QOS_PARAMETERS_Xxx_CHANGED untuk pengaturan yang telah berubah.

Panduan untuk Menunjukkan Parameter QoS NDIS Jarak Jauh Yang Tidak Valid

Driver miniport harus membatalkan parameter QoS jarak jauhnya jika kondisi berikut ini benar:

  • Nilai time-to-live (TTL) kedaluwarsa untuk parameter QoS jarak jauh.

    Catatan DCBX dibawa melalui protokol Link Layer Discovery Protocol (LLDP) seperti yang ditentukan dalam standar IEEE 802.1AB-2005. Bingkai LLDP selalu berisi bidang TTL.

  • Peer tautan data lain mengirim bingkai DCBX sebelum nilai TTL kedaluwarsa. Skenario ini dikenal sebagai kondisi multi-peer . DCBX mengharuskan driver miniport hanya mempertahankan satu set parameter QoS jarak jauh yang diterima dari satu peer tautan data.

    Ketika kondisi multi-peer terjadi, driver miniport harus membatalkan semua parameter QoS jarak jauh sampai nilai TTL kedaluwarsa untuk semua bingkai DCBX yang diterima.

Ketika driver miniport membatalkan parameter QoS NDIS jarak jauhnya, driver harus mengikuti langkah-langkah ini ketika mengeluarkan indikasi status NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE :

  1. Karena driver miniport tidak melaporkan parameter QoS NDIS jarak jauh yang valid, driver miniport harus terlebih dahulu mengisi struktur NDIS_QOS_PARAMETERS dengan nol.

    Ketika driver miniport menginisialisasi anggota Header dari struktur ini, driver ini mengatur anggota JenisHeader ke NDIS_OBJECT_TYPE_QOS_PARAMETERS. Driver miniport mengatur anggota RevisiHeader ke NDIS_QOS_PARAMETERS_REVISION_1 dan anggota Ukuran ke NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1.

    Driver miniport menetapkan bendera NDIS_QOS_PARAMETERS_Xxx_CHANGED yang sesuai di anggota Bendera .

  2. Driver miniport menginisialisasi struktur NDIS_STATUS_INDICATION untuk indikasi status dengan cara berikut:

    • Anggota StatusCode harus diatur ke NDIS_STATUS_QOS_REMOTE_PARAMETERS_CHANGE.

    • Anggota StatusBuffer harus diatur ke alamat struktur NDIS_QOS_PARAMETERS .

    • Anggota StatusBufferSize harus diatur ke sizeof(NDIS_QOS_PARAMETERS).

  3. Driver miniport mengeluarkan indikasi status dengan memanggil NdisMIndicateStatusEx. Driver harus meneruskan penunjuk ke struktur NDIS_STATUS_INDICATION ke parameter StatusIndication .