Share via


Hyper-V Extensible Switch Send and Receive Flags

Hinweis Auf dieser Seite wird davon ausgegangen, dass Sie mit den Informationen und Diagrammen in Übersicht über den erweiterbaren Hyper-V-Switch und die Hybridweiterleitung vertraut sind.

Paketdatenverkehr, der über den datenpfad des erweiterbaren Hyper-V-Switches verschoben wird, wird von Erweiterungen auf folgende Weise abgerufen:

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

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

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

Hinweis 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 SendCompleteFlags-Parameter von NdisFSendNetBufferListsComplete festlegen, wenn die Sendeanforderung abgeschlossen wird.

NDIS_SEND_FLAGS_SWITCH_DESTINATION_GROUP
Wenn dieses Flag festgelegt ist, sollen alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen an den gleichen erweiterbaren Switchzielport weitergeleitet werden.

Eine Weiterleitungserweiterung kann dieses Flag für eine verknüpfte Liste von NET_BUFFER_LIST Strukturen verwenden, die sie auf dem Eingangsdatenpfad weiterleitet, nachdem sie die Zielports jedes Pakets bestimmt hat. Dieses Flag wird vom zugrunde liegenden Miniportrand des erweiterbaren Switches verwendet und entfernt, bevor die Pakete den ausgehenden Datenpfad weiterleitet.

Für das Erfassen und Filtern von Erweiterungen kann dieses Flag nicht verwendet werden.

Hinweis 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 Hyper-V-Netzwerkvirtualisierungskomponente (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 Flag festlegen, wenn alle Pakete in der verknüpften Liste an denselben Zielport weitergeleitet werden sollen. Durch das Festlegen dieses Flags bestätigt die Erweiterung, dass alle Pakete in der verknüpften Liste die gleichen Zielportelemente im erweiterbaren Switchweiterleitungskontext haben.

Hinweis Die Weiterleitungserweiterung darf dieses Flag nicht für eine verknüpfte Liste von Paketen festlegen, die über mehrere Zielports verfügen.

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

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

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

Hinweis 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 ReturnFlags-Parameter 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 stammt oder geklont hat.

NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP
Wenn dieses Flag festgelegt ist, sollen alle Pakete in einer verknüpften Liste von NET_BUFFER_LIST Strukturen an den gleichen erweiterbaren Switchzielport weitergeleitet werden.

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

Hinweis Wenn eine Erweiterung NdisFIndicateReceiveNetBufferLists aufruft, darf sie das flag NDIS_RECEIVE_FLAGS_RESOURCES im Parameter ReceiveFlags nicht festlegen. Die erweiterbare Switchschnittstelle ignoriert dieses Flag und vervollständigen die Empfangsanzeige durch Aufrufen von FilterReturnNetBufferLists.