Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Advertência
Algumas informações neste tópico referem-se ao produto pré-lançado, que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.
RSSv2 é pré-visualização apenas no Windows 10, versão 1809.
O OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 OID é enviado para drivers de miniporta compatíveis com RSSv2para definir parâmetros de tempo de execução, além da tabela indirection, para uma entidade de dimensionamento. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 substitui o OID_GEN_RECEIVE_SCALE_PARAMETERS OID do RSSv1 e não é visível para os filtros leves (LWFs) do NDIS antes do NDIS 6.80. Este OID é um OID regular e pode ser emitido como uma solicitação de consulta ou conjunto. É emitido no IRQL == PASSIVE_LEVEL. Ele pode ter como alvo um determinado VPort, quando o sinalizador de NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID é definido na criação do switch NIC. Caso contrário, ele tem como alvo a NIC física no caso RSS nativo.
Como uma consulta, NDIS e drivers sobrepostos podem usar OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 para consultar os parâmetros RSS de uma NIC. O NDIS retorna uma estrutura NDIS_RECEIVE_SCALE_PARAMETERS_V2 que define os parâmetros RSS atuais.
Como um conjunto, o objetivo deste OID é executar as seguintes ações:
- Configure inicialmente a entidade de dimensionamento (um adaptador de miniporta no modo RSS nativo ou um VPort no modo VMQ).
- Ative ou desative o RSS.
- Quando estiver no modo RSS, execute funções de gerenciamento não críticas de tempo, como alterar a chave de hash, o tipo de hash e a função de hash, o número de filas ou o número de entradas de tabela de indireção para a entidade de dimensionamento.
Comentários
A ativação do RSS e a definição de parâmetros RSS podem ser executadas em uma única etapa. Depois que a camada superior habilita o RSS usando esse OID, o estado inicial da entidade de dimensionamento é o seguinte:
- O processador principal torna-se inativo.
- O processador padrão torna-se ativo.
- Todos os ITE tornam-se ativos.
- O driver de miniporta inicia o cálculo do hash RSS, a configuração do OOB correspondente para todos os pacotes e direciona os pacotes para um processador especificado pela entrada da tabela indirection ou pelo parâmetro padrão do processador.
Depois que o RSS é ativado, a camada superior emite o OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID para mover ITEs para processadores diferentes. No RSSv2, o DefaultQueue e PrimaryProcessor também são movidos para um processador diferente usando OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.
Durante o processo de desativação do RSS, a camada superior apontará todos os ITEs para o processador primário antes de invocar este OID para desligar o RSS. Após esse ponto, o tráfego de recebimento deve ter como alvo o processador primário. No entanto, os drivers de miniporta não devem esperar a desativação do RSS antes da exclusão do VPort. A camada superior pode definir o filtro de recebimento no VPort como zero, garantindo assim que nenhum tráfego de recebimento esteja fluindo através do VPort, em seguida, prossiga para excluir o VPort sem desativar o RSS.
A camada superior garantirá que invariantes importantes não sejam violados antes de executar funções de gerenciamento. Por exemplo:
- Antes de alterar o número de filas, a camada superior garantirá que a tabela indirection não faça referência a mais processadores do que os configurados para um VPort. Antes de alterar o número de entradas da tabela indirection para adaptadores VMMQ-RESTRICTED, a camada superior garantirá que o conteúdo da tabela indirection seja normalizado para a potência de 2.
Condições de erro e códigos de status
Este OID retorna os seguintes códigos de status quando ocorre um erro:
| Código de status | Condição de erro |
|---|---|
| NDIS_STATUS_INVALID_LENGTH | O OID estava malformado. |
| NDIS_STATUS_NO_QUEUES | O número de filas está sendo alterado quando o RSS está habilitado, mas a tabela de indireção atual faz referência a mais processadores do que o novo número de filas. |
| NDIS_STATUS_INVALID_DATA |
|
| NDIS_STATUS_INVALID_PARAMETER | Outros campos, no cabeçalho ou no próprio OID, contêm valores inválidos. |
Requerimentos
Versão: Windows 10, versão 1709 de cabeçalho : Ntddndis.h (incluir Ndis.h)
Ver também
- Receive Side Scaling Versão 2 (RSSv2)
- OID_GEN_RECEIVE_SCALE_PARAMETERS
- NDIS_RECEIVE_SCALE_PARAMETERS_V2
- OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES