Freigeben über


Hyper-V Extensible Switch Sende- und Empfangsflags

Anmerkung Diese Seite geht davon aus, dass Sie mit den Informationen und Diagrammen in der Übersicht über die Hyper-V Extensible Switch und Hybrid Forwarding vertraut sind.

Paketdatenverkehr, der über den Hyper-V erweiterbaren Switch-Datenpfad verschoben wird, wird wie folgt durch Erweiterungen abgerufen:

Die folgenden Flags können im SendFlags-Parameter von FilterSendNetBufferLists oder NdisFSendNetBufferLists festgelegt werden:

NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE
Wenn dieses Kennzeichen festgelegt ist, stammen alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen vom gleichen Hyper-V erweiterbaren Switch-Quellport.

Wenn NDIS FilterSendNetBufferLists aufruft, wird dieses Flag gesetzt, wenn die erweiterbare Switch-Schnittstelle mehrere Pakete vom selben Quellport gruppiert hat. Um eine optimale Leistung zu erzielen, sollten die Erweiterungen diese Gruppierung beibehalten und dieses Kennzeichen festlegen, wenn NdisFSendNetBufferLists aufgerufen wird. Die Erweiterung kann auch alle ursprünglichen oder geklonten Pakete zur verknüpften Liste der NET_BUFFER_LIST Strukturen hinzufügen, wenn die Erweiterung denselben Quellport wie die anderen Pakete in der Liste verwendet.

Anmerkung Wenn jedes Paket in der verknüpften Liste der NET_BUFFER_LIST Strukturen denselben Quellport verwendet, sollte die Erweiterung das NDIS_SEND_COMPLETE_FLAGS_SWITCH_SINGLE_SOURCE Flag im Parameter SendCompleteFlags von NdisFSendNetBufferListsComplete festlegen, wenn die Sendeanforderung abgeschlossen ist.

NDIS_SEND_FLAGS_SWITCH_DESTINATION_GROUP
Wenn dieses Flag festgelegt ist, werden alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen an denselben erweiterbaren Switch-Zielport weitergeleitet.

Eine Weiterleitungserweiterung kann dieses Flag für eine verknüpfte Liste von NET_BUFFER_LIST-Strukturen verwenden, die nach Bestimmung der Zielports jedes Pakets auf dem Eingangs-Datenpfad weitergeleitet werden. Dieses Flag wird vom zugrunde liegenden Miniportrand des erweiterbaren Switchs verwendet und entfernt, bevor es die Pakete über den Ausgehenden Datenpfad weiterleitet.

Diese Kennzeichnung kann von Erfassungs- und Filtererweiterungen nicht verwendet werden.

Anmerkung Die Weiterleitungserweiterung bestimmt nur die Zielports des Pakets für Nicht-NVGRE-Pakete. Wenn es sich bei dem Paket um ein NVGRE-Paket handelt, bestimmt die komponente Hyper-V Network Virtualization (HNV) die Zielports des Pakets und leitet das Paket weiter. Weitere Informationen finden Sie unter Hybridweiterleitung.

Um eine optimale Leistung zu erzielen, sollten Weiterleitungserweiterungen dieses Kennzeichen festlegen, wenn alle Pakete in der verknüpften Liste an denselben Zielport weitergeleitet werden sollen. Durch Festlegen dieses Flags erkennt die Erweiterung an, dass alle Pakete in der verknüpften Liste dieselben Zielportelemente im erweiterbaren Switchweiterleitungskontext aufweisen.

Anmerkung Diese Kennzeichnung darf von der Weiterleitungserweiterung nicht für eine verknüpfte Liste von Paketen festgelegt werden, die mehrere Zielports aufweisen.

Die folgenden Flags können im ReceiveFlags-Parameter von FilterReceiveNetBufferLists oder NdisFIndicateReceiveNetBufferLists festgelegt werden:

NDIS_RECEIVE_FLAGS_SWITCH_SINGLE_SOURCE
Wenn dieses Kennzeichen festgelegt ist, stammen alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen vom gleichen Hyper-V erweiterbaren Switch-Quellport.

Wenn NDIS FilterReceiveNetBufferLists aufruft, wird dieses Flag festgelegt, wenn der erweiterbare Switch mehrere Pakete aus demselben Quellport gruppiert hat. Um eine optimale Leistung zu erzielen, sollten die Erweiterungen diese Gruppierung beibehalten und dieses Kennzeichen festlegen, wenn NdisMIndicateReceiveNetBufferLists aufgerufen wird. Die Erweiterungen sollten auch alle ursprünglichen oder geklonten Pakete zur verknüpften Liste der NET_BUFFER_LIST Strukturen hinzufügen, wenn das Paket denselben Quellport wie die anderen Pakete in der Liste aufweist.

Anmerkung Wenn jedes Paket in der verknüpften Liste der NET_BUFFER_LIST Strukturen denselben Quellport verwendet, sollte die Erweiterung das NDIS_RETURN_FLAGS_SWITCH_SINGLE_SOURCE Flag im Parameter ReturnFlags von FilterReturnNetBufferLists festlegen, wenn die Empfangsanforderung abgeschlossen ist. Die Erweiterung muss dieses Flag im ReturnFlags-Parameter festlegen, wenn sie NdisFReturnNetBufferLists aufruft, um Pakete zurückzugeben, die sie nicht selbst erstellt oder geklont hat.

NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP
Wenn dieses Flag festgelegt ist, werden alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen an denselben erweiterbaren Switch-Zielport weitergeleitet.

Wenn NDIS FilterReceiveNetBufferLists aufruft, wird dieses Flag festgelegt, wenn der erweiterbare Switch mehrere Pakete gruppiert hat, die über dieselben Zielports verfügen. Um eine optimale Leistung zu erzielen, sollten die Erweiterungen diese Gruppierung beibehalten und dieses Kennzeichen festlegen, wenn NdisMIndicateReceiveNetBufferLists aufgerufen wird. Die Erweiterungen sollten auch alle ursprünglichen oder geklonten Pakete zur verknüpften Liste der NET_BUFFER_LIST Strukturen hinzufügen, wenn das Paket dieselben Zielports wie die anderen Pakete in der Liste aufweist.

Anmerkung Wenn eine Erweiterung NdisFIndicateReceiveNetBufferLists aufruft, darf das NDIS_RECEIVE_FLAGS_RESOURCES Flag nicht im ReceiveFlags-Parameter festgelegt werden. Die erweiterbare Switchschnittstelle ignoriert dieses Flag und schließt die Empfangsanzeige durch Aufrufen von FilterReturnNetBufferLists ab.