NDIS_RECEIVE_SCALE_CAPABILITIES estructura (ntddndis.h)
La estructura NDIS_RECEIVE_SCALE_CAPABILITIES especifica las funcionalidades de escalado lateral de recepción (RSS) de un adaptador de minipuerto.
Sintaxis
typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
NDIS_RSS_CAPS_FLAGS CapabilitiesFlags;
ULONG NumberOfInterruptMessages;
ULONG NumberOfReceiveQueues;
USHORT NumberOfIndirectionTableEntries;
} NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES;
Miembros
Header
Estructura NDIS_OBJECT_HEADER para la estructura de NDIS_RECEIVE_SCALE_CAPABILITIES . Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_RSS_CAPABILITIES.
Para NDIS 6.60 y versiones posteriores, establezca el miembro Revision en NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_3 y el miembro Sizeen NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_3.
Para NDIS 6.30 y versiones posteriores, establezca el miembro Revision en NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 y el miembro Sizeen NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2.
Para NDIS 6.0, 6.1 y 6.20, establezca el miembro Revisionen NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 y el miembro Size en NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1.
CapabilitiesFlags
Máscara de bits de marcas que especifican las funcionalidades RSS de la NIC. El controlador de minipuerto puede especificar las marcas siguientes:
Valor | Significado |
---|---|
|
Establezca esta marca si la NIC admite interrupciones señaladas por mensajes (MSIs). Esta marca indica que la NIC puede generar una interrupción independiente para cada CPU después de poner en cola los paquetes asignados a esa CPU. |
|
Establezca esta marca si la NIC puede indicar a la función MiniportInterrupt qué CPU de destino han puesto en cola los paquetes recibidos. |
|
Establezca esta marca si la NIC usa interrupciones señaladas de mensaje (MSIs). Esta marca se admite en NDIS 6.20 y versiones posteriores. |
|
Establezca esta marca si la NIC admite MSIs. Esta marca se admite en NDIS 6.30 y versiones posteriores. |
|
Establezca esta marca si el controlador de miniporte puede detectar qué CPU de destino han puesto en cola los paquetes de recepción de su función MiniportInterruptDPC . |
|
Establezca esta marca si la NIC puede identificar un paquete IPv4 (con o sin opciones). Además, la NIC admite el cálculo del valor hash sobre los campos de encabezado IPv4 y los campos de encabezado TCP. |
|
Establezca esta marca si la NIC puede identificar un paquete IPv6 y calcular un valor hash en los campos de un paquete IPv6. La NIC debe ser capaz de calcular un valor hash en los campos del encabezado IPv6 básico y sobre los campos del encabezado TCP. Use esta marca si la NIC no puede calcular un valor hash en campos que se encuentran en encabezados de extensión IPv6. |
|
Establezca esta marca si la NIC puede identificar un paquete IPv6 y calcular un valor hash en los campos de un paquete IPv6 que contiene encabezados de extensión IPv6. La NIC puede calcular un valor hash en los campos del encabezado IPv6 básico, los encabezados de extensión IPv6 y el encabezado TCP. La NIC debe ser capaz de calcular valores hash en los campos de la opción de dirección principal y el encabezado de enrutamiento de tipo 2 en los encabezados de extensión IPv6. |
|
Establezca esta marca si la NIC puede identificar un paquete IPv4, con o sin opciones, y si la NIC admite el cálculo del valor hash sobre los campos de encabezado IPv4 y los campos de encabezado UDP. |
|
Establezca esta marca si la NIC puede identificar un paquete IPv6 y calcular un valor hash en los campos de un paquete IPv6. La NIC debe ser capaz de calcular un valor hash en los campos del encabezado IPv6 básico y sobre los campos del encabezado UDP. Use esta marca si la NIC no puede calcular un valor hash en campos que se encuentran en encabezados de extensión IPv6. |
|
Establezca esta marca si la NIC puede identificar un paquete IPv6 y calcular un valor hash en los campos de un paquete IPv6 que contiene encabezados de extensión IPv6. La NIC puede calcular un valor hash en los campos del encabezado IPv6 básico, los encabezados de extensión IPv6 y el encabezado UDP. La NIC debe ser capaz de calcular valores hash en los campos de la opción de dirección principal y el encabezado de enrutamiento de tipo 2 en los encabezados de extensión IPv6. |
|
Establezca esta marca si la NIC admite la función hash toeplitz. Si la NIC admite RSS, la compatibilidad con la función hash es obligatoria. Para obtener más información sobre las funciones hash, consulte NDIS_RSS_HASH_FUNC_FROM_HASH_INFO. |
|
Esta marca se reserva para uso futuro. |
|
Esta marca se reserva para uso futuro. |
|
Esta marca se reserva para uso futuro. |
NumberOfInterruptMessages
Número de mensajes de interrupción que admite la NIC si la NIC admite MSIs. Si la NIC no admite MSIs, pero admite interrupciones basadas en línea, establezca este número en 1.
NumberOfReceiveQueues
El número de colas de recepción de hardware que admite la NIC.
NumberOfIndirectionTableEntries
Número máximo de entradas que admite el controlador de minipuerto en la tabla de direccionamiento indirecto. Este valor debe ser una potencia de 2. Todos los adaptadores de minipuerto NDIS 6.30 y versiones posteriores deben admitir este miembro, que es necesario para las funciones virtuales.
Comentarios
Los controladores que se sobreponen pueden usar OID_GEN_RECEIVE_SCALE_CAPABILITIES OID para consultar las funcionalidades de escalado lateral de recepción (RSS) de una NIC y su controlador de minipuerto.
El controlador de minipuerto devuelve las funcionalidades RSS en una estructura NDIS_RECEIVE_SCALE_CAPABILITIES .
En algunas cargas de trabajo, se podría fragmentar un subconjunto de paquetes UDP debido a cambios de ruta o al remitente que no cumple las limitaciones de MTU. En tales casos excepcionales, los paquetes del mismo flujo podrían indicarse en procesadores diferentes basados en el hash de 4-tupla o 2-tupla. Por lo tanto, los controladores de minipuerto que anuncian NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV4, NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6 y NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6_EX deben proporcionar una manera de deshabilitar las funcionalidades RSS de UDP a través de propiedades avanzadas.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Se admite en NDIS 6.0 y versiones posteriores. |
Encabezado | ntddndis.h (include Ndis.h) |