Introduzione agli offload hardware NetAdapterCx
Per aumentare le prestazioni, lo stack TCP/IP di Windows può scaricare alcune attività in una scheda di interfaccia di rete (NIC) che dispone delle funzionalità di offload attività appropriate.
NetAdapterCx è incentrato sulla facilità di configurazione di offload e sulla gestione delle funzionalità di offload. I driver client devono specificare solo una configurazione semplice per le funzionalità di offload hardware e registrare i callback per ricevere una notifica delle modifiche apportate alle funzionalità.
Questa guida offre una panoramica dei concetti chiave per gli offload hardware in NetAdapterCx.
- Le funzionalità di offload hardware vengono annunciate dall'hardware della scheda di rete durante l'inizializzazione e devono essere annunciate prima di chiamare NetAdapterStart.
- Il driver non deve controllare le parole chiave del Registro di sistema standard. NetAdapterCx controlla le parole chiave del Registro di sistema e li rispetta quando si abilitano le funzionalità di offload attive.
- Le funzionalità di offload attive della scheda di rete sono quelle attualmente programmate per l'esecuzione della scheda di rete. Si tratta di un subset delle funzionalità hardware annunciate in precedenza dal driver client.
- Lo stack TCP/IP o un driver di protocollo overlying può richiedere una modifica nelle funzionalità attive della scheda di rete. I driver client registrano callback con NetAdapterCx per ricevere una notifica delle modifiche nelle funzionalità di offload attive.
- Se è necessaria un'estensione del pacchetto per un offload, viene registrata automaticamente quando la scheda di rete annuncia il supporto per il caricamento hardware.
I driver client annunciano un set granulare di funzionalità in NetAdapterCx per i tipi di pacchetti di rete che possono scaricare l'hardware. Ad esempio, è possibile che le opzioni IPv4, le estensioni IPv6, le opzioni TCP o qualsiasi combinazione di tali opzioni siano supportate e così via. Alcuni hardware possono eseguire l'offload solo se l'offset dell'intestazione del pacchetto è noto e il driver client di tale hardware può anche specificare il limite per l'offset dell'intestazione del pacchetto. Ad esempio, se il descrittore hardware ha solo 8 bit per archiviare l'offset di intestazione di livello 4, il driver client imposta il livello4HeaderOffset su 255. Tutti i pacchetti che non sono coperti dalle funzionalità del driver client verranno disattivati nel software da NetAdapterCx.
Se l'hardware non è in grado di gestire una combinazione specifica, il driver client non deve dichiarare il supporto per tale funzionalità né eseguire un fallback software stesso quando incontra tale pacchetto. Deve invece consentire a NetAdapterCx di eseguire automaticamente qualsiasi fallback software necessario.
Nota
Se si vuole che NetAdapterCx esegua il fallback software per gli offload non supportati dall'hardware, il driver client deve includere le parole chiave standardizzate per tale offload nel file INF. Ad esempio, se un driver client non può eseguire l'offload RSC in tutto l'hardware e richiede NetAdapterCx per eseguire questo offload nel software, le parole chiave *RscIpv4 e *RscIpv6 devono essere incluse in INF.
Gli offload seguenti sono supportati da NetAdapterCx e dallo stack TCP/IP di Windows:
Nome offload | Descrizione |
---|---|
Checksum | Offload del calcolo e della convalida dei checksum IP e TCP nella scheda di interfaccia di rete. |
Offload di invio generico (GSO) | Offload della segmentazione dei pacchetti TCP/UDP di grandi dimensioni per IPv4 e IPv6. |
Receive Segment Coalescing (RSC) | Offloading di una sequenza di segmenti TCP ricevuti per IPv4 e IPv6. |
Per altre informazioni sulla configurazione dei carichi di offload e sull'aggiornamento di offload quando lo stack TCP/IP o un driver di protocollo overlying richiede una modifica alle funzionalità attive dell'adattatore net, visitare la pagina di riferimento di offload corrispondente.