Partilhar via


Consultando e alterando o estado de offload da tarefa NVGRE

Esta seção descreve como consultar ou alterar o atual Network Virtualization usando o Generic Routing Encapsulation (NVGRE) Task Offload estado de um driver de miniporta compatível com NVGRE. O descarregamento de tarefas NVGRE pode ser habilitado por padrão, mas não deve estar operacionalmente ativo por padrão. Uma NIC não deve começar a executar descarregamentos de tarefas em pacotes encapsulados até que esse recurso seja habilitado explicitamente por um protocolo NDIS ou driver de filtro.

Consultando o estado de descarregamento da tarefa NVGRE

Para consultar o estado atual de descarregamento de tarefas NVGRE de um driver de miniporta, um protocolo NDIS ou driver de filtro utiliza a solicitação OID OID_TCP_OFFLOAD_CURRENT_CONFIG. Isso retornará uma estrutura de NDIS_OFFLOAD cujo membro EncapsulatedPacketTaskOffloadGre é uma estrutura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD que contém NDIS_OFFLOAD_SUPPORTED se esses descarregamentos estiverem atualmente habilitados para pacotes encapsulados por GRE e NDIS_OFFLOAD_NOT_SUPPORTED de outra forma. O NDIS lida com esse OID e não o passa para a miniporta.

Nota Para determinar se um driver de miniporta suporta descarregamento de tarefa NVGRE, use a solicitação OID OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES conforme descrito em Determinando os recursos de descarregamento de tarefas NVGRE de um adaptador de rede.

Alterando o estado de descarregamento da tarefa NVGRE

Um protocolo NDIS ou driver de filtro pode ativar ou desativar o descarregamento de tarefas NVGRE emitindo a solicitação OID OID_TCP_OFFLOAD_PARAMETERS. Este OID usa uma estrutura NDIS_OFFLOAD_PARAMETERS. Nesta estrutura, o membro do EncapsulatedPacketTaskOffload pode ter os seguintes valores:

Período Descrição

NDIS_OFFLOAD_SET_NO_CHANGE

O estado de descarregamento da tarefa NVGRE permanece inalterado.

NDIS_OFFLOAD_SET_ON

Especifique esse sinalizador para habilitar o descarregamento da tarefa NVGRE.

DESACTIVAR_DESCARREGAR_NDIS

Especifique este sinalizador para desativar o descarregamento da tarefa NVGRE.

Depois que o driver de miniporta processa a solicitação OID OID_TCP_OFFLOAD_PARAMETERS, ele deve emitir uma indicação de status NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG com o estado de descarregamento atualizado.

Quando um driver de miniporta recebe uma solicitação OID OID_TCP_OFFLOAD_PARAMETERS na qual o sinalizador NDIS_OFFLOAD_SET_OFF é especificado, o driver deve indicar todos os pacotes encapsulados existentes que são parcialmente processados para descargas de tarefas na pilha antes de concluir a solicitação OID.

Os descarregamentos de tarefas básicas para pacotes normais são habilitados por OIDs existentes, como OID_OFFLOAD_ENCAPSULATION e OID_RECEIVE_FILTER_ALLOCATE_QUEUE. A configuração do membro EncapsulatedPacketTaskOffload complementa estas OIDs e instrui a NIC a realizar também essas descargas para pacotes encapsulados.