Bagikan melalui


Mengalokasikan VPorts untuk VMMQ

NDIS mengalokasikan VPorts ketika kemampuan Virtual Machine Multiple Queues (VMMQ) hadir dengan cara berikut.

NDIS membuat VPort non-default pada adaptor miniport dengan mengeluarkan permintaan OID OID_NIC_SWITCH_CREATE_VPORT . Saat membuat fungsi fisik RSS (PF) VPort, NDIS akan menginisialisasi struktur NDIS_NIC_SWITCH_VPORT_PARAMETERS sebagai berikut:

  • NDIS mengatur bidang AttachedFunctionId ke NDIS_PF_FUNCTION_ID.

  • Jika VMMQ diaktifkan, NDIS mengatur bidang NumQueuePairs ke jumlah pasangan antrean VMMQ yang harus digunakan untuk VPort ini. Nomor ini mencakup prosesor RSS default untuk VPort ini. Dijamin bahwa jumlah total prosesor tidak akan melebihi jumlah ini. Jika VMMQ dinonaktifkan, NDIS menetapkan nilai ini menjadi satu.

  • Jika VMMQ diaktifkan, bidang ProcessorAffinity menentukan bitmask dari prosesor RSS potensial yang harus digunakan adaptor miniport untuk VPort ini. Prosesor yang digunakan tumpukan jaringan untuk mengisi entri tabel tidak langsung untuk VPort adalah subset dari prosesor yang diidentifikasi bitmask ini. Masker akan menjadi subset dari prosesor RSS yang dikembalikan dari panggilan ke NdisGetRssProcessorInformation dan jumlah bit yang ditetapkan mungkin melebihi jumlah antrean RSS yang diminta untuk VPort. Jika VMMQ dinonaktifkan, adaptor miniport harus menggunakan nomor prosesor terendah yang ditentukan dalam bitmask ini saat mengatur afinitas antrean VPort.

  • NDIS menetapkan bendera NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED untuk menunjukkan bahwa anggota NumQueuePairs telah diperbarui setelah VPort dibuat. Ketika VMMQ diaktifkan, jumlah antrean untuk VPort default dan non-default dapat diperbarui.