Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MB-Miniporttreiber, die Raw-IP-Paketframes in ihrem Sende-/Empfangsdatenpfad unterstützen, sollten die folgenden Richtlinien beachten:
Netzwerkpufferlisten (NBL)-Flags für die Verarbeitung von RAW-IP-Paketen
Für IPv4-Pakete:
Das NblFlags-Element der NET_BUFFER_LIST-Struktur muss auf NDIS_NBL_FLAGS_IS_IPV4 festgelegt werden.
Das NetBufferListFrameType-Element der NET_BUFFER_LIST-Struktur muss in der Netzwerkbytereihenfolge auf 0x0800 (Ethertype IPv4) festgelegt werden.
Für IPv6-Pakete:
Das NblFlags-Element der NET_BUFFER_LIST Struktur muss auf NDIS_NBL_FLAGS_IS_IPV6 festgelegt werden.
Das NetBufferListFrameType-Element der NET_BUFFER_LIST-Struktur muss in Netzwerkbytereihenfolge auf 0x86dd (Ethertype IPv6) festgelegt werden.
Miniport-Treiber können das NdisSetNblFlag-Makro verwenden, um Flags in der Netzpufferliste festzulegen. In der folgenden Zeile wird veranschaulicht, wie IPv4-Paketkennzeichnung in der Netpufferliste festgelegt wird:
NdisSetNblFlag(pNbl, NDIS_NBL_FLAGS_IS_IPV4);
Miniporttreiber können die NET_BUFFER_LIST_INFO verwenden, um Informationen in einer Netzpufferliste abzurufen und festzulegen. In der folgenden Zeile wird veranschaulicht, wie Sie den NetBufferListFrameType OOB in der Netzwerkpufferliste für IPV4-Pakete ändern:
Value = ConvertToNetworkByteOrder(0x0800);
NET_BUFFER_LIST_INFO(pNbl, NetBufferListFrameType) = Value;
Pfadverarbeitung senden
Der MB-Dienst legt diese Flags in der NBL fest, bevor die Liste an den Miniporttreiber zur Übermittlung über das Netzwerk übergeben wird. Der Miniporttreiber kann die Flags in der Eingabe-NBL überprüfen.
Empfangen von Pfadverarbeitung
Miniporttreiber sollten Flags in der NBL festlegen, bevor die NBL an den MB-Dienst für empfangene Pakete übergeben wird.
Wenn Ihr Miniporttreiber die Raw IP-Paketverarbeitung während der Entwicklungsphase des Treibers implementiert, aber dennoch DHCP-Serverspoofing aktiviert ist (EnableDhcp = 1), sollte Ihr Miniporttreiber Folgendes sicherstellen:
Die Hardwareadresse und die in der DHCP-Antwort des Miniporttreibers festgelegte Länge sollten mit den Werten der Elemente "CurrentMacAddress" und "MacAddressLength" übereinstimmen, die vom Miniporttreiber in der NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-Struktur angegeben sind.
Die Transaktions-ID (das xid-Mitglied ) der DHCP-Antwort des Miniporttreibers sollte genau mit der Transaktions-ID übereinstimmen, die in der DHCP-Anforderungsnachricht vom Client festgelegt ist.