Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Overzicht
Het type RSS-hashing geeft het gedeelte van ontvangen netwerkgegevens op dat een NIC moet gebruiken om een RSS-hashwaarde te berekenen.
De bovenliggende stuurprogramma's stellen het hash-type, de functie en de indirectietabel in. Het hash-type dat het bovenliggende stuurprogramma instelt, kan een subset zijn van het type dat het miniportstuurprogramma kan ondersteunen. Zie RSS-configuratievoor meer informatie.
Het hash-type is een OF van geldige combinaties van de volgende vlaggen:
- NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4
- NDIS_HASH_UDP_IPV4
- NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6
- NDIS_HASH_UDP_IPV6
- NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX
Dit zijn de sets van geldige vlagcombinaties:
- IPv4 (combinaties van NDIS_HASH_IPV4, NDIS_HASH_TCP_IPV4 en NDIS_HASH_UDP_IPV4)
- IPv6 (combinaties van NDIS_HASH_IPV6, NDIS_HASH_TCP_IPV6 en NDIS_HASH_UDP_IPV6)
- IPv6 met extensieheaders (combinaties van NDIS_HASH_IPV6_EX, NDIS_HASH_TCP_IPV6_EX en NDIS_HASH_UDP_IPV6_EX)
Een NIC moet een van de combinaties van de IPv4-set ondersteunen. De andere sets en combinaties zijn optioneel. Een NIC kan meer dan één set tegelijk ondersteunen. In dit geval bepaalt het ontvangen type gegevens welk hash-type de NIC gebruikt.
In het algemeen geldt dat als de NIC de ontvangen gegevens niet correct kan interpreteren, de hash-waarde niet mag worden berekend. Als de NIC bijvoorbeeld alleen IPv4 ondersteunt en er een IPv6-pakket wordt ontvangen dat niet correct kan worden geïnterpreteerd, mag de hash-waarde niet worden berekend. Als de NIC een pakket ontvangt voor een transporttype dat niet wordt ondersteund, mag deze de hash-waarde niet berekenen. Als de NIC bijvoorbeeld een UDP-pakket ontvangt wanneer het hash-waarden voor TCP-pakketten moet berekenen, moet de hashwaarde niet worden berekend. In dit geval wordt het pakket verwerkt zoals in het niet-RSS-geval. Zie Verwerking van niet-RSS-ontvangst voor meer informatie over de verwerking van niet-RSS-ontvangst.
Combinaties van IPv4-hashtypen
De geldige combinaties van hashtypen in de IPv4-set zijn:
- NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4
- NDIS_HASH_UDP_IPV4
- NDIS_HASH_TCP_IPV4 | NDIS_HASH_IPV4
- NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
- NDIS_HASH_TCP_IPV4 | NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
NDIS_HASH_IPV4
Als deze vlag alleen is ingesteld, moet de NIC de hashwaarde berekenen via de volgende IPv4-headervelden:
- Bron-IPv4-Address
- Doel-IPv4-Address
Opmerking
Als een NIC een pakket ontvangt dat zowel IP- als TCP-headers bevat, moet NDIS_HASH_TCP_IPV4 niet altijd worden gebruikt. In het geval van een gefragmenteerd IP-pakket moet NDIS_HASH_IPV4 worden gebruikt. Dit omvat het eerste fragment dat zowel IP- als TCP-headers bevat.
NDIS_HASH_TCP_IPV4
Als deze vlag alleen is ingesteld, moet de NIC de ontvangen gegevens parseren om een IPv4-pakket te identificeren dat een TCP-segment bevat.
De NIC moet alle IP-opties identificeren en overslaan die aanwezig zijn. Als de NIC geen IP-opties kan overslaan, moet er geen hashwaarde worden berekend.
De NIC moet de hash-waarde berekenen via de volgende velden:
- Bron-IPv4-Address
- Bestemming-IPv4-Address
- TCP-bronpoort
- TCP-doelpoort
NDIS_HASH_UDP_IPV4
Als deze vlag alleen is ingesteld, moet de NIC de ontvangen gegevens parseren om een IPv4-pakket te identificeren dat een UDP-datagram bevat.
De NIC moet alle IP-opties identificeren en overslaan die aanwezig zijn. Als de NIC geen IP-opties kan overslaan, moet er geen hashwaarde worden berekend.
De NIC moet de hash-waarde berekenen via de volgende velden:
- Bron-IPv4-Address
- Bestemming-IPv4-Address
- UDP-bronpoort
- Bestemmings-UDP-poort
NDIS_HASH_TCP_IPV4 | NDIS_HASH_IPV4
Als deze combinatie van vlag is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_TCP_IPV4 case. Als het pakket echter geen TCP-header bevat, moet de NIC de hash-waarde berekenen zoals opgegeven voor het NDIS_HASH_IPV4 geval.
NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_UDP_IPV4 case. Als het pakket echter geen UDP-header bevat, moet de NIC de hashwaarde berekenen zoals opgegeven voor het NDIS_HASH_IPV4 geval.
NDIS_HASH_TCP_IPV4 | NDIS_HASH_UDP_IPV4 | NDIS_HASH_IPV4
Als deze vlagcombinatie is ingesteld, moet de NIC de hashberekening uitvoeren zoals opgegeven door het transport in het pakket. Als het pakket echter geen TCP- of UDP-header bevat, moet de NIC de hashwaarde berekenen zoals opgegeven voor het NDIS_HASH_IPV4 geval.
Combinaties van IPv6-hashtypen
De geldige combinaties van hashtypen in de IPv6-set zijn:
- NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6
- NDIS_HASH_UDP_IPV6
- NDIS_HASH_TCP_IPV6 | NDIS_HASH_IPV6
- NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
- NDIS_HASH_TCP_IPV6 | NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
NDIS_HASH_IPV6
Als deze vlag alleen is ingesteld, moet de NIC de hash berekenen via de volgende velden:
- Bron-IPv6-Address
- Bestemming-IPv6-Address
NDIS_HASH_TCP_IPV6
Als deze vlag alleen is ingesteld, moet de NIC de ontvangen gegevens parseren om een IPv6-pakket te identificeren dat een TCP-segment bevat. De NIC moet eventuele IPv6-extensieheaders identificeren en overslaan die aanwezig zijn in het pakket. Als de NIC geen IPv6-extensieheaders kan overslaan, moet er geen hashwaarde worden berekend.
De NIC moet de hash-waarde berekenen via de volgende velden:
- Source-IPv6 -Address
- Destination-IPv6 -Address
- TCP-bronpoort
- TCP-doelpoort
NDIS_HASH_UDP_IPV6
Als deze vlag alleen is ingesteld, moet de NIC de ontvangen gegevens parseren om een IPv6-pakket te identificeren dat een UDP-datagram bevat. De NIC moet eventuele IPv6-extensieheaders identificeren en overslaan die aanwezig zijn in het pakket. Als de NIC geen IPv6-extensieheaders kan overslaan, moet er geen hashwaarde worden berekend.
De NIC moet de hash-waarde berekenen via de volgende velden:
- Bron-IPv6-Address
- Bestemming-IPv6-Address
- UDP-bronpoort
- Doel-UDP-poort
NDIS_HASH_TCP_IPV6 | NDIS_HASH_IPV6
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_TCP_IPV6 case. Als het pakket echter geen TCP-header bevat, moet de NIC de hash berekenen zoals opgegeven voor het NDIS_HASH_IPV6 geval.
Als het pakket bijvoorbeeld is gefragmenteerd, bevat het mogelijk niet de TCP-header. In dat geval moet de NIC de hash alleen via de IP-header berekenen.
NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_UDP_IPV6 case. Als het pakket echter geen UDP-header bevat, moet de NIC de hash berekenen zoals opgegeven voor het NDIS_HASH_IPV6 geval.
Als het pakket bijvoorbeeld is gefragmenteerd, bevat het mogelijk niet de UDP-header. In dat geval moet de NIC de hash alleen via de IP-header berekenen.
NDIS_HASH_TCP_IPV6 | NDIS_HASH_UDP_IPV6 | NDIS_HASH_IPV6
Als deze vlagcombinatie is ingesteld, moet de NIC de hashberekening uitvoeren zoals opgegeven door het transport in het pakket. Als het pakket echter geen TCP- of UDP-header bevat, moet de NIC de hashwaarde berekenen zoals opgegeven in het NDIS_HASH_IPV6 geval.
Als het pakket bijvoorbeeld is gefragmenteerd, bevat het mogelijk niet de TCP- of UDP-header. In dat geval moet de NIC de hash alleen via de IP-header berekenen.
IPv6 met combinaties van hashtypen voor extensieheaders
De geldige combinaties in de IPv6 met extensieheaderset zijn:
- NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_IPV6_EX
- NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
- NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
NDIS_HASH_IPV6_EX
Als deze vlag alleen is ingesteld, moet de NIC de hash berekenen via de volgende velden:
- Huisadres van de thuisadresoptie in de kop van de doelopties voor IPv6. Als de extensieheader niet aanwezig is, gebruikt u het bron-IPv6-adres.
- IPv6-adres dat is opgenomen in routering-header-type-2 van de bijbehorende extensieheader. Als de extensieheader niet aanwezig is, gebruikt u het doel-IPv6-adres.
NDIS_HASH_TCP_IPV6_EX
Als deze vlag alleen is ingesteld, moet de NIC de hash berekenen via de volgende velden:
- Huisadres van de thuisadresoptie in de kop van de doelopties voor IPv6. Als de extensieheader niet aanwezig is, gebruikt u het bron-IPv6-adres.
- IPv6-adres dat is opgenomen in routering-header-type-2 van de bijbehorende extensieheader. Als de extensieheader niet aanwezig is, gebruikt u het doel-IPv6-adres.
- TCP-bronpoort
- TCP-doelpoort
NDIS_HASH_UDP_IPV6_EX
Als deze vlag alleen is ingesteld, moet de NIC de hash berekenen via de volgende velden:
- Huisadres vanuit de thuisadresoptie in de IPv6-doeloptiekop. Als de extensieheader niet aanwezig is, gebruikt u het bron-IPv6-adres.
- IPv6-adres dat is opgenomen in routering-header-type-2 van de bijbehorende extensieheader. Als de extensieheader niet aanwezig is, gebruikt u het doel-IPv6-adres.
- UDP-bronpoort
- Doel-UDP-poort
NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_IPV6_EX
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_TCP_IPV6_EX case. Als het pakket echter geen TCP-header bevat, moet de NIC de hash berekenen zoals opgegeven voor het NDIS_HASH_IPV6_EX geval.
NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven voor de NDIS_HASH_UDP_IPV6_EX case. Als het pakket echter geen UDP-header bevat, moet de NIC de hash berekenen zoals opgegeven voor het NDIS_HASH_IPV6_EX geval.
NDIS_HASH_TCP_IPV6_EX | NDIS_HASH_UDP_IPV6_EX | NDIS_HASH_IPV6_EX
Als deze vlagcombinatie is ingesteld, moet de NIC de hash-berekeningen uitvoeren zoals opgegeven door het pakkettransport. Als het pakket echter geen TCP- of UDP-header bevat, moet de NIC de hash berekenen zoals opgegeven voor het NDIS_HASH_IPV6_EX geval.
Opmerking
Als een minipoortstuurprogramma de NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX- en/of NDIS_RSS_CAPS_HASH_TYPE_UDP_IPV6_EX-functie voor een NIC rapporteert, moet de NIC hashwaarden (over velden in de IPv6-extensieheaders) berekenen volgens de door het protocolstuurprogramma ingestelde IPv6-extensie-hashtypen. De NIC kan het extensie-hashtype of het reguliere hash-type opslaan in de NET_BUFFER_LIST structuur van het IPv6-pakket waarvoor een hash-waarde wordt berekend.
Een minipoortstuurprogramma stelt het hash-type in een NET_BUFFER_LIST structuur in voordat de ontvangen gegevens worden aangegeven. Voor meer informatie, zie Aanduiding van RSS-ontvangstgegevens.