Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina descrive come un'estensione di inoltro del commutatore estendibile Hyper-V può inoltrare i pacchetti a una o più porte. Questo tipo di estensione può anche inoltrare pacchetti a singole schede di rete connesse alla scheda di rete esterna del commutatore estendibile.
Nota Solo l'estensione di inoltro del commutatore estendibile o il commutatore estendibile stesso può inoltrare pacchetti a porte commutatori estendibili.
Nota Questa pagina presuppone che si abbia familiarità con le informazioni e i diagrammi in Panoramica del Commutatore Estendibile Hyper-V e Inoltro Ibrido.
Nota Nell'interfaccia del commutatore estendibile, i driver di filtro NDIS sono noti come estensioni del commutatore estendibile e lo stack di driver è noto come stack di driver del commutatore estendibile. Per altre informazioni sulle estensioni, vedere Hyper-V Extensible Switch Extensions.
Se un'estensione di inoltro è installata e abilitata nello stack di driver di commutatore estendibile, è responsabile di prendere decisioni di inoltro per ogni pacchetto ottenuto nel percorso dati di ingresso del commutatore estendibile. In base a queste decisioni di inoltro, l'estensione aggiunge le porte di destinazione nella matrice di porte di destinazione nei dati fuori banda (OOB) della struttura di NET_BUFFER_LIST del pacchetto. Dopo che il pacchetto ha completato l'attraversamento del percorso dati del commutatore estendibile, l'interfaccia del commutatore estendibile recapita il pacchetto alle porte di destinazione specificate.
Nota Se un'estensione di inoltro non è installata o abilitata, l'opzione estendibile prende le decisioni di inoltro per i pacchetti che ottiene dal percorso dati in ingresso. Il commutatore aggiunge le porte di destinazione ai dati OOB della struttura di NET_BUFFER_LIST del pacchetto prima di inoltrare il pacchetto lungo il percorso dati di uscita del commutatore estendibile.
Nota Se il pacchetto è un pacchetto NVGRE, l'estensione di inoltro può aggiungere porte di destinazione alla matrice di porte di destinazione. Tuttavia, il componente Hyper-V Network Virtualization (HNV) del commutatore estendibile è responsabile della determinazione delle porte di destinazione e dell'inoltro del pacchetto. Per ulteriori informazioni, vedere Inoltro Ibrido.
L'estensione di inoltro può aggiungere destinazioni di porta solo ai pacchetti ottenuti dal percorso dati in ingresso. Dopo che il pacchetto viene inoltrato nel percorso dati di uscita, i filtri e le estensioni di inoltro possono escludere il recapito dei pacchetti alle porte dello switch estendibile. Per ulteriori informazioni, vedere Esclusione della consegna dei pacchetti alle porte di destinazione dello switch estensibile.
All'interno dei dati OOB della struttura di NET_BUFFER_LIST di un pacchetto, i dati relativi alle porte di destinazione sono contenuti in una struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. Ogni elemento nella matrice definisce una porta di destinazione e viene formattato come struttura NDIS_SWITCH_PORT_DESTINATION.
L'estensione di inoltro può chiamare le seguenti funzioni del gestore Extensible Switch Hyper-V per gestire la struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY e i relativi elementi NDIS_SWITCH_PORT_DESTINATION:
AddNetBufferListDestination
Questa funzione aggiunge una singola porta di destinazione alla struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY nei dati OOB del pacchetto.
GetNetBufferListDestinations
Questa funzione restituisce un puntatore alla struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY nei dati OOB di un pacchetto.
GrowNetBufferListDestinations
Questa funzione aggiunge più elementi di porta di destinazione alla struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY dei dati OOB di un pacchetto.
UpdateNetBufferListDestinations
Questa funzione esegue il commit delle modifiche apportate dall'estensione per aggiungere o escludere una o più porte di destinazione per un pacchetto. Queste modifiche vengono registrate nella struttura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY nei dati OOB del pacchetto.
Quando viene chiamata la funzione di FilterSendNetBufferLists dell'estensione di inoltro, il parametro NetBufferList contiene un puntatore a un elenco collegato di strutture NET_BUFFER_LIST. Ognuna di queste strutture specifica un pacchetto ottenuto dal percorso dati in ingresso.
Per ogni struttura NET_BUFFER_LIST in questo elenco, l'estensione di inoltro aggiunge le porte di destinazione per il pacchetto seguendo questa procedura:
L'estensione prende decisioni di inoltro per il pacchetto in base a vari tipi di criteri. Questi criteri includono quanto segue:
Criteri delle policy basati sulla porta di origine e sulla connessione della scheda di rete del pacchetto. L'estensione di inoltro ottiene queste informazioni utilizzando la macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL.
Criteri delle policy per una porta di switch estensibile basati sui dati del payload del pacchetto. Ad esempio, un criterio per una porta switch estendibile può includere un filtro per consentire il recapito solo di pacchetti IP versione 4 (IPv4).
Nota Se il pacchetto è un pacchetto NVGRE, il componente HNV del commutatore estendibile è responsabile dell'inoltro del pacchetto. Tuttavia, l'estensione di inoltro può applicare criteri specifici nei percorsi in ingresso e in uscita. Per ulteriori informazioni, vedere Inoltro Ibrido.
Se l'estensione determina che il pacchetto può essere inoltrato a una o più porte switch estendibili, deve aggiungere porte di destinazione ai dati OOB del pacchetto. Per ulteriori informazioni su questa procedura, vedere Aggiunta di dati della porta di destinazione dello switch estensibile a un pacchetto.
Nota Se il pacchetto è un pacchetto NVGRE, l'estensione di inoltro non è necessaria per aggiungere le porte di destinazione. Per ulteriori informazioni, vedere Inoltro Ibrido.
Se l'estensione determina che il pacchetto non può essere inoltrato a una porta switch estendibile, deve eliminare il pacchetto.
Nota Questo non è vero se il pacchetto è un pacchetto NVGRE. Per ulteriori informazioni, vedere Inoltro Ibrido.
Se l'estensione ha aggiunto una o più porte di destinazione per il pacchetto, deve chiamare NdisFSendNetBufferLists per inoltrare il pacchetto nel percorso dati in uscita.
Nota Se il pacchetto è un pacchetto NVGRE, il componente HNV del commutatore estendibile è responsabile dell'inoltro del pacchetto. Per ulteriori informazioni, vedere Inoltro Ibrido.
Per altre informazioni sui percorsi dati di ingresso e uscita estendibili, vedere Hyper-V Percorso dati commutatore estendibile.