Compartilhar via


NDIS_NIC_SWITCH_CAPABILITIES estrutura (ntddndis.h)

A estrutura NDIS_NIC_SWITCH_CAPABILITIES especifica os recursos de um comutador NIC no adaptador de rede.

Sintaxe

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;

Membros

Header

O tipo, a revisão e o tamanho da estrutura NDIS_NIC_SWITCH_CAPABILITIES. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER.

O driver de miniporto deve definir o membro tipo do de cabeçalho para NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura de NDIS_NIC_SWITCH_CAPABILITIES, o driver deve definir o membro de Revisão do de Cabeçalho para um dos seguintes valores:

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

Os membros da interface RSS foram adicionados ao NDIS 6.60.

Observação Revisão 3 dessa estrutura só tem suporte no Windows Server 2016 e versões posteriores do Windows Server.

 

Defina o membro tamanho do como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

Foram adicionados os membros da interface de E/S raiz única (SR-IOV) para o NDIS 6.30.

Observação Revisão 2 dessa estrutura só tem suporte no Windows Server 2012 e versões posteriores do Windows Server.

 

Defina o membro tamanho como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

Versão original do NDIS 6.20.

Defina o membro tamanho como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Este membro é reservado para NDIS.

NdisReserved1

Reservado para NDIS.

NumTotalMacAddresses

Um valor ULONG que contém o número total de endereços MAC (controle de acesso de mídia) aos quais o adaptador de rede dá suporte.

Observação Drivers devem definir esse membro como zero para revisões de revisão 2 e posteriores dessa estrutura.
 

NumMacAddressesPerPort

Um valor ULONG que contém o número de endereços MAC com suporte para cada porta.

Observação Drivers devem definir esse membro como zero para revisões de revisão 2 e posteriores dessa estrutura.
 

NumVlansPerPort

Um valor ULONG que contém o número de VLANs com suporte para cada porta.

Observação Drivers devem definir esse membro como zero para revisões de revisão 2 e posteriores dessa estrutura.
 

NdisReserved2

Reservado para NDIS.

NdisReserved3

Reservado para NDIS.

NicSwitchCapabilities

Um valor ULONG que contém um OR bit a bit dos seguintes sinalizadores que especificam os recursos da opção NIC:

NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Especifica que a NIC dá suporte ao VMMQ para VPorts PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Se definido como 1, especifica que a NIC é capaz de manter tabelas de indireção por VPort por PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Se definido como 1, especifica que a NIC dá suporte à configuração de uma função de hash diferente por VPort PF. Se esse sinalizador estiver definido, NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED também deverá ser definido.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Se definido como 1, especifica que a NIC dá suporte à configuração de diferentes tipos de hash por VPort PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Se definido como 1, especifica que a NIC dá suporte à configuração de uma chave secreta de hash diferente por VPort PF. Esse sinalizador deverá ser definido se NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED estiver definido.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior. Foi introduzido no NDIS 6.60.

Se definido como 1, especifica que a NIC tem uma limitação no tamanho da tabela de indireção para VPorts PF. Esse sinalizador força o emissor de um OID RSS a usar um tamanho de tabela de indireção de VPort por PF igual ao número de filas de VPort arredondadas para a próxima potência de dois. Isso se aplica apenas a VPorts PF e não se aplica a VPorts VF. Esse sinalizador pode ser combinado com o sinalizador NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED (VPorts PF diferentes podem ter números diferentes de filas). Esse sinalizador impede que os usuários do VMMQ executem o direcionamento de fila refinado.

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

Observação Esse sinalizador tem suporte no Windows Server 2016 e posterior.

Esse sinalizador, introduzido com o NDIS 6.60, especifica que um comutador NIC pode ser criado sem o uso de SR-IOV. Esse sinalizador permite separar um comutador NIC da palavra-chave *SRIOV, o que significa que um comutador NIC pode ser criado por meio de OID_NIC_SWITCH_CREATE_SWITCH mesmo se *SRIOV = 0.

Para obter mais informações sobre como relatar recursos de comutador NIC para drivers de miniporto NDIS 6.60 e posteriores, consulte Determining NIC Switch Capabilities.

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

Esse sinalizador especifica que o comutador NIC dá suporte à filtragem de pacotes de hardware com base no identificador (ID) da VLAN (rede local virtual).

Observação Esse sinalizador deve ser definido somente se a opção NIC der suporte à filtragem de ID de VLAN em VPorts (portas virtuais) de SR-IOV individuais.
 

NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED

Esse sinalizador especifica que a opção NIC pode dar suporte à configuração de moderação de interrupção em VPorts individuais.

NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED

Esse sinalizador especifica que a opção NIC pode configurar um número diferente de pares de fila para cada VPort não padrão. Isso significa que cada VPort não padrão pode ser configurado de forma assimétrica para ter um número diferente de pares de fila.

Se esse sinalizador não estiver definido, todos os VPorts não padrão deverão ser configurados simetricamente para ter o mesmo número de pares de fila.

Independentemente de esse sinalizador estar definido, a opção NIC deve dar suporte à capacidade de definir o número de pares de fila no VPort padrão. Elas podem ser diferentes do número de pares de filas que são definidos nos VPorts não padrão.

Observação Um par de filas consiste em uma fila de transmissão e fila de recebimento. Os pares de fila associados ao VPort padrão são configurados no momento da criação do comutador por meio de uma solicitação de método OID de OID_NIC_SWITCH_CREATE_SWITCH. Um ou mais pares de fila são configurados em um VPort não padrão por meio de uma solicitação de método OID de OID_NIC_SWITCH_CREATE_VPORT.
 
Para obter mais informações, consulte atribuição simétrica e assimétrica de pares de fila.

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

Esse sinalizador especifica que os pares de fila de VPorts não padrão anexados a uma VF (função virtual) PCI Express (PCIe) podem ser usados para o RSS (dimensionamento lateral de recebimento). O driver de miniporto VF é executado no sistema operacional convidado de uma partição filho Hyper-V.

Se esse sinalizador estiver definido, o driver de miniporto oferecerá suporte ao RSS em um VF e poderá usar um ou mais dos pares de fila do VPort não padrão para RSS.

Observação Começando com o Windows Server 2012, apenas um VPort não padrão pode ser anexado a um VF.
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

Esse sinalizador especifica que os VPorts não padrão podem ser criados de maneira não reservada do pool de VPort no adaptador de rede. Isso permite que VPorts não padrão disponíveis sejam criados e atribuídos conforme necessário para o PF e VFs alocados. Se o adaptador de rede der suporte à interface VMQ (fila de máquina virtual), VPorts não padrão atribuídas ao PF também poderão ser usadas para filas de recebimento de VM.

Observação O VPort padrão é sempre reservado para atribuição ao PF.
 
Se esse sinalizador estiver definido, VPorts não padrão disponíveis serão criados e atribuídos ao PF e aos VFs alocados. No entanto, esse mecanismo não reserva VPorts não padrão para criação e atribuição de VF. Como resultado, podem ocorrer situações em que uma VF pode não receber um VPort se o pool tiver sido esgotado de VPorts disponíveis.
Observação Se uma VF não puder receber um VPort, o tráfego de pacotes pela VF ocorrerá no caminho de dados sintético SR-IOV. Para obter mais informações sobre esse caminho de dados, consulte SR-IOV Data Paths.
 
Se esse sinalizador não estiver definido, a criação e a atribuição de VPorts não padrão serão reservadas para atribuição de VF. VPorts não padrão adicionais podem ser criados e atribuídos ao PF.

Para obter mais informações sobre O VMQ, consulte VMQ (Fila de Máquinas Virtuais).

Para obter mais informações sobre VPorts, consulte Gerenciamento de portas virtuais.

MaxNumSwitches

Um valor ULONG que especifica o número máximo de comutadores que podem ser criados na função física PCI Express (PCIe) do adaptador de rede (PF).

Observação Começando com o Windows Server 2012, o Windows só dá suporte ao comutador NIC padrão no adaptador de rede. Portanto, esse membro deve ser sempre definido como um.
 

MaxNumVPorts

Um valor ULONG que especifica o número máximo de VPorts que podem ser criados em um adaptador de rede. Isso inclui o VPort padrão que está sempre anexado ao PF.

Observação a opção NIC deve dar suporte pelo menos a VPorts (MaxNumVFs + 1).
 

NdisReserved4

Reservado para NDIS.

MaxNumVFs

Um valor ULONG que especifica o número máximo de VFs que podem ser criados na opção NIC.

Observação Dependendo dos recursos de hardware disponíveis no adaptador de rede, o driver de miniporto pode definir o membro maxnumvfs do para um valor menor que seu *NumVFs palavra-chave. Para obter mais informações sobre essa palavra-chave, consulte Palavras-chave INF padronizadas paraSR-IOV.
 

MaxNumQueuePairs

Um valor ULONG que especifica o número máximo de pares de fila que podem ser atribuídos a todos os VPorts. Isso inclui o VPort padrão anexado ao PF.

Observação Esse valor deve ser maior ou igual ao valor de MaxNumVPorts.
 

NdisReserved5

Reservado para NDIS.

NdisReserved6

Reservado para NDIS.

NdisReserved7

Reservado para NDIS.

MaxNumQueuePairsPerNonDefaultVPort

Um valor ULONG que especifica o número máximo de pares de fila que podem ser atribuídos a um VPort não padrão.

Esse valor é especificado em poderes de 2 e fornece configuração assimétrica e atribuição de pares de fila para VPorts. Para obter mais informações, consulte atribuição simétrica e assimétrica de pares de fila.

NdisReserved8

Reservado para NDIS.

NdisReserved9

Reservado para NDIS.

NdisReserved10

Reservado para NDIS.

NdisReserved11

Reservado para NDIS.

NdisReserved12

Reservado para NDIS.

MaxNumMacAddresses

Um valor ULONG que especifica o número máximo de filtros de endereço MAC unicast que estão disponíveis na opção NIC.

Observação Esse valor deve ser maior ou igual ao valor de MaxNumVPorts. Isso permite que cada VPort (incluindo o VPort padrão) seja configurado para ter pelo menos um filtro de endereço MAC unicast.
 

NdisReserved13

Reservado para NDIS.

NdisReserved14

Reservado para NDIS.

NdisReserved15

Reservado para NDIS.

NdisReserved16

Reservado para NDIS.

NdisReserved17

Reservado para NDIS.

MaxNumRssCapableNonDefaultPFVPorts

Um valor ULONG que especifica o número máximo de PFVPorts não padrão compatíveis com RSS.

NumberOfIndirectionTableEntriesForDefaultVPort

Um valor ULONG que especifica o número de entradas de tabela de indireção para o VPort padrão.

NumberOfIndirectionTableEntriesPerNonDefaultPFVPort

Um valor ULONG que especifica o número de entradas de tabela de indireção para cada PFVPort não padrão.

MaxNumQueuePairsForDefaultVPort

Um valor ULONG que especifica o número máximo de pares de fila que podem ser atribuídos ao VPort padrão.

Esse valor é especificado em poderes de 2 e fornece configuração assimétrica e atribuição de pares de fila para VPorts. Para obter mais informações, consulte atribuição simétrica e assimétrica de pares de fila.

Observações

A estrutura NDIS_NIC_SWITCH_CAPABILITIES é usada nos membros das seguintes estruturas:

Solicitações de consulta OID de OID_NIC_SWITCH_CURRENT_CAPABILITIES e OID_NIC_SWITCH_HARDWARE_CAPABILITIES retornar uma estrutura NDIS_NIC_SWITCH_CAPABILITIES.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte no NDIS 6.20 e posterior.
cabeçalho ntddndis.h (inclua Ndis.h)

Consulte também

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