struktur NDIS_RECEIVE_HASH_PARAMETERS (ntddndis.h)

Struktur NDIS_RECEIVE_HASH_PARAMETERS menentukan parameter hash penerima untuk adaptor miniport yang mendukung menerima perhitungan hash.

Sintaks

typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  USHORT             HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
} NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;

Anggota

Header

Struktur NDIS_OBJECT_HEADER untuk struktur NDIS_RECEIVE_HASH_PARAMETERS. Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_DEFAULT, anggota Revisi ke NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1, dan anggota Ukuran ke NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1.

Flags

Nilai USHORT yang menunjukkan apa yang harus dilakukan driver miniport dengan parameter hash. Driver miniport dapat menggunakan bendera ini untuk dengan cepat menentukan parameter mana yang telah berubah dan memperbarui pengaturan hash yang sesuai.

Dalam permintaan yang ditetapkan, bendera didefinisikan sebagai berikut:

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

Jika bendera ini diatur, aktifkan penghitungan nilai hash pada bingkai yang diterima dan tempatkan nilai hash terhitung dalam informasi OOB NetBufferListHashValue dalam struktur NET_BUFFER_LIST.

Jika bendera ini jelas, nonaktifkan perhitungan nilai hash pada bingkai yang diterima.

Jika perhitungan hash penerima diaktifkan, driver miniport harus mengatur bendera ini; jika tidak, bendera ini harus jelas.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

Anggota HashInformation tidak berubah. Informasi hash mencakup jenis hash dan fungsi hash.

Jika bendera ini diatur, anggota HashInformation dari struktur NDIS_RECEIVE_HASH_PARAMETERS harus diabaikan.

Jika bendera ini dibersihkan, anggota HashInformation berisi nilai baru yang harus digunakan driver miniport untuk menghitung nilai hash pada bingkai yang diterima.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

Kunci rahasia dan anggota data terkait tidak berubah.

Jika bendera ini diatur, kunci rahasia dan anggota data terkait harus diabaikan.

Jika bendera ini dibersihkan, kunci rahasia atau anggota data terkait telah berubah dan driver miniport harus menggunakan informasi baru.

Dalam permintaan kueri, bendera didefinisikan sebagai berikut:

HashInformation

Dalam permintaan yang ditetapkan, jenis hash dan fungsi hash yang harus digunakan NIC untuk menghitung nilai hash untuk paket masuk.

Dalam permintaan kueri, jenis hash dan fungsi hash yang digunakan NIC.

Driver yang terlalu berlebih dan NDIS dapat menggunakan NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC makro untuk menggabungkan jenis hash dan fungsi hash ke dalam informasi hash dan mengatur anggota HashInformation .

Driver miniport dapat menggunakan NDIS_RSS_HASH_TYPE_FROM_HASH_INFO makro untuk mendapatkan jenis hash dari HashInformation dan NDIS_RSS_HASH_FUNC_FROM_HASH_INFO makro untuk mendapatkan fungsi hash.

HashSecretKeySize

Ukuran array kunci rahasia dari fungsi hash, dalam byte. Ukuran array adalah 40 byte untuk NdisHashFunctionToeplitz.

HashSecretKeyOffset

Offset array kunci rahasia dari fungsi hash dari awal struktur NDIS_RECEIVE_HASH_PARAMETERS. Gunakan offset ini untuk mendapatkan kunci rahasia 320-bit (40 byte).

Dalam permintaan yang ditetapkan, kunci rahasia dapat berisi data apa pun yang dipilih driver yang terlalu mengandalkan.

Dalam permintaan kueri, kunci rahasia berisi data yang digunakan NIC.

Keterangan

Struktur NDIS_RECEIVE_HASH_PARAMETERS mendefinisikan parameter hash untuk OID_GEN_RECEIVE_HASH OID.

Catatan Driver protokol harus menonaktifkan menerima perhitungan hash sebelum mengaktifkan RSS. Jika RSS diaktifkan, driver protokol akan menonaktifkan RSS sebelum mengaktifkan perhitungan hash penerimaan. Driver miniport harus gagal dalam permintaan untuk mengaktifkan penghitungan hash penerima atau RSS jika layanan lain saat ini diaktifkan.
 
Catatan Kunci rahasia ditambahkan setelah anggota struktur NDIS_RECEIVE_HASH_PARAMETERS.
 

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Header ntddndis.h (termasuk Ndis.h)

Lihat juga

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_TYPE_FROM_HASH_INFO NDIS_RSS_HASH_FUNC_FROM_HASH_INFO NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC

NET_BUFFER_LIST

OID_GEN_RECEIVE_HASH