estructura NDIS_RECEIVE_FILTER_CAPABILITIES (ntddndis.h)
La estructura NDIS_RECEIVE_FILTER_CAPABILITIES especifica las funcionalidades de filtrado de recepción de un adaptador de red.
Los filtros de recepción NDIS se usan en las siguientes interfaces NDIS:
-
Fusión de paquetes NDIS. Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, vea Administración de filtros de recepción de fusión de paquetes.
-
Virtualización de E/S raíz única (SR-IOV). Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, vea Establecer un filtro de recepción en un puerto virtual.
-
Virtual Machine Queue (VMQ). Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, consulte Configuración y borrado de filtros de VMQ.
Sintaxis
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;
Miembros
Header
Estructura NDIS_OBJECT_HEADER de la estructura NDIS_RECEIVE_FILTER_CAPABILITIES . El controlador establece el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_DEFAULT.
Para indicar la versión de la estructura de NDIS_RECEIVE_FILTER_CAPABILITIES , el controlador establece el miembro Revision en uno de los valores siguientes:
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
Se agregó
varios miembros para NDIS 6.30 y versiones posteriores.
El controlador establece el miembro Size en NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
Versión original de NDIS 6.20.
El controlador establece el miembro Size en NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1.
Flags
OR bit a bit de marcas. Este miembro está reservado para NDIS.
EnabledFilterTypes
OR bit a bit de marcas que especifican los tipos de filtros de recepción que están habilitados. La siguiente marca de tipo de filtro es válida.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
Especifica que los filtros VMQ están habilitados.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
Especifica que los filtros de recepción de fusión de paquetes NDIS están habilitados.
EnabledQueueTypes
OR bit a bit de marcas que especifican los tipos de colas de recepción que están habilitadas. La siguiente marca de tipo de cola es válida.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
Especifica que las colas de máquina virtual (VM) están habilitadas. Las colas de máquina virtual se usan cuando el controlador de miniporte está habilitado para usar la interfaz VMQ.
NumQueues
Número de colas de máquina virtual que admite el adaptador de red.
SupportedQueueProperties
OR bit a bit de marcas que especifican las propiedades de la cola de máquina virtual que admite el adaptador de red. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
El adaptador de red usa MSI-X para la generación de interrupciones de cola de recepción. Esta marca es obligatoria para los controladores de minipuerto que admiten la interfaz VMQ o SR-IOV.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
El adaptador de red proporciona los requisitos mínimos para admitir el filtrado de paquetes de cola de máquinas virtuales.
El controlador de minipuerto debe establecer esta marca si está habilitada para usar la interfaz VMQ o SR-IOV.
Para más información sobre los requisitos de VMQ para el filtrado de paquetes de cola de máquinas virtuales, consulte Configuración y borrado de filtros de VMQ.
Para obtener más información sobre los requisitos de SR-IOV para el filtrado de paquetes de cola de máquinas virtuales, consulte Configuración de un filtro de recepción en un puerto virtual.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
El adaptador de red admite colas de máquina virtual que dividen un paquete recibido entrante en el desplazamiento de lookahead. Este desplazamiento es igual o mayor que el tamaño de lookahead solicitado. El adaptador de red usa DMA para transferir los datos lookahead y post-lookahead a segmentos de memoria compartidos independientes.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
El adaptador de red admite la capacidad de cambiar dinámicamente uno de los siguientes atributos de afinidad de procesador:
- Afinidad de procesador de una cola de máquina virtual en la interfaz VMQ. La afinidad del procesador se cambia a través de una solicitud de conjunto de OID de OID_RECEIVE_FILTER_QUEUE_PARAMETERS.
- Afinidad de procesador de un puerto virtual no predeterminado (VPort), que se creó en la interfaz SR-IOV y se adjunta a la función física PCI Express (PCIe) del adaptador de red. La afinidad del procesador se cambia a través de una solicitud de conjunto de OID de OID_NIC_SWITCH_VPORT_PARAMETERS.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
El adaptador de red admite la fusión de interrupciones para los paquetes recibidos en cualquiera de los siguientes elementos:
- Varias colas de máquina virtual en la interfaz VMQ.
- Varias VPorts que están conectadas al PF en la interfaz SR-IOV.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
Indica que el número de colas de máquinas virtuales disponibles es el número mínimo de colas disponibles de cualquier miembro de un equipo de conmutación por error de equilibrio de carga (LBFO). Esta marca solo se aplica a los filtros LBFO. Esta marca no está establecida para minipuertos.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
Indica que el número de colas de máquinas virtuales disponibles es la suma de todas las colas disponibles de todos los miembros de un equipo LBFO. Esta marca solo se aplica a los filtros LBFO. Esta marca no está establecida para minipuertos.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
El adaptador de red admite la fusión de paquetes NDIS. La fusión de paquetes solo se admite en la cola de recepción predeterminada del adaptador de red. Esta cola de recepción tiene un identificador de NDIS_DEFAULT_RECEIVE_QUEUE_ID.
SupportedFilterTests
OR bit a bit de marcas que especifican las operaciones de prueba que admite un controlador de minipuerto. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
El adaptador de red admite la prueba del campo de encabezado seleccionado para determinar si es igual a un valor determinado.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
El adaptador de red admite el enmascaramiento (es decir, un AND bit a bit) del campo de encabezado seleccionado para determinar si el resultado es igual a un valor especificado.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
El adaptador de red admite la prueba del campo de encabezado seleccionado para determinar si no es igual a un valor especificado.
SupportedHeaders
OR bit a bit de marcas que especifican los tipos de encabezados de paquete de red que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
El adaptador de red puede inspeccionar el encabezado de control de acceso multimedia (MAC) de un paquete de red. El miembro SupportedMacHeaderFields define los distintos campos del encabezado MAC que se pueden inspeccionar.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
El adaptador de red puede inspeccionar el encabezado protocolo de resolución de direcciones (ARP) de un paquete de red. El miembro SupportedArpHeaderFields define los distintos campos del encabezado ARP que se pueden inspeccionar.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
El adaptador de red puede inspeccionar el encabezado ip versión 4 (IPv4) de un paquete de red. El miembro SupportedIPv4HeaderFields define los distintos campos del encabezado IPv4 que se pueden inspeccionar.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
El adaptador de red puede inspeccionar el encabezado ip versión 6 (IPv6) de un paquete de red. El miembro SupportedIPv6HeaderFields define los distintos campos del encabezado IPv6 que se pueden inspeccionar.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
El adaptador de red puede inspeccionar el encabezado Protocolo de datagramas de usuario (UDP) de un paquete de red. El miembro SupportedIPv6HeaderFields define los distintos campos del encabezado UDP que se pueden inspeccionar.
SupportedMacHeaderFields
OR bit a bit de marcas que especifican los tipos de campos de encabezado MAC que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
El adaptador de red admite la inspección y el filtrado que se basan en la dirección MAC de destino en el encabezado MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
El adaptador de red admite la inspección y el filtrado basados en la dirección MAC de origen en el encabezado MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
El adaptador de red admite la inspección y el filtrado basados en el identificador EtherType del encabezado MAC. Por ejemplo, el identificador EtherType de los paquetes IPv4 es 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
El adaptador de red admite la inspección y el filtrado basados en el identificador VLAN en el encabezado MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
El adaptador de red admite la inspección y el filtrado basados en la etiqueta de prioridad en el encabezado MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
El adaptador de red admite la inspección y el filtrado que se basan en el campo de tipo de paquete del encabezado IEEE 802.2 del protocolo de acceso a subredes (SNAP) en un encabezado MAC 802.3.
MaxMacHeaderFilters
Número máximo de filtros de encabezado MAC que admite el controlador de minipuerto.
MaxQueueGroups
Este miembro está reservado para NDIS.
MaxQueuesPerQueueGroup
Este miembro está reservado para NDIS.
MinLookaheadSplitSize
Tamaño mínimo, en bytes, que admite el adaptador de red para los búferes de paquetes de búsqueda anticipada.
MaxLookaheadSplitSize
Tamaño máximo, en bytes, que admite el adaptador de red para los búferes de paquetes de búsqueda anticipada.
SupportedARPHeaderFields
OR bit a bit de marcas que especifican los tipos de campos de encabezado de ARP que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo de operación ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo dirección del protocolo de origen (SPA) de ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo dirección del protocolo de destino (TPA) de ARP.
SupportedIPv4HeaderFields
OR bit a bit de marcas que especifican los tipos de campos de encabezado IPv4 que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo del protocolo IPv4.
SupportedIPv6HeaderFields
OR bit a bit de marcas que especifican los tipos de campos de encabezado IPv6 que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo del protocolo IPv6.
SupportedUdpHeaderFields
OR bit a bit de marcas que especifican los tipos de campos de encabezado IPv6 que un controlador de miniporte puede inspeccionar. Se definen las marcas siguientes:
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
El adaptador de red admite el filtrado de recepción en el campo puerto de destino UDP.
MaxFieldTestsPerPacketCoalescingFilter
Número máximo de pruebas en los campos de encabezado de paquete que se pueden especificar para un único filtro de fusión de paquetes. Para obtener más información sobre la fusión de paquetes, consulte Fusión de paquetes NDIS.
MaxPacketCoalescingFilters
Número máximo de filtros de recepción de fusión de paquetes admitidos por el adaptador de red.
NdisReserved
Reservado. Establecer en 0.
Comentarios
La estructura NDIS_RECEIVE_FILTER_CAPABILITIES se usa en el miembro ReceiveFilterCapabilities del NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES, NDIS_FILTER_ATTACH_PARAMETERS y estructuras de NDIS_BIND_PARAMETERS y el resultado devuelto de OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES Consulta OID.
Muchos de los miembros y la configuración de marca de la estructura de NDIS_RECEIVE_FILTER_CAPABILITIES solo son válidos si el controlador de miniporte está habilitado para usar la interfaz VMQ o SR-IOV. El controlador de minipuerto está habilitado para usar estas interfaces mediante palabras clave INF estandarizadas. Para obtener más información, consulte Control de sr-IOV, VMQ y RSS normalizadas palabras clave INF.
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_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES OID_RECEIVE_FILTER_HARDWARE_CAPABILITIESComentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de