Freigeben über


Zuweisen von VPorts für VMMQ

NDIS weist VPorts zu, wenn die VMMQ-Funktion (Virtual Machine Multiple Queues) wie folgt vorhanden ist.

NDIS erstellt einen nicht standardmäßigen VPort auf dem Miniportadapter, indem die OID_NIC_SWITCH_CREATE_VPORT OID-Anforderung ausgegeben wird. Beim Erstellen eines RSS-VPorts für physische Funktionen (PF) initialisiert NDIS die NDIS_NIC_SWITCH_VPORT_PARAMETERS-Struktur wie folgt:

  • NDIS legt das Feld AttachedFunctionId auf NDIS_PF_FUNCTION_ID fest.

  • Wenn VMMQ aktiviert ist, legt NDIS das Feld NumQueuePairs auf die Anzahl der VMMQ-Warteschlangenpaare fest, die für diesen VPort verwendet werden sollen. Diese Nummer enthält den RSS-Standardprozessor für diesen VPort. Es ist garantiert, dass die Gesamtzahl der Prozessoren diese Anzahl nicht überschreitet. Wenn VMMQ deaktiviert ist, legt NDIS diesen Wert auf eins fest.

  • Wenn VMMQ aktiviert ist, definiert das Feld ProcessorAffinity eine Bitmaske der potenziellen RSS-Prozessoren, die der Miniportadapter für diesen VPort verwenden muss. Die Prozessoren, die der Netzwerkstapel zum Auffüllen der Dereferenzierungstabelleneinträge für den VPort verwendet hat, sind eine Teilmenge der Prozessoren, die diese Bitmaske identifiziert. Die Maske ist eine Teilmenge der RSS-Prozessoren, die vom Aufruf von NdisGetRssProcessorInformation zurückgegeben werden, und die Anzahl der festgelegten Bits kann die Anzahl der für den VPort angeforderten RSS-Warteschlangen überschreiten. Wenn VMMQ deaktiviert ist, muss der Miniportadapter beim Festlegen der Affinität der VPort-Warteschlange die niedrigste Prozessornummer verwenden, die in dieser Bitmaske angegeben ist.

  • NDIS legt das NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED-Flag fest, um anzugeben, dass der NumQueuePairs-Member aktualisiert wurde, nachdem der VPort erstellt wurde. Wenn VMMQ aktiviert ist, kann die Anzahl der Warteschlangen für standardbasierte und nicht standardmäßige VPorts aktualisiert werden.