Dela via


Programmeringsöverväganden för RSC-drivrutiner

I följande avsnitt diskuteras aspekter att ta hänsyn till vid implementering av en RSC-kompatibel miniportdrivrutin (receive-segment coalescing).

Svara på frågor för RSC-statistik

NDIS, överliggande drivrutiner och användarlägesprogram använder OID_TCP_RSC_STATISTICS OID för att hämta RSC-statistiken för ett miniportkort. RSC-kompatibla miniportdrivrutiner måste ha stöd för denna OID.

Vidarebefordrade TCP-paket

Miniportdrivrutinen ska inte utföra mottagningssegmentkoalescering (RSC) på segment i TCP-paket som inte är avsedda för den lokala datorn men som skickas vidare till ett annat gränssnitt.

Värd-TCP/IP-stacken inaktiverar RSC på alla gränssnitt som har vidarebefordran aktiverat. Vidarebefordran av svag värd påverkar inte RSC.

RSC-stöd för lätta filter och mellanliggande MUX-drivrutiner

Alla NDIS 6.30 lätta filterdrivrutiner måste ha stöd för mottagningspaket som är större än länkens maximala överföringsenhet (MTU). Mer information om segmentstorleksgränser finns i Indikera sammanfogade segment.

NDIS inaktiverar RSC i ett gränssnitt om någon enkel filterdrivrutin eller MUX-mellanliggande drivrutin i värdstacken är NDIS 6.20 eller lägre.

En mellanliggande MUX-drivrutin kan inaktivera RSC i ett gränssnitt, även om gränssnittets NDIS-version är 6.30 eller senare.

Inspektions- och anropsdrivrutiner för Windows Filtering Platform (WFP)

WFP-callout-drivrutiner tillhandahåller ytterligare filtreringsfunktioner genom att lägga till anpassade callout-funktioner till filtermotorn i ett eller flera av filtreringslagren i kernelläge. Uppmaningar stödjer djupinspektion samt modifiering av paket och dataströmmar.

WFP-utropsdrivrutiner kan stödja hantering av mottagna stödjepaket som är större än länkens MTU. (Mer information om gränser för paketstorlek finns i Tracking and Indicating Coalesced Segments.) Sådana WFP-callout-drivrutiner bör göra följande:

  • Anmäl dig under registreringen för att hantera stora paket.

  • Ange flaggan för callout-drivrutinen enligt beskrivningen på referenssidan för FWPS_CALLOUT2-strukturen.

När en callout-drivrutin som inte har valt att hantera stora paket registreras, meddelar WFP TCP/IP i samband med registreringen. Som en del av hanteringen av det här meddelandet inaktiverar TCP/IP RSC i gränssnittet.

Om det finns aktiv TCP-trafik under registrering av callout, meddelar TCP/IP WFP. WFP skjuter upp att anropa de registrerade filtren tills RSC har inaktiverats. Detta skyddar drivrutiner från stora paket.