Condividi tramite


OID_SWITCH_NIC_CREATE

Il bordo del protocollo dell'commutatore estendibile Hyper-V genera una richiesta di set di identificatori di oggetto (OID) di OID_SWITCH_NIC_CREATE per notificare le estensioni del commutatore estendibile sottostante che viene stabilita una nuova connessione tra una porta commutatore estendibile e una scheda di rete esterna o virtuale. Dopo aver stabilito completamente la connessione, il bordo del protocollo del commutatore estendibile genera una richiesta di set OID di OID_SWITCH_NIC_CONNECT.

Il membro InformationBuffer della struttura NDIS_OID_REQUEST contiene un puntatore a una struttura NDIS_SWITCH_NIC_PARAMETERS .

Commenti

Il membro PortId della struttura NDIS_SWITCH_NIC_PARAMETERS specifica la porta di commutatore estendibile per cui viene eseguita la notifica di creazione. L'estensione del commutatore estendibile può ottenere le informazioni sui parametri per questa e altre porte nel commutatore estendibile eseguendo richieste di query OID di OID_SWITCH_PORT_ARRAY.

Il membro Index della struttura NDIS_SWITCH_NIC_PARAMETERS specifica l'indice di una scheda di rete per cui viene eseguita la notifica di creazione. La scheda di rete con il valore indice specificato è connessa alla porta di commutatore estendibile specificata dal membro PortId . Per altre informazioni su questi valori di indice, vedere Valori di indice della scheda di rete.

Quando riceve la richiesta del set OID di OID_SWITCH_NIC_CREATE, l'estensione deve seguire queste linee guida:

  • L'estensione non deve modificare la struttura NDIS_SWITCH_NIC_PARAMETERS associata alla richiesta OID.

  • La OID_SWITCH_NIC_CREATE richiesta notifica solo all'estensione che viene visualizzata una nuova connessione commutatore estendibile e che il traffico dei pacchetti potrebbe presto iniziare a verificarsi sulla porta specificata. Tuttavia, l'estensione non può usare la porta fino a quando il bordo del protocollo del commutatore estendibile genera una richiesta del set OID di OID_SWITCH_NIC_CONNECT. Fino a quando non viene rilasciato l'OID, l'estensione non deve eseguire le operazioni seguenti:

    • Generare qualsiasi traffico di pacchetti alla connessione della scheda di rete sulla porta del commutatore estendibile per cui è stata rilasciata la richiesta OID OID_SWITCH_NIC_CREATE.

    • Inoltrare o originare richieste OID di OID_SWITCH_NIC_REQUEST a una scheda di rete sottostante per cui è stata rilasciata la richiesta OID OID_SWITCH_NIC_CREATE.

    • Inoltrare o originare indicazioni sullo stato NDIS di NDIS_STATUS_SWITCH_NIC_STATUS da una scheda di rete sottostante per cui è stata rilasciata la richiesta OID OID_SWITCH_NIC_CREATE.

    • Chiamare ReferenceSwitchNic per incrementare il contatore di riferimento del commutatore estendibile per la connessione della scheda di rete specificata sulla porta del commutatore estendibile.

    Nota L'estensione può intercettare o ricevere pacchetti per la porta specificata tra le richieste OID di OID_SWITCH_NIC_CREATE e OID_SWITCH_NIC_CONNECT. In questo caso, l'estensione deve inoltrare le richieste di invio o ricezione di pacchetti anziché annullarle.

  • L'estensione può veto la notifica di creazione restituendo NDIS_STATUS_DATA_NOT_ACCEPTED per la richiesta OID. Ad esempio, se un'estensione non può soddisfare i criteri configurati nella porta specificata, l'estensione deve veto la notifica di creazione.

    Se l'estensione restituisce altri codici di stato NDIS_STATUS_Xxx , la notifica di creazione viene anche veto. Tuttavia, la restituzione di codici di stato per scenari temporanei, ad esempio la restituzione di NDIS_STATUS_RESOURCES, potrebbe comportare un tentativo di ripetizione della notifica di creazione.

    Se l'estensione non ha il veto della richiesta OID, deve monitorare lo stato al termine della richiesta. L'estensione deve eseguire questa operazione per determinare se la richiesta OID è stata veto dalle estensioni sottostanti nel percorso di controllo commutatore estendibile o dall'interfaccia del commutatore estendibile.

    Nota L'estensione può solo veto la richiesta OID se il membro Index della struttura NDIS_SWITCH_NIC_PARAMETERS specifica un valore di indice della scheda di rete pari a zero.

  • Se l'estensione non ha il veto della notifica di creazione, deve chiamare NdisFOidRequest per inoltrare questa richiesta OID alle estensioni sottostanti nello stack di driver di commutatore estendibile.

    Nota L'estensione deve monitorare lo stato di completamento di questa richiesta OID. L'estensione esegue questa operazione per rilevare se le estensioni sottostanti nello stack di driver del commutatore estendibile hanno veto la notifica di creazione.

  • Se l'estensione chiama NdisFOidRequest per inoltrare questa richiesta OID, l'estensione non riceverà immediatamente alcun traffico di pacchetti verso o dalla porta del commutatore estendibile. Inoltre, l'estensione non può inserire immediatamente il traffico di invio o ricezione per la porta del commutatore estendibile.

  • L'estensione può inoltrare solo il traffico del pacchetto alla porta del commutatore estendibile dopo il bordo del protocollo del commutatore estendibile genera una richiesta di set OID di OID_SWITCH_NIC_CONNECT.

    Nota In alcune situazioni, il traffico dei pacchetti può essere inoltrato dal commutatore estendibile alla porta prima dell'emissione di una richiesta OID set di OID_SWITCH_NIC_CONNECT .

  • L'adattatore di rete esterna estendibile può essere associato a una o più schede fisiche sottostanti. Per ogni scheda di rete fisica associata alla scheda di rete esterna, il bordo del protocollo del commutatore estendibile genera una richiesta di set OID separata di OID_SWITCH_NIC_CREATE. Ogni richiesta di set OID specifica un valore di indice di connessione della scheda di rete diverso. Per altre informazioni su questi valori di indice, vedere Valori di indice della scheda di rete.

    L'estensione deve mantenere lo stato di connessione per ogni scheda fisica sottostante. Per altre informazioni sulle diverse configurazioni in cui è possibile associare schede di rete fisiche alla scheda di rete esterna, vedere Tipi di configurazioni della scheda di rete fisica.

Per altre informazioni sugli stati delle porte di commutatore estendibili e delle connessioni della scheda di rete, vedere Porte estendibili di commutatori Hyper-V e Stati scheda di rete.

Nota L'estensione non deve emettere richieste di set OID personalizzate di OID_SWITCH_NIC_CREATE.

Codici di stato restituiti

Se l'estensione completa la richiesta del set OID di OID_SWITCH_NIC_CREATE, restituisce uno dei codici di stato seguenti.

Codice di stato Descrizione

NDIS_STATUS_DATA_NOT_ACCEPTED

L'estensione ha veto la notifica di creazione.

NDIS_STATUS_RESOURCES

L'estensione ha veto la notifica di creazione a causa di una condizione di risorsa bassa.

NDIS_STATUS_Xxx

L'estensione ha veto la notifica di creazione per altri motivi.

Nota Se l'estensione completa la richiesta del set OID, non deve restituire NDIS_STATUS_SUCCESS.

Se l'estensione non completa la richiesta del set OID di OID_SWITCH_NIC_CREATE, la richiesta viene completata dal bordo miniport sottostante del commutatore estendibile. Il bordo miniport sottostante restituisce il codice di stato seguente per questa richiesta di set OID:

Codice di stato Descrizione

NDIS_STATUS_SUCCESS

La richiesta OID è stata completata correttamente.

Requisiti

Versione

Supportato in NDIS 6.30 e versioni successive.

Intestazione

Ntddndis.h (include Ndis.h)

Vedi anche


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort