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.
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.
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.
NumMacAddressesPerPort
Um valor ULONG que contém o número de endereços MAC com suporte para cada porta.
NumVlansPerPort
Um valor ULONG que contém o número de VLANs com suporte para cada porta.
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
Especifica que a NIC dá suporte ao VMMQ para VPorts PF.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED
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
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
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
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
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
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).
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.
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.
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.
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.
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.
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.
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.
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.
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:
- Os membros HardwareNicSwitchCapabilities e CurrentNicSwitchCapabilities do NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES estrutura.
- O membro NicSwitchCapabilities do estruturas NDIS_FILTER_ATTACH_PARAMETERS e NDIS_BIND_PARAMETERS .
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_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES