estructura NDIS_NIC_SWITCH_CAPABILITIES (ntddndis.h)

La estructura NDIS_NIC_SWITCH_CAPABILITIES especifica las funciones de un conmutador NIC en el adaptador de red.

Sintaxis

typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NdisReserved1;
  ULONG              NumTotalMacAddresses;
  ULONG              NumMacAddressesPerPort;
  ULONG              NumVlansPerPort;
  ULONG              NdisReserved2;
  ULONG              NdisReserved3;
  ULONG              NicSwitchCapabilities;
  ULONG              MaxNumSwitches;
  ULONG              MaxNumVPorts;
  ULONG              NdisReserved4;
  ULONG              MaxNumVFs;
  ULONG              MaxNumQueuePairs;
  ULONG              NdisReserved5;
  ULONG              NdisReserved6;
  ULONG              NdisReserved7;
  ULONG              MaxNumQueuePairsPerNonDefaultVPort;
  ULONG              NdisReserved8;
  ULONG              NdisReserved9;
  ULONG              NdisReserved10;
  ULONG              NdisReserved11;
  ULONG              NdisReserved12;
  ULONG              MaxNumMacAddresses;
  ULONG              NdisReserved13;
  ULONG              NdisReserved14;
  ULONG              NdisReserved15;
  ULONG              NdisReserved16;
  ULONG              NdisReserved17;
  ULONG              MaxNumRssCapableNonDefaultPFVPorts;
  ULONG              NumberOfIndirectionTableEntriesForDefaultVPort;
  ULONG              NumberOfIndirectionTableEntriesPerNonDefaultPFVPort;
  ULONG              MaxNumQueuePairsForDefaultVPort;
} NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;

Miembros

Header

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

El controlador de minipuerto debe establecer el miembro Type de Header en NDIS_OBJECT_TYPE_DEFAULT. Para especificar la versión de la estructura de NDIS_NIC_SWITCH_CAPABILITIES , el controlador debe establecer el miembro Revision de Header en uno de los valores siguientes:

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

Se agregaron los miembros de la interfaz RSS para NDIS 6.60.

Nota La revisión 3 de esta estructura solo se admite en Windows Server 2016 y versiones posteriores de Windows Server.

 

Establezca el miembro Size en NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

Se agregaron los miembros de interfaz de virtualización de E/S raíz única (SR-IOV) para NDIS 6.30.

Nota La revisión 2 de esta estructura solo se admite en Windows Server 2012 y versiones posteriores de Windows Server.

 

Establezca el miembro Size en NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

Versión original de NDIS 6.20.

Establezca el miembro Size en NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.

Flags

Valor de ULONG que contiene un OR bit a bit de marcas. Este miembro está reservado para NDIS.

NdisReserved1

Reservado para NDIS.

NumTotalMacAddresses

Valor de ULONG que contiene el número total de direcciones de control de acceso multimedia (MAC) que admite el adaptador de red.

Nota Los controladores deben establecer este miembro en cero para las revisiones 2 y posteriores de esta estructura.
 

NumMacAddressesPerPort

Valor de ULONG que contiene el número de direcciones MAC que se admiten para cada puerto.

Nota Los controladores deben establecer este miembro en cero para las revisiones 2 y posteriores de esta estructura.
 

NumVlansPerPort

Valor de ULONG que contiene el número de VLAN que se admiten para cada puerto.

Nota Los controladores deben establecer este miembro en cero para las revisiones 2 y posteriores de esta estructura.
 

NdisReserved2

Reservado para NDIS.

NdisReserved3

Reservado para NDIS.

NicSwitchCapabilities

Valor de ULONG que contiene un OR bit a bit de las marcas siguientes que especifican las funcionalidades del conmutador NIC:

NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Especifica que la NIC admite VMMQ para VPorts PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Si se establece en 1, especifica que la NIC puede mantener las tablas indirectas de VPort por PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Si se establece en 1, especifica que la NIC admite la configuración de una función hash diferente por VPort PF. Si se establece esta marca, NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED también debe establecerse.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Si se establece en 1, especifica que la NIC admite la configuración de diferentes tipos hash por VPort PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Si se establece en 1, especifica que la NIC admite la configuración de una clave secreta hash diferente por VPort PF. Esta marca debe establecerse si se establece NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED .

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores. Se introdujo en NDIS 6.60.

Si se establece en 1, especifica que la NIC tiene una limitación en el tamaño de la tabla de direccionamiento indirecto para las VPort pf. Esta marca obliga al emisor de un OID RSS a usar un tamaño de tabla indirecto VPort por PF igual al número de colas de VPort redondeadas hasta la siguiente potencia de dos. Esto solo se aplica a VPorts PF y no se aplica a VPorts de VF. Esta marca se puede combinar con la marca NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED (diferentes VPorts PF pueden tener diferentes números de colas). Esta marca impide que los usuarios de VMMQ realicen una dirección de cola específica.

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

Nota Esta marca se admite en Windows Server 2016 y versiones posteriores.

Esta marca, introducida con NDIS 6.60, especifica que se puede crear un conmutador NIC sin el uso de SR-IOV. Esta marca permite separar un conmutador NIC de la palabra clave *SRIOV, lo que significa que se puede crear un conmutador NIC a través de OID_NIC_SWITCH_CREATE_SWITCH incluso si *SRIOV = 0.

Para obtener más información sobre la generación de informes de funcionalidades de conmutador NIC para controladores de miniporte NDIS 6.60 y versiones posteriores, vea Determinar las funcionalidades del conmutador NIC.

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

Esta marca especifica que el conmutador NIC admite el filtrado de paquetes de hardware en función del identificador de red de área local virtual (VLAN).

Nota Esta marca solo debe establecerse si el conmutador NIC admite el filtrado de identificadores de VLAN en puertos virtuales SR-IOV individuales (VPorts).
 

NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED

Esta marca especifica que el conmutador NIC puede admitir la configuración de moderación de interrupciones en VPorts individuales.

NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED

Esta marca especifica que el conmutador NIC puede configurar un número diferente de pares de cola para cada VPort no predeterminado. Esto significa que cada VPort no predeterminado se puede configurar de forma asimétrica para tener un número diferente de pares de cola.

Si no se establece esta marca, todas las VPorts no predeterminadas deben configurarse simétricamente para tener el mismo número de pares de cola.

Independientemente de si se establece esta marca, el conmutador NIC debe admitir la capacidad de establecer el número de pares de cola en la VPort predeterminada. Estos pueden diferir del número de pares de cola que se establecen en las VPorts no predeterminadas.

Nota Un par de colas consta de una cola de transmisión y una cola de recepción. Los pares de cola asociados con el VPort predeterminado se configuran en el momento de la creación del conmutador a través de una solicitud de método OID de OID_NIC_SWITCH_CREATE_SWITCH. Uno o varios pares de colas se configuran en un VPort no predeterminado a través de una solicitud de método OID de OID_NIC_SWITCH_CREATE_VPORT.
 
Para obtener más información, consulte Asignación simétrica y asimétrica de pares de cola.

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

Esta marca especifica que los pares de cola de VPorts no predeterminados que están conectados a una función virtual de PCI Express (PCIe) (VF) se pueden usar para el escalado lateral de recepción (RSS). El controlador de miniporte VF se ejecuta en el sistema operativo invitado de una partición secundaria de Hyper-V.

Si se establece esta marca, el controlador de minipuerto admite RSS en un VF y puede usar uno o varios pares de cola desde el VPort no predeterminado para RSS.

Nota A partir de Windows Server 2012, solo se puede asociar una VPort no predeterminada a una VF.
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

Esta marca especifica que las VPorts no predeterminadas se pueden crear de forma no reservada desde el grupo de VPort en el adaptador de red. Esto permite crear y asignar VPorts no predeterminados disponibles según sea necesario a las máquinas virtuales pf y asignadas. Si el adaptador de red admite la interfaz de cola de máquinas virtuales (VMQ), también se pueden usar VPorts no predeterminados asignados al PF para las colas de recepción de máquinas virtuales.

Nota El VPort predeterminado siempre está reservado para la asignación al PF.
 
Si se establece esta marca, se crean VPorts no predeterminados disponibles y se asignan a las máquinas virtuales PF y asignadas. Sin embargo, este mecanismo no reserva VPorts no predeterminados para la creación y asignación de VF. Como resultado, es posible que se produzcan situaciones en las que una VF no se pueda asignar a una VPort si el grupo se ha agotado de VPorts disponibles.
Nota Si una VF no se puede asignar a una VPort, el tráfico de paquetes a través del VF se produce a través de la ruta de acceso de datos sintéticos SR-IOV. Para obtener más información sobre esta ruta de acceso de datos, consulte RUTAS de acceso de datos sr-IOV.
 
Si no se establece esta marca, la creación y asignación de VPorts no predeterminados se reserva para la asignación de VF. Se pueden crear y asignar VPorts adicionales no predeterminados al PF.

Para más información sobre VMQ, consulte Cola de máquinas virtuales (VMQ).

Para obtener más información sobre VPorts, consulte Administración de puertos virtuales.

MaxNumSwitches

Valor de ULONG que especifica el número máximo de conmutadores que se pueden crear en la función física (PF) de PCI Express (PCIe) del adaptador de red.

Nota A partir de Windows Server 2012, Windows solo admite el conmutador NIC predeterminado en el adaptador de red. Por lo tanto, este miembro siempre debe establecerse en uno.
 

MaxNumVPorts

Valor de ULONG que especifica el número máximo de VPorts que se pueden crear en un adaptador de red. Esto incluye el VPort predeterminado que siempre está asociado al PF.

Nota El conmutador NIC debe admitir al menos (MaxNumVFs + 1) VPorts.
 

NdisReserved4

Reservado para NDIS.

MaxNumVFs

Valor de ULONG que especifica el número máximo de máquinas virtuales que se pueden crear en el conmutador NIC.

Nota Dependiendo de los recursos de hardware disponibles en el adaptador de red, el controlador de minipuerto puede establecer el miembro MaxNumVFs en un valor menor que su palabra clave *NumVFs . Para obtener más información sobre esta palabra clave, vea Palabras clave INF estandarizadas para SR-IOV.
 

MaxNumQueuePairs

Valor de ULONG que especifica el número máximo de pares de cola que se pueden asignar a todas las VPorts. Esto incluye el VPort predeterminado que está asociado al PF.

Nota Este valor debe ser mayor o igual que el valor de MaxNumVPorts.
 

NdisReserved5

Reservado para NDIS.

NdisReserved6

Reservado para NDIS.

NdisReserved7

Reservado para NDIS.

MaxNumQueuePairsPerNonDefaultVPort

Valor de ULONG que especifica el número máximo de pares de cola que se pueden asignar a una VPort no predeterminada.

Este valor se especifica en potencias de 2 y proporciona la configuración asimétrica y la asignación de pares de cola a VPorts. Para obtener más información, consulte Asignación simétrica y asimétrica de pares de cola.

NdisReserved8

Reservado para NDIS.

NdisReserved9

Reservado para NDIS.

NdisReserved10

Reservado para NDIS.

NdisReserved11

Reservado para NDIS.

NdisReserved12

Reservado para NDIS.

MaxNumMacAddresses

Valor ULONG que especifica el número máximo de filtros de direcciones MAC de unidifusión que están disponibles en el conmutador NIC.

Nota Este valor debe ser mayor o igual que el valor de MaxNumVPorts. Esto permite que cada VPort (incluido el VPort predeterminado) esté configurado para que tenga al menos un filtro de direcciones MAC de unidifusión.
 

NdisReserved13

Reservado para NDIS.

NdisReserved14

Reservado para NDIS.

NdisReserved15

Reservado para NDIS.

NdisReserved16

Reservado para NDIS.

NdisReserved17

Reservado para NDIS.

MaxNumRssCapableNonDefaultPFVPorts

Valor de ULONG que especifica el número máximo de PFVPorts compatibles con RSS no predeterminados.

NumberOfIndirectionTableEntriesForDefaultVPort

Valor de ULONG que especifica el número de entradas de tabla de direccionamiento indirecto para el VPort predeterminado.

NumberOfIndirectionTableEntriesPerNonDefaultPFVPort

Valor de ULONG que especifica el número de entradas de tabla de direccionamiento indirecto para cada PFVPort no predeterminado.

MaxNumQueuePairsForDefaultVPort

Valor de ULONG que especifica el número máximo de pares de cola que se pueden asignar al VPort predeterminado.

Este valor se especifica en potencias de 2 y proporciona la configuración asimétrica y la asignación de pares de cola a VPorts. Para obtener más información, consulte Asignación simétrica y asimétrica de pares de cola.

Comentarios

La estructura NDIS_NIC_SWITCH_CAPABILITIES se usa en los miembros de las estructuras siguientes:

Solicitudes de consulta OID de OID_NIC_SWITCH_CURRENT_CAPABILITIES y OID_NIC_SWITCH_HARDWARE_CAPABILITIES devuelve una estructura de NDIS_NIC_SWITCH_CAPABILITIES .

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.20 y versiones posteriores.
Encabezado ntddndis.h (include Ndis.h)

Consulte también

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_CURRENT_CAPABILITIES

OID_NIC_SWITCH_HARDWARE_CAPABILITIES