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.
Aviso
Algumas informações neste tópico referem-se ao produto pré-relacionado, 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.
O RSSv2 é visualizado apenas no Windows 10, versão 1809.
O OID do OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 é enviado para drivers de miniporto com capacidade paraRSSv2 para definir parâmetros de tempo de execução, além da tabela de indireção, para uma entidade de dimensionamento. OID_GEN_RECEIVE_SCALE_PARAMETERS_V2 substitui o OID OID_GEN_RECEIVE_SCALE_PARAMETERS do RSSv1 e não é visível para LWFs (Filtros de Peso Leve) do NDIS antes do NDIS 6.80. Essa OID é uma OID regular e pode ser emitida como uma solicitação de Consulta ou Defina. Ele é emitido em IRQL == PASSIVE_LEVEL. Ele pode ter como destino um determinado VPort, quando o sinalizador de NDIS_OID_REQUEST_FLAGS_VPORT_ID_VALID é definido na criação do comutador NIC. Caso contrário, ele destina-se à NIC física no caso RSS nativo.
Como uma consulta, o NDIS e drivers em excesso 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, a finalidade dessa OID é executar as seguintes ações:
- Inicialmente, configure a entidade de dimensionamento (um adaptador de miniporto no modo RSS nativo ou um VPort no modo VMQ).
- Habilitar ou desabilitar 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.
Observações
Habilitar rss e definir parâmetros RSS pode ser executado em uma etapa.. Depois que a camada superior habilita o RSS usando essa OID, o estado inicial da entidade de dimensionamento é o seguinte:
- O processador primário torna-se inativo.
- O processador padrão torna-se ativo.
- Todos os ITEs se tornam ativos.
- O driver de miniporto 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 de indireção ou pelo parâmetro de processador padrão.
Depois que o RSS é habilitado, a camada superior emite o OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID para mover ITEs para processadores diferentes. No RSSv2, os DefaultQueue e PrimaryProcessor também são movidos para um processador diferente usando OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES.
Durante o processo de desabilitar o RSS, a camada superior apontará todos os ITEs para o processador primário antes de invocar essa OID para desativar o RSS. Após esse ponto, o tráfego de recebimento deve ser direcionado ao processador primário. No entanto, os drivers de miniporto não devem esperar a desabilitaçã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 pelo VPort e, em seguida, prossiga para excluir o VPort sem desabilitar o RSS.
A camada superior garantirá que invariáveis 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 de indireção não faça referência a mais processadores do que configurado para um VPort. Antes de alterar o número de entradas de tabela de indireção para VMMQ-RESTRICTED adaptadores, a camada superior garantirá que o conteúdo da tabela de indireção seja normalizado com a potência de 2.
Condições de erro e códigos de status
Essa OID retorna os seguintes códigos de status quando ocorre um erro:
| Código de status | Condição de erro |
|---|---|
| NDIS_STATUS_INVALID_LENGTH | A OID estava malformada. |
| 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. |
Requisitos
versão: Windows 10, versão 1709 Header: Ntddndis.h (include Ndis.h)