Compartir a través de


OID_GEN_RECEIVE_SCALE_PARAMETERS_V2

Advertencia

Alguna información de este tema está relacionada con el producto preliminar, que puede modificarse sustancialmente antes de su publicación comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

RSSv2 es una versión preliminar solo en Windows 10, versión 1809.

El OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 OID se envía a controladores de miniporte compatibles con RSSv2para establecer parámetros en tiempo de ejecución, aparte de la tabla de direccionamiento indirecto, para una entidad de escalado. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 reemplaza el OID_GEN_RECEIVE_SCALE_PARAMETERS OID de RSSv1 y no es visible para los filtros de peso ligero (LWF) NDIS antes de NDIS 6.80. Este OID es un OID normal y se puede emitir como una solicitud Query o Set. Se emite en IRQL == PASSIVE_LEVEL. Puede tener como destino un VPort determinado, cuando la marca de NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID se establece en la creación del conmutador NIC. De lo contrario, tiene como destino la NIC física en el caso RSS nativo.

Como consulta, NDIS y controladores demasiado excesivos pueden usar OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 para consultar los parámetros RSS de una NIC. NDIS devuelve una estructura NDIS_RECEIVE_SCALE_PARAMETERS_V2 que define los parámetros RSS actuales.

Como conjunto, el propósito de este OID es realizar las siguientes acciones:

  • Configure inicialmente la entidad de escalado (un adaptador de miniporte en modo RSS nativo o una VPort en modo VMQ).
  • Habilite o deshabilite RSS.
  • Cuando se encuentra en modo RSS, realice funciones de administración no críticas para el tiempo, como cambiar la clave hash, el tipo hash y la función hash, el número de colas o el número de entradas de tabla de direccionamiento indirecto para la entidad de escalado.

Observaciones

La habilitación de RSS y el establecimiento de parámetros RSS se pueden realizar en un paso. Una vez que la capa superior habilita RSS mediante este OID, el estado inicial de la entidad de escalado es el siguiente:

  • El procesador principal se convierte en inactivo.
  • El procesador predeterminado se convierte en activo.
  • Todos los ITE se convierten en activos.
  • El controlador de miniporte inicia el cálculo del hash RSS, la configuración del OOB correspondiente para todos los paquetes y la dirección de paquetes a un procesador especificado por la entrada de la tabla de direccionamiento indirecto o el parámetro de procesador predeterminado.

Una vez habilitado RSS, la capa superior emite el OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID para mover ITE a diferentes procesadores. En RSSv2, las defaultQueue y primaryProcessor también se mueven a un procesador diferente mediante OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.

Durante el proceso de deshabilitación de RSS, la capa superior apuntará todas las ITE al procesador principal antes de invocar este OID para desactivar RSS. Después de este punto, el tráfico de recepción debe tener como destino el procesador principal. Sin embargo, los controladores de miniport no deben esperar la deshabilitación de RSS antes de la eliminación de VPort. La capa superior puede establecer el filtro de recepción en VPort en cero, lo que garantiza que ningún tráfico de recepción fluya a través de VPort y, a continuación, continúe con la eliminación de VPort sin deshabilitar RSS.

La capa superior garantizará que no se infringen las invariables importantes antes de realizar funciones de administración. Por ejemplo:

  • Antes de cambiar el número de colas, la capa superior garantizará que la tabla de direccionamiento indirecto no haga referencia a más procesadores de los configurados para un VPort. Antes de cambiar el número de entradas de tabla de direccionamiento indirecto para adaptadores de VMMQ-RESTRICTED, la capa superior garantizará que el contenido de la tabla de direccionamiento indirecto se normalice con la potencia de 2.

Condiciones de error y códigos de estado

Este OID devuelve los siguientes códigos de estado cuando se produce un error:

Código de estado Condición de error
NDIS_STATUS_INVALID_LENGTH El OID tiene un formato incorrecto.
NDIS_STATUS_NO_QUEUES El número de colas se cambia cuando RSS está habilitado, pero la tabla de direccionamiento indirecto actual hace referencia a más procesadores que el nuevo número de colas.
NDIS_STATUS_INVALID_DATA
  • La tabla de direccionamiento indirecto se reduce en tamaño, pero no contiene un patrón de repetición de potencia de dos.
  • Durante una transición de estado RSS (a en o desactivada), un procesador de un parámetro de dirección que se convierte en activo no pertenece al conjunto de procesadores RSS del adaptador. Tenga en cuenta que parámetros de dirección inactivos son solo el seguimiento de escrituras en el procesador y no se aplican. El cumplimiento se produce durante la transición de estado RSS cuando el parámetro se convierte en activo.
NDIS_STATUS_INVALID_PARAMETER Otros campos, ya sea en el encabezado o en el propio OID, contienen valores no válidos.

Requisitos

Versión: Windows 10, versión 1709 Encabezado: Ntddndis.h (include Ndis.h)

Consulte también