Consultando e alterando o estado de descarregamento da tarefa NVGRE
Esta seção descreve como consultar ou alterar a Virtualização de Rede atual usando o estado de descarregamento de tarefa NVGRE (Encapsulamento de Roteamento Genérico) de um driver de miniporto compatível com NVGRE. O descarregamento de tarefa 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 driver de filtro ou protocolo NDIS.
Consultando o estado de descarregamento da tarefa NVGRE
Para consultar o estado de descarregamento de tarefa NVGRE atual de um driver de miniport, um driver de filtro ou protocolo NDIS usa a solicitação OID OID_TCP_OFFLOAD_CURRENT_CONFIG . Isso retornará uma estrutura 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 caso contrário. O NDIS manipula essa OID e não a passa para o miniporto.
Nota Para determinar se um driver de miniporto dá suporte ao descarregamento de tarefas NVGRE, use o OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES solicitação OID, conforme descrito em Determinando os recursos de descarregamento de tarefa NVGRE de um adaptador de rede.
Alterando o estado de descarregamento da tarefa NVGRE
Um driver de filtro ou protocolo NDIS pode habilitar ou desabilitar o descarregamento de tarefa NVGRE emitindo o OID_TCP_OFFLOAD_PARAMETERS solicitação OID. Essa OID usa uma estrutura de NDIS_OFFLOAD_PARAMETERS . Nessa estrutura, o membro EncapsulatedPacketTaskOffload pode ter os seguintes valores:
Termo | 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 de tarefas NVGRE. |
NDIS_OFFLOAD_SET_OFF |
Especifique esse sinalizador para desabilitar o descarregamento de tarefas NVGRE. |
Depois que o driver de miniporto 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 miniporto 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 descarregamentos de tarefa na pilha antes de concluir a solicitação OID.
Os descarregamentos de tarefa base para pacotes normais são habilitados por OIDs existentes, como OID_OFFLOAD_ENCAPSULATION e OID_RECEIVE_FILTER_ALLOCATE_QUEUE. A configuração de membro EncapsulatedPacketTaskOffload complementa esses OIDs e instrui a NIC a também fazer esses descarregamentos para pacotes encapsulados.