Esecuzione di query e modifica dello stato di offload dell'attività NVGRE

In questa sezione viene descritto come eseguire query o modificare la virtualizzazione di rete corrente usando lo stato di offload attività NVGRE (Generic Routing Encapsulation) di un driver miniport compatibile con NVGRE. L'offload dell'attività NVGRE può essere abilitato per impostazione predefinita, ma non deve essere attivo in modo operativo per impostazione predefinita. Una scheda di interfaccia di rete non deve iniziare a eseguire offload attività nei pacchetti incapsulati fino a quando questa funzionalità non viene abilitata in modo esplicito da un protocollo o un driver di filtro NDIS.

Esecuzione di query sullo stato di offload dell'attività NVGRE

Per eseguire query sullo stato di offload dell'attività NVGRE corrente di un driver miniport, un protocollo o un driver di filtro NDIS usa la richiesta OID OID_TCP_OFFLOAD_CURRENT_CONFIG . Verrà restituita una struttura NDIS_OFFLOAD il cui membro EncapsulatedPacketTaskOffloadGre è una struttura NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD che contiene NDIS_OFFLOAD_SUPPORTED se tali offload sono attualmente abilitati per i pacchetti GRE-incapsulati e NDIS_OFFLOAD_NOT_SUPPORTED in caso contrario. NDIS gestisce questo OID e non lo passa al miniport.

Nota Per determinare se un driver miniport supporta l'offload attività NVGRE, usare la richiesta OID OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES come descritto in Determinazione delle funzionalità di offload attività NVGRE di una scheda di rete.

Modifica dello stato di offload attività NVGRE

Un protocollo o un driver di filtro NDIS può abilitare o disabilitare l'offload dell'attività NVGRE eseguendo la richiesta OID OID_TCP_OFFLOAD_PARAMETERS . Questo OID usa una struttura NDIS_OFFLOAD_PARAMETERS . In questa struttura il membro EncapsulatedPacketTaskOffload può avere i valori seguenti:

Termine Descrizione

NDIS_OFFLOAD_SET_NO_CHANGE

Lo stato di offload dell'attività NVGRE è invariato.

NDIS_OFFLOAD_SET_ON

Specificare questo flag per abilitare l'offload dell'attività NVGRE.

NDIS_OFFLOAD_SET_OFF

Specificare questo flag per disabilitare l'offload dell'attività NVGRE.

Dopo che il driver miniport elabora la richiesta OID OID_TCP_OFFLOAD_PARAMETERS, deve emettere un'indicazione di stato NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG con lo stato di offload aggiornato.

Quando un driver miniport riceve una richiesta OID OID_TCP_OFFLOAD_PARAMETERS in cui viene specificato il flag NDIS_OFFLOAD_SET_OFF , il driver deve indicare eventuali pacchetti incapsulati esistenti che vengono parzialmente elaborati per l'offload dell'attività prima di completare la richiesta OID.

Le attività di base offload per i pacchetti normali sono abilitate da OID esistenti, ad esempio OID_OFFLOAD_ENCAPSULATION e OID_RECEIVE_FILTER_ALLOCATE_QUEUE. L'impostazione membro EncapsulatedPacketTaskOffload integra questi OID e indica alla scheda di interfaccia di rete di eseguire anche questi offload per i pacchetti incapsulati.