NDIS_SWITCH_NIC_PARAMETERS struttura (ntddndis.h)

La struttura NDIS_SWITCH_NIC_PARAMETERS specifica i parametri di configurazione per una scheda di rete (NIC) connessa a una porta estendibile Hyper-V.

Sintassi

typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
  NDIS_OBJECT_HEADER           Header;
  ULONG                        Flags;
  NDIS_SWITCH_NIC_NAME         NicName;
  NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
  NDIS_SWITCH_PORT_ID          PortId;
  NDIS_SWITCH_NIC_INDEX        NicIndex;
  NDIS_SWITCH_NIC_TYPE         NicType;
  NDIS_SWITCH_NIC_STATE        NicState;
  NDIS_VM_NAME                 VmName;
  NDIS_VM_FRIENDLYNAME         VmFriendlyName;
  GUID                         NetCfgInstanceId;
  ULONG                        MTU;
  USHORT                       NumaNodeId;
  UCHAR                        PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  UCHAR                        VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  UCHAR                        CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  BOOLEAN                      VFAssigned;
  ULONG64                      NdisReserved[2];
} NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;

Members

Header

Tipo, revisione e dimensione della struttura NDIS_SWITCH_NIC_PARAMETERS . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il membro Type di Intestazione deve essere impostato su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_SWITCH_NIC_PARAMETERS , il membro Revision of Header deve essere impostato sul valore seguente:

NDIS_SWITCH_NIC_PARAMETERS_REVISION_1

Versione originale per NDIS 6.30 e versioni successive.

Impostare il membro Size su NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1.

Flags

Valore ULONG che contiene un OR bit per bit di flag. Il valore del flag seguente è definito.

Valore Significato
NDIS_SWITCH_NIC_FLAGS_NIC_INITIALIZING
Questo flag viene impostato quando viene rilasciato l'OID OID_SWITCH_NIC_CREATE per la prima volta nella durata di un oggetto della scheda di interfaccia di rete della macchina virtuale. Se questo flag è impostato:
  • Un'estensione Hyper-V Extensible Switch può facoltativamente ridurre il valore del membro MTU nella struttura di NDIS_SWITCH_NIC_PARAMETERS se deve riservare la headroom per l'incapsulamento prima di passare l'OID verso il basso dello stack. L'estensione non sarà in grado di riservare l'incapsulamento headroom per qualsiasi altro tipo di scheda di interfaccia di rete.
  • L'estensione non deve aumentare il valore MTU .
Questo flag verrà impostato solo se il membro NicType è NdisSwitchNicTypeSynthetic.

NicName

Valore NDIS_SWITCH_NIC_NAME che specifica il nome interno univoco della scheda di rete connessa a una porta di commutatore estendibile.

Per altre informazioni, vedere la sezione Osservazioni.

NicFriendlyName

Valore NDIS_SWITCH_NIC_FRIENDLYNAME che specifica la descrizione descrittiva della scheda di rete.

PortId

Valore NDIS_SWITCH_PORT_ID contenente l'identificatore univoco della porta del commutatore estendibile a cui è connessa la scheda di rete.

NicIndex

Valore NDIS_SWITCH_NIC_INDEX che specifica l'indice della scheda di rete connessa alla porta di commutatore estendibile specificata dal membro PortId .

Per altre informazioni sui valori NDIS_SWITCH_NIC_INDEX, vedere Valori di indice della scheda di rete.

NicType

Valore NDIS_SWITCH_NIC_TYPE che specifica il tipo della scheda di rete connessa a una porta di commutatore estendibile.

NicState

Valore NDIS_SWITCH_NIC_STATE che specifica lo stato corrente della scheda di rete.

VmName

Valore NDIS_VM_NAME che specifica il nome interno univoco della partizione figlio Hyper-V in cui è in esecuzione il sistema operativo guest che espone la scheda di rete.

La partizione figlio Hyper-V è nota anche come macchina virtuale.

Nota Questo membro è valido solo se il membro NicType contiene un valore di NdisSwitchNicSyntheticNic o NdisSwitchNicEmulatedNic.
 

VmFriendlyName

NetCfgInstanceId

Valore GUID che specifica il valore del Registro di sistema NetCfgInstanceId della scheda di rete sottostante.

Nota Questo membro è valido solo se il membro NicType è impostato su NdisSwitchNicTypeExternal o NdisSwitchNicTypeInternal. NetCfgInstanceId non sarà valido fino a quando non è stata inizializzata la scheda di rete virtuale.
 

MTU

Valore ULONG che specifica le dimensioni massime dell'unità di trasmissione (MTU) in byte per la scheda di rete.

Nota Il valore di questo membro può cambiare durante la durata di una scheda di interfaccia di rete della macchina virtuale. Di conseguenza, le estensioni devono leggere questo membro della struttura NDIS_SWITCH_NIC_PARAMETERS passata con gli OID seguenti:
 

NumaNodeId

Valore USHORT che specifica l'identificatore per il nodo NUMA (Non Uniform Memory Access) preferito di una CPU. Nei computer che supportano l'architettura NUMA, il nodo NUMA preferito è la CPU con la distanza più piccola della scheda di rete.

Nota Questo membro è valido solo se il membro NicType è impostato su NdisSwitchNicTypeSynthetic o NdisSwitchNicTypeEmulated.
 

PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matrice UCHAR che specifica l'indirizzo MAC (Media Access Control) come configurato nella partizione host per la scheda di rete. Questo può essere diverso dall'indirizzo MAC attualmente in uso dalla scheda di rete.

VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matrice UCHAR che specifica l'indirizzo MAC configurato nella scheda di rete all'interno della macchina virtuale stessa. Il campo è tutti zero per schede di interfaccia di rete non vm. Se AllowMacSpoofing (da NDIS_SWITCH_PORT_PROPERTY_SECURITY) è TRUE, questo indirizzo verrà applicato anche all'oggetto CurrentMacAddress.

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matrice UCHAR che specifica l'indirizzo MAC attualmente usato nel commutatore per la scheda di rete. Se AllowMacSpoofing e AllowTeaming sono entrambi FALSE, questo valore sarà uguale a PermanentMacAddress. Se AllowMacSpoofing è TRUE, questo valore sarà uguale a VMMacAddress. Se AllowTeaming è TRUE e il failover di teaming si è verificato all'interno della macchina virtuale, CurrentMacAddress sarà uguale all'indirizzo MAC che è stato eseguito il failover alla scheda di rete o PermanenteMacAddress se non si è verificato alcun failover.

VFAssigned

Valore BOOLEAN che, se impostato su TRUE, specifica che la scheda di rete è collegata a una funzione virtuale PCI Express (PCIe). Un VF viene esposto da una scheda di rete fisica sottostante che supporta l'interfaccia di virtualizzazione I/O (SR-IOV) radice singola.

Per altre informazioni, vedere la sezione Osservazioni.

Nota Il membro VFAssigned è valido solo se il membro NicType contiene un valore NdisSwitchNicTypeEmulated o NdisSwitchNicTypeSynthetic. Questo membro deve essere impostato su FALSE se il membro NicType contiene un valore NdisSwitchNicTypeExternal o NdisSwitchNicTypeInternal.
 

NdisReserved[2]

Commenti

Le richieste di query OID di OID_SWITCH_NIC_ARRAY restituiscono una struttura NDIS_SWITCH_NIC_ARRAY contenente zero o più elementi. Ogni elemento viene formattato come struttura NDIS_SWITCH_NIC_PARAMETERS .

La struttura NDIS_SWITCH_NIC_PARAMETERS viene usata anche nelle richieste OID seguenti:

Nota I tipi di dati NDIS_SWITCH_NIC_NAME, NDIS_SWITCH_NIC_FRIENDLYNAME, NDIS_VM_NAME e NDIS_VM_FRIENDLYNAME sono definiti dalla struttura IF_COUNTED_STRING. Una stringa definita da questa struttura non deve essere terminata con null. Tuttavia, la lunghezza della stringa deve essere impostata nel membro Length di questa struttura. Se la stringa è terminata con valore Null, il membro Length non deve includere il carattere Null terminante.
 

Linee guida per i membri NicType e NicName

In base al membro NicType valore, il formato del membro NicName è il seguente:
  • Se il membro NicType è impostato su NdisSwitchNicTypeExternal, il valore del membro NicName è l'identificatore di istanza univoco (InstanceId) della scheda di rete fisica associata alla scheda di rete esterna. Questo tipo di scheda di rete viene esposto nel sistema operativo di gestione eseguito nella partizione padre Hyper-V.

    La scheda di rete esterna fornisce una connessione all'interfaccia di rete fisica disponibile nell'host. La scheda di rete esterna può essere accessibile dalla partizione padre Hyper-V e da tutte le partizioni figlio.

    Nota Il valore InstanceId viene generato dal gestore Plug and Play eseguito nel sistema operativo di gestione.
     
  • Se il membro NicType è impostato su NdisSwitchNicTypeInternal, il valore del membro NicName è il nome visualizzato del dispositivo che identifica la scheda di rete interna. Questo tipo di scheda di rete viene esposto nel sistema operativo di gestione di una partizione padre Hyper-V.

    La scheda di rete interna può essere accessibile dalla partizione padre Hyper-V e da tutte le partizioni figlio. Tuttavia, la scheda di rete interna non si connette all'interfaccia di rete fisica disponibile nell'host.

    Nota Il nome visualizzato del dispositivo viene generato dal livello di gestione WMI Hyper-V eseguito nel sistema operativo di gestione.
     
  • Per tutti gli altri valori membri di NicType , il valore del membro NicName viene assegnato in modo univoco alla scheda di rete sintetica o emulata dall'interfaccia di gestione dei criteri. Questi tipi di schede di rete vengono esposti nel sistema operativo guest che esegue è una partizione figlio Hyper-V.

Linee guida per il membro VFAssigned

Un PCIe VF viene creato e allocato da un adattatore fisico sottostante che supporta l'interfaccia SR-IOV. Dopo aver creato il VF di PCIe, lo stack di virtualizzazione si collega o assegna una partizione figlio Hyper-V al VF. Il sistema operativo guest in esecuzione in questa partizione espone una scheda di rete macchina virtuale collegata o assegnata alla scheda fisica SR-IOV sottostante.

Se il membro VFAssigned è impostato su TRUE, i pacchetti vengono indirizzati direttamente tra la scheda di rete fisica SR-IOV sottostante e la scheda virtuale. Tuttavia, poiché l'commutatore estendibile non è coinvolto nel recapito dei pacchetti, i criteri di porta estendibili, ad esempio gli elenchi di controllo di accesso (ACL), non vengono applicati a questi pacchetti.

L'estensione può rimuovere un'assegnazione VF eseguendo un'indicazione di stato NDIS_STATUS_SWITCH_PORT_REMOVE_VF. Questa indicazione causa la consegna dei pacchetti tramite una porta di commutatore estendibile anziché direttamente tra la scheda di rete vm e la scheda fisica SR-IOV. In questo modo, i criteri di porta di commutatore estendibili devono essere applicati ai pacchetti ricevuti o inviati sulla porta del commutatore estendibile. Quando l'estensione rende l'indicazione di stato NDIS_STATUS_SWITCH_PORT_REMOVE_VF , specifica la porta di commutatore estendibile a cui è connessa la scheda di rete virtuale.

Per altre informazioni, vedere NDIS_STATUS_SWITCH_PORT_REMOVE_VF.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.30 e versioni successive.
Intestazione ntddndis.h (include Ndis.h, Fwpsk.h)

Vedi anche

NDIS_OBJECT_HEADER

NDIS_STATUS_SWITCH_PORT_REMOVE_VF

NDIS_SWITCH_NIC_ARRAY

NDIS_SWITCH_NIC_PARAMETERS

NDIS_SWITCH_NIC_STATE

NDIS_SWITCH_NIC_TYPE

OID_SWITCH_NIC_ARRAY

OID_SWITCH_NIC_CONNECT

OID_SWITCH_NIC_CREATE

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_SAVE

OID_SWITCH_NIC_SAVE_COMPLETE

OID_SWITCH_NIC_UPDATED