Compartir a través de


estructura NDIS_SWITCH_NIC_PARAMETERS (ntddndis.h)

La estructura NDIS_SWITCH_NIC_PARAMETERS especifica los parámetros de configuración de un adaptador de red (NIC) que está conectado a un puerto de conmutador extensible de Hyper-V.

Sintaxis

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;

Miembros

Header

Tipo, revisión y tamaño de la estructura NDIS_SWITCH_NIC_PARAMETERS . Este miembro tiene el formato de estructura NDIS_OBJECT_HEADER .

El miembro Type de Header debe establecerse en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NDIS_SWITCH_NIC_PARAMETERS , el miembro Revision de Header debe establecerse en el siguiente valor:

NDIS_SWITCH_NIC_PARAMETERS_REVISION_1

Versión original para NDIS 6.30 y versiones posteriores.

Establezca el miembro Size en NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1.

Flags

Valor ULONG que contiene un OR bit a bit de marcas. Se define el siguiente valor de marca.

Valor Significado
NDIS_SWITCH_NIC_FLAGS_NIC_INITIALIZING
Esta marca se establece cuando el OID de OID_SWITCH_NIC_CREATE se emite por primera vez en la vigencia de un objeto NIC de máquina virtual. Si se establece esta marca:
  • Opcionalmente, una extensión de conmutador extensible de Hyper-V puede reducir el valor del miembro MTU en la estructura NDIS_SWITCH_NIC_PARAMETERS si necesita reservar espacio para la encapsulación antes de pasar el OID a la pila. La extensión no podrá reservar espacio de cabeza de encapsulación para ningún otro tipo de NIC.
  • La extensión no debe aumentar el valor de MTU .
Esta marca solo se establecerá si el miembro NicType es NdisSwitchNicTypeSynthetic.

NicName

Valor de NDIS_SWITCH_NIC_NAME que especifica el nombre interno único del adaptador de red que está conectado a un puerto de conmutador extensible.

Para obtener más información, vea la sección Comentarios.

NicFriendlyName

Valor NDIS_SWITCH_NIC_FRIENDLYNAME que especifica la descripción fácil de usar del adaptador de red.

PortId

Valor NDIS_SWITCH_PORT_ID que contiene el identificador único del puerto de conmutador extensible al que está conectado el adaptador de red.

NicIndex

Valor de NDIS_SWITCH_NIC_INDEX que especifica el índice del adaptador de red que está conectado al puerto de conmutador extensible especificado por el miembro PortId .

Para obtener más información sobre los valores de NDIS_SWITCH_NIC_INDEX, vea Valores de índice del adaptador de red.

NicType

Valor de NDIS_SWITCH_NIC_TYPE que especifica el tipo del adaptador de red que está conectado a un puerto de conmutador extensible.

NicState

Valor NDIS_SWITCH_NIC_STATE que especifica el estado actual del adaptador de red.

VmName

Valor NDIS_VM_NAME que especifica el nombre interno único de la partición secundaria de Hyper-V en la que se ejecuta el sistema operativo invitado que expone el adaptador de red.

La partición secundaria de Hyper-V también se conoce como máquina virtual (VM).

Nota Este miembro solo es válido si el miembro NicType contiene un valor de NdisSwitchNicSyntheticNic o NdisSwitchNicEmulatedNic.
 

VmFriendlyName

NetCfgInstanceId

Valor GUID que especifica el valor del Registro NetCfgInstanceId del adaptador de red subyacente.

Nota Este miembro solo es válido si el miembro NicType está establecido en NdisSwitchNicTypeExternal o NdisSwitchNicTypeInternal. NetCfgInstanceId no será válido hasta que se haya inicializado el adaptador de red virtual.
 

MTU

Valor ULONG que especifica el tamaño máximo de la unidad de transmisión (MTU), en bytes, para el adaptador de red.

Nota El valor de este miembro puede cambiar durante la vigencia de una NIC de máquina virtual. Por lo tanto, las extensiones deben leer este miembro de la estructura de NDIS_SWITCH_NIC_PARAMETERS que se pasa con los siguientes IDENTIFICADORes operativos:
 

NumaNodeId

Valor de USHORT que especifica el identificador del nodo de acceso a memoria no uniforme (NUMA) preferido de una CPU. En los equipos que admiten la arquitectura NUMA, el nodo NUMA preferido es la CPU que tiene la distancia más pequeña al adaptador de red.

Nota Este miembro solo es válido si el miembro NicType está establecido en NdisSwitchNicTypeSynthetic o NdisSwitchNicTypeEmulated.
 

PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matriz UCHAR que especifica la dirección del control de acceso multimedia (MAC) configurada en la partición host para el adaptador de red. Esto puede ser diferente de la dirección MAC que usa actualmente el adaptador de red.

VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matriz UCHAR que especifica la dirección MAC configurada en el adaptador de red dentro de la propia máquina virtual. El campo es todos ceros para las NIC que no son de máquina virtual. Si AllowMacSpoofing (de NDIS_SWITCH_PORT_PROPERTY_SECURITY) es TRUE, esta dirección también se aplicará a CurrentMacAddress.

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

Matriz UCHAR que especifica la dirección MAC que se está usando actualmente en el conmutador para el adaptador de red. Si AllowMacSpoofing y AllowTeaming son FALSE, este valor será igual a PermanentMacAddress. Si AllowMacSpoofing es TRUE, este valor será igual a VMMacAddress. Si AllowTeaming es TRUE y se ha producido la conmutación por error de formación de equipos dentro de la máquina virtual, CurrentMacAddress será igual a la dirección MAC que se conmutó por error al adaptador de red o a PermanentMacAddress si no se ha producido ninguna conmutación por error.

VFAssigned

Valor BOOLEAN que, si se establece en TRUE, especifica que el adaptador de red está conectado a una función virtual PCI Express (PCIe). Un VF se expone mediante un adaptador de red físico subyacente que admite la interfaz de virtualización de E/S raíz única (SR-IOV).

Para obtener más información, vea la sección Comentarios.

Nota El miembro VFAssigned solo es válido si el miembro NicType contiene un valor de NdisSwitchNicTypeEmulated o NdisSwitchNicTypeSynthetic. Este miembro debe establecerse en FALSE si el miembro NicType contiene un valor de NdisSwitchNicTypeExternal o NdisSwitchNicTypeInternal.
 

NdisReserved[2]

Comentarios

Las solicitudes de consulta OID de OID_SWITCH_NIC_ARRAY devuelven una estructura de NDIS_SWITCH_NIC_ARRAY que contiene cero o más elementos. Cada elemento tiene el formato de estructura NDIS_SWITCH_NIC_PARAMETERS .

La estructura NDIS_SWITCH_NIC_PARAMETERS también se usa en las siguientes solicitudes de OID:

Nota Los tipos de datos NDIS_SWITCH_NIC_NAME, NDIS_SWITCH_NIC_FRIENDLYNAME, NDIS_VM_NAME y NDIS_VM_FRIENDLYNAME se definen mediante la estructura de IF_COUNTED_STRING . Una cadena definida por esta estructura no tiene que terminar en null. Sin embargo, la longitud de la cadena debe establecerse en el miembro Length de esta estructura. Si la cadena termina en null, el miembro Length no debe incluir el carácter nulo de terminación.
 

Directrices para los miembros NicType y NicName

Según el miembro NicType de valor, el formato del miembro NicName es el siguiente:
  • Si el miembro NicType se establece en NdisSwitchNicTypeExternal, el valor del miembro NicName es el identificador de instancia único (InstanceId) del adaptador de red físico enlazado al adaptador de red externo. Este tipo de adaptador de red se expone en el sistema operativo de administración que se ejecuta en la partición primaria de Hyper-V.

    El adaptador de red externo proporciona una conexión a la interfaz de red física que está disponible en el host. Se puede acceder al adaptador de red externo mediante la partición primaria de Hyper-V y todas las particiones secundarias.

    Nota El administrador de Plug and Play genera el valor instanceId que se ejecuta en el sistema operativo de administración.
     
  • Si el miembro NicType se establece en NdisSwitchNicTypeInternal, el valor del miembro NicName es el nombre para mostrar del dispositivo que identifica el adaptador de red interno. Este tipo de adaptador de red se expone en el sistema operativo de administración de una partición primaria de Hyper-V.

    Se puede acceder al adaptador de red interno mediante la partición primaria de Hyper-V y todas las particiones secundarias. Sin embargo, el adaptador de red interno no se conecta a la interfaz de red física que está disponible en el host.

    Nota El nombre para mostrar del dispositivo lo genera el nivel de administración de WMI de Hyper-V que se ejecuta en el sistema operativo de administración.
     
  • Para todos los demás valores de miembro de NicType , el valor del miembro NicName se asigna de forma única al adaptador de red sintético o emulado por la interfaz de administración de directivas. Estos tipos de adaptadores de red se exponen en el sistema operativo invitado que se ejecuta es una partición secundaria de Hyper-V.

Directrices para el miembro VFAssigned

Una VF PCIe se crea y asigna mediante un adaptador físico subyacente que admite la interfaz SR-IOV. Después de crear el VF PCIe, la pila de virtualización se asocia o asigna, una partición secundaria de Hyper-V al VF. El sistema operativo invitado que se ejecuta en esta partición expone un adaptador de red de máquina virtual (VM) conectado o asignado al adaptador físico SR-IOV subyacente.

Si el miembro VFAssigned se establece en TRUE, los paquetes se enrutan directamente entre el adaptador de red físico SR-IOV subyacente y el adaptador virtual. Sin embargo, dado que el conmutador extensible no está implicado en la entrega de paquetes, las directivas de puerto de conmutador extensible, como las listas de control de acceso (ACL), no se aplican a estos paquetes.

La extensión puede quitar una asignación de VF mediante la emisión de una indicación de estado de NDIS_STATUS_SWITCH_PORT_REMOVE_VF . Esta indicación hace que los paquetes se entreguen a través de un puerto de conmutador extensible en lugar de directamente entre el adaptador de red de la máquina virtual y el adaptador físico SR-IOV. Esto permite aplicar las directivas de puerto de conmutador extensible a los paquetes que se reciben o envían a través del puerto de conmutador extensible. Cuando la extensión hace la indicación de estado NDIS_STATUS_SWITCH_PORT_REMOVE_VF , especifica a qué puerto de conmutador extensible está conectado el adaptador de red virtual.

Para obtener más información, consulte NDIS_STATUS_SWITCH_PORT_REMOVE_VF.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.30 y versiones posteriores.
Encabezado ntddndis.h (include Ndis.h, Fwpsk.h)

Consulte también

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