Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A estrutura NDIS_RECEIVE_FILTER_CAPABILITIES especifica os recursos de filtragem de recebimento de um adaptador de rede.
Os filtros de recebimento do NDIS são usados nas seguintes interfaces NDIS:
-
de coalescing de pacote NDIS . Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Gerenciando filtros de recebimento de agrupamento de pacotes.
-
virtualização de E/S de Raiz Única (SR-IOV). Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Configurando um filtro de recebimento em uma porta virtual.
-
VMQ (Fila de Máquinas Virtuais). Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Configuração e limpeza de filtros VMQ.
Sintaxe
typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG EnabledFilterTypes;
ULONG EnabledQueueTypes;
ULONG NumQueues;
ULONG SupportedQueueProperties;
ULONG SupportedFilterTests;
ULONG SupportedHeaders;
ULONG SupportedMacHeaderFields;
ULONG MaxMacHeaderFilters;
ULONG MaxQueueGroups;
ULONG MaxQueuesPerQueueGroup;
ULONG MinLookaheadSplitSize;
ULONG MaxLookaheadSplitSize;
ULONG SupportedARPHeaderFields;
ULONG SupportedIPv4HeaderFields;
ULONG SupportedIPv6HeaderFields;
ULONG SupportedUdpHeaderFields;
ULONG MaxFieldTestsPerPacketCoalescingFilter;
ULONG MaxPacketCoalescingFilters;
ULONG NdisReserved;
} NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES;
Membros
Header
A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_RECEIVE_FILTER_CAPABILITIES. O driver define o Type membro da estrutura que header especifica para NDIS_OBJECT_TYPE_DEFAULT.
Para indicar a versão da estrutura de NDIS_RECEIVE_FILTER_CAPABILITIES, o driver define o membro Revisão como um dos seguintes valores:
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
Adicionado
vários membros para NDIS 6.30 e posteriores.
O driver define o membro tamanho como NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
Versão original do NDIS 6.20.
O driver define o membro tamanho como NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1.
Flags
Um OR bit a bit de sinalizadores. Este membro é reservado para NDIS.
EnabledFilterTypes
Um OR bit a bit de sinalizadores que especificam os tipos de filtros de recebimento habilitados. O sinalizador de tipo de filtro a seguir é válido.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
Especifica que os filtros VMQ estão habilitados.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
Especifica que os filtros de recebimento de pacotes NDIS estão habilitados.
EnabledQueueTypes
Um OR bit a bit de sinalizadores que especificam os tipos de filas de recebimento habilitadas. O sinalizador de tipo de fila a seguir é válido.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
Especifica que as filas de VM (máquina virtual) estão habilitadas. As filas de VM são usadas quando o driver de miniporto está habilitado para usar a interface VMQ.
NumQueues
O número de filas de VM compatíveis com o adaptador de rede.
SupportedQueueProperties
Um OR bit a bit de sinalizadores que especificam as propriedades da fila de VM que o adaptador de rede dá suporte. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
O adaptador de rede usa MSI-X para receber a geração de interrupção da fila. Esse sinalizador é obrigatório para drivers de miniporto que dão suporte à interface VMQ ou SR-IOV.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
O adaptador de rede fornece os requisitos mínimos para dar suporte à filtragem de pacotes de fila de VM.
O driver de miniporto deverá definir esse sinalizador se ele estiver habilitado para usar o VMQ ou SR-IOV interface.
Para obter mais informações sobre os requisitos de VMQ para filtragem de pacotes de fila de VM, consulte Configuração e limpeza de filtros VMQ.
Para obter mais informações sobre SR-IOV requisitos para filtragem de pacotes de fila de VM, consulte Configurando um filtro de recebimento em uma porta virtual.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
O adaptador de rede dá suporte a filas de VM que dividem um pacote recebido de entrada no deslocamento lookahead. Esse deslocamento é igual ou maior que o tamanho do lookahead solicitado. O adaptador de rede usa o DMA para transferir os dados lookahead e pós-lookahead para separar segmentos de memória compartilhada.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
O adaptador de rede dá suporte à capacidade de alterar dinamicamente um dos seguintes atributos de afinidade de processador:
- A afinidade do processador de uma fila de VM na interface VMQ. A afinidade do processador é alterada por meio de uma solicitação de conjunto OID de OID_RECEIVE_FILTER_QUEUE_PARAMETERS.
- A afinidade de processador de uma VPort (porta virtual não padrão), que foi criada na interface SR-IOV e está anexada à função física PCI Express (PCIe) do adaptador de rede. A afinidade do processador é alterada por meio de uma solicitação de conjunto OID de OID_NIC_SWITCH_VPORT_PARAMETERS.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
O adaptador de rede dá suporte à coalescagem de interrupção para pacotes recebidos em qualquer um dos seguintes:
- Várias filas de VM na interface VMQ.
- Vários VPorts anexados ao PF na interface SR-IOV.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
Indica que o número de filas de VM disponíveis é o número mínimo de filas disponíveis de qualquer membro de uma equipe de LBFO (Failover de Balanceamento de Carga). Esse sinalizador se aplica somente a filtros LBFO. Este sinalizador não está definido para miniportos.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
Indica que o número de filas de VM disponíveis é a soma de todas as filas disponíveis de cada membro de uma equipe lbfo. Esse sinalizador se aplica somente a filtros LBFO. Este sinalizador não está definido para miniportos.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
O adaptador de rede dá suporte à junção de pacotes NDIS. O agrupamento de pacotes só tem suporte na fila de recebimento padrão do adaptador de rede. Essa fila de recebimento tem um identificador de NDIS_DEFAULT_RECEIVE_QUEUE_ID.
SupportedFilterTests
Um OR bit a bit de sinalizadores que especifica as operações de teste às quais um driver de miniporto dá suporte. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
O adaptador de rede dá suporte ao teste do campo de cabeçalho selecionado para determinar se ele é igual a um determinado valor.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
O adaptador de rede dá suporte ao mascaramento (ou seja, um AND bit a bit) do campo de cabeçalho selecionado para determinar se o resultado é igual a um valor especificado.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
O adaptador de rede dá suporte ao teste do campo de cabeçalho selecionado para determinar se ele não é igual a um valor especificado.
SupportedHeaders
Um OR bit a bit de sinalizadores que especifica os tipos de cabeçalhos de pacote de rede que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
O adaptador de rede pode inspecionar o cabeçalho MAC (controle de acesso à mídia) de um pacote de rede. O membro supportedMacHeaderFields define os vários campos do cabeçalho MAC que podem ser inspecionados.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
O adaptador de rede pode inspecionar o cabeçalho ARP (Address Resolution Protocol) de um pacote de rede. O membro supportedArpHeaderFields define os vários campos do cabeçalho ARP que podem ser inspecionados.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
O adaptador de rede pode inspecionar o cabeçalho ip versão 4 (IPv4) de um pacote de rede. O membro supportedIPv4HeaderFields do define os vários campos do cabeçalho IPv4 que podem ser inspecionados.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
O adaptador de rede pode inspecionar o cabeçalho ip versão 6 (IPv6) de um pacote de rede. O membro SupportedIPv6HeaderFields define os vários campos do cabeçalho IPv6 que podem ser inspecionados.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
O adaptador de rede pode inspecionar o cabeçalho UDP (User Datagram Protocol) de um pacote de rede. O membro supportedIPv6HeaderFields do define os vários campos do cabeçalho UDP que podem ser inspecionados.
SupportedMacHeaderFields
Um OR bit a bit de sinalizadores que especifica os tipos de campos de cabeçalho MAC que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
O adaptador de rede dá suporte à inspeção e filtragem com base no endereço MAC de destino no cabeçalho MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
O adaptador de rede dá suporte à inspeção e filtragem com base no endereço MAC de origem no cabeçalho MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
O adaptador de rede dá suporte à inspeção e filtragem baseadas no identificador EtherType no cabeçalho MAC. Por exemplo, o identificador EtherType para pacotes IPv4 é 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
O adaptador de rede dá suporte à inspeção e à filtragem com base no identificador de VLAN no cabeçalho MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
O adaptador de rede dá suporte à inspeção e à filtragem com base na marca de prioridade no cabeçalho MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
O adaptador de rede dá suporte à inspeção e filtragem com base no campo de tipo de pacote do cabeçalho SNAP (protocolo de acesso de sub-rede) IEEE 802.2 em um cabeçalho MAC 802.3.
MaxMacHeaderFilters
O número máximo de filtros de cabeçalho MAC aos quais o driver de miniporto dá suporte.
MaxQueueGroups
Este membro é reservado para NDIS.
MaxQueuesPerQueueGroup
Este membro é reservado para NDIS.
MinLookaheadSplitSize
O tamanho mínimo, em bytes, que o adaptador de rede dá suporte para buffers de pacote lookahead.
MaxLookaheadSplitSize
O tamanho máximo, em bytes, que o adaptador de rede dá suporte para buffers de pacote lookahead.
SupportedARPHeaderFields
Um OR bit a bit de sinalizadores que especifica os tipos de campos de cabeçalho ARP que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo de operação ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo SPA (endereço de protocolo de origem ARP).
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo TPA (endereço de protocolo de destino) do ARP.
SupportedIPv4HeaderFields
Um OR bit a bit de sinalizadores que especifica os tipos de campos de cabeçalho IPv4 que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo de protocolo IPv4.
SupportedIPv6HeaderFields
Um OR bit a bit de sinalizadores que especifica os tipos de campos de cabeçalho IPv6 que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo de protocolo IPv6.
SupportedUdpHeaderFields
Um OR bit a bit de sinalizadores que especifica os tipos de campos de cabeçalho IPv6 que um driver de miniporto pode inspecionar. Os seguintes sinalizadores são definidos:
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
O adaptador de rede dá suporte à filtragem de recebimento no campo de porta de destino UDP.
MaxFieldTestsPerPacketCoalescingFilter
O número máximo de testes em campos de cabeçalho de pacote que podem ser especificados para um único filtro de agrupamento de pacotes. Para obter mais informações sobre a coalescagem de pacotes, consulte NDIS Packet Coalescing.
MaxPacketCoalescingFilters
O número máximo de filtros de recebimento de pacotes compatíveis com o adaptador de rede.
NdisReserved
Reservado. Definido como 0.
Observações
A estrutura NDIS_RECEIVE_FILTER_CAPABILITIES é usada no membro ReceiveFilterCapabilities do NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES, NDIS_FILTER_ATTACH_PARAMETERSe NDIS_BIND_PARAMETERS estruturas e o resultado de retorno do OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES consulta OID.
Muitos dos membros e as configurações de sinalizador da estrutura de NDIS_RECEIVE_FILTER_CAPABILITIES serão válidas somente se o driver de miniporto estiver habilitado para usar o VMQ ou SR-IOV interface. O driver de miniporto está habilitado para usar essas interfaces por meio de palavras-chave INF padronizadas. Para obter mais informações, consulte tratando palavras-chave SR-IOV, VMQ e RSS Standardized INF.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.20 e posterior. |
cabeçalho | ntddndis.h (inclua Ndis.h) |