Considerazioni sulla programmazione per i driver RSC
Le sezioni seguenti descrivono i problemi da considerare quando si implementa un driver miniport compatibile con il segmento di ricezione.
- Risposta alle query per le statistiche RSC
- Pacchetti TCP inoltrati
- Supporto RSC per filtri leggeri e driver intermedi MUX
- Ispezione e callout di Windows Filtering Platform (WFP)
Risposta alle query per le statistiche RSC
NDIS, driver overlying e applicazioni in modalità utente usano l'OID OID_TCP_RSC_STATISTICS per ottenere le statistiche RSC di una scheda miniport. I driver miniport compatibili con RSC devono supportare questo OID.
Pacchetti TCP inoltrati
Il driver miniport non deve eseguire RSC nei segmenti nei pacchetti TCP che non sono destinati all'host, ma vengono inoltrati su un'altra interfaccia.
Lo stack TCP/IP host disabilita RSC in qualsiasi interfaccia abilitata per l'inoltro. L'inoltro host debole non influisce su RSC.
Supporto RSC per filtri leggeri e driver intermedi MUX
Tutti i driver di filtro leggeri NDIS 6.30 devono supportare pacchetti di ricezione maggiori rispetto all'unità di trasmissione massima del collegamento (MTU). Per altre informazioni sui limiti delle dimensioni del segmento, vedere Indicare segmenti di carbone.
NDIS disabilita RSC in un'interfaccia se qualsiasi driver di filtro leggero o driver intermedio MUX nello stack host è NDIS 6.20 o inferiore.
Un driver intermedio MUX può disabilitare RSC in un'interfaccia, anche se la versione NDIS dell'interfaccia è 6.30 o successiva.
Ispezione e callout di Windows Filtering Platform (WFP)
I driver di callout WFP forniscono funzionalità di filtro aggiuntive aggiungendo funzioni di callout personalizzate al motore di filtro in uno o più livelli di filtro in modalità kernel. I callout supportano l'ispezione approfondita e il pacchetto e la modifica del flusso.
I driver di callout WFP possono supportare la gestione dei pacchetti di supporto che sono più grandi del collegamento MTU. Per altre informazioni sui limiti delle dimensioni dei pacchetti, vedere Rilevamento e indicazione dei segmenti di carbone. Tali driver di callout WFP devono eseguire le operazioni seguenti:
Acconsentire esplicitamente durante la registrazione per gestire pacchetti di grandi dimensioni.
Impostare il flag del driver di callout come specificato nella pagina di riferimento per la struttura FWPS_CALLOUT2 .
Ogni volta che viene registrato un driver di callout che non ha consenso per gestire pacchetti di grandi dimensioni, IL WFP notifica TCP/IP nel contesto della registrazione. Durante la gestione di questa notifica, TCP/IP disabilita RSC nell'interfaccia.
Se il traffico TCP attivo è attivo durante la registrazione del callout, TCP/IP notifica al WFP. IL WFP ritarderà la chiamata ai filtri registrati fino a quando RSC non è disabilitato. In questo modo i driver di callout verranno protetti da pacchetti di grandi dimensioni.