estrutura NDIS_NIC_SWITCH_CAPABILITIES (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 miniporta deve definir o membro Type de Header como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura NDIS_NIC_SWITCH_CAPABILITIES , o driver deve definir o membro Revision do Header como um dos seguintes valores:

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

Os membros da interface RSS foram adicionados ao NDIS 6.60.

Nota A revisão 3 dessa estrutura tem suporte apenas em Windows Server 2016 e versões posteriores do Windows Server.

 

Defina o membro Size como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

Adicionados os membros da interface SR-IOV (virtualização de E/S de raiz única) para o NDIS 6.30.

Nota A revisão 2 dessa estrutura tem suporte apenas em Windows Server 2012 e versões posteriores do Windows Server.

 

Defina o membro Size como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

Versão original do NDIS 6.20.

Defina o membro Size como NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.

Flags

Um valor ULONG que contém um OR bit a bit de sinalizadores. Esse 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 à mídia) aos quais o adaptador de rede dá suporte.

Nota Os 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.

Nota Os 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.

Nota Os 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

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele 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

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele foi introduzido no NDIS 6.60.

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

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele 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

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele 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

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele 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

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior. Ele 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 VPort por PF igual ao número de filas de VPort arredondadas para a próxima potência de dois. Isso só se aplica 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 (diferentes VPorts PF podem ter números diferentes de filas). Esse sinalizador impede que os usuários do VMMQ executem direcionamento de fila refinado.

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

Nota Esse sinalizador tem suporte no Windows Server 2016 e posterior.

Esse sinalizador, introduzido com o NDIS 6.60, especifica que uma opção NIC pode ser criada sem o uso de SR-IOV. Esse sinalizador permite separar uma opção NIC da palavra-chave *SRIOV, o que significa que uma opção NIC pode ser criada por meio de OID_NIC_SWITCH_CREATE_SWITCH mesmo que *SRIOV = 0.

Para obter mais informações sobre como relatar recursos de comutador NIC para drivers de miniporta NDIS 6.60 e posteriores, consulte Determinando funcionalidades de comutador NIC.

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

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

Nota Esse sinalizador só deverá ser definido se a opção NIC der suporte à filtragem de ID de VLAN em VPorts (portas virtuais 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 filas.

Se esse sinalizador não estiver definido, todas as VPorts não padrão deverão ser configuradas simétricamente para ter o mesmo número de pares de filas.

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. Eles podem ser diferentes do número de pares de filas definidos nos VPorts não padrão.

Nota 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 miniporta VF é executado no sistema operacional convidado de uma partição filho do Hyper-V.

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

Nota Começando com Windows Server 2012, apenas um VPort não padrão pode ser anexado a uma 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.

Nota 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 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 ser atribuída a um VPort se o pool tiver sido esgotado de VPorts disponíveis.
Nota Se uma VF não puder ser atribuída a uma VPort, o tráfego de pacotes pela VF ocorrerá sobre o caminho de dados sintéticos SR-IOV. Para obter mais informações sobre esse caminho de dados, consulte Caminhos de dados SR-IOV.
 
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áquina Virtual).

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

MaxNumSwitches

Um valor ULONG que especifica o número máximo de opções que podem ser criadas na PF (Função Física) PCI Express (PCIe) do adaptador de rede.

Nota Começando com Windows Server 2012, o Windows dá suporte apenas ao comutador NIC padrão no adaptador de rede. Portanto, esse membro sempre deve ser 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.

Nota A opção NIC deve dar suporte a pelo menos 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.

Nota Dependendo dos recursos de hardware disponíveis no adaptador de rede, o driver de miniporto pode definir o membro MaxNumVFs como um valor menor que seu *NumVFs palavra-chave. Para obter mais informações sobre esse palavra-chave, consulte Palavras-chave INF padronizadas para SR-IOV.
 

MaxNumQueuePairs

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

Nota 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 filas que podem ser atribuídos a um VPort não padrão.

Esse valor é especificado em potências 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.

Nota 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 filas que podem ser atribuídos ao VPort padrão.

Esse valor é especificado em potências 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.

Comentários

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
Cliente mínimo com suporte Com suporte no NDIS 6.20 e posterior.
Cabeçalho ntddndis.h (inclua Ndis.h)

Confira 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