Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les pilotes miniport MB qui prennent en charge les trames IP brutes dans la voie d'accès de données d'envoi/réception doivent respecter les instructions suivantes :
Indicateurs de listes de mémoires tampons réseau (NBL) pour le traitement des paquets IP bruts
Pour les paquets IPv4 :
Le membre NblFlags de la structure NET_BUFFER_LIST doit être défini sur NDIS_NBL_FLAGS_IS_IPV4.
Le membre NetBufferListFrameType de la structure NET_BUFFER_LIST doit être défini sur 0x0800 (Ethertype IPv4) dans l’ordre d’octet du réseau.
Pour les paquets IPv6 :
Le membre NblFlags de la structure NET_BUFFER_LIST doit être défini sur NDIS_NBL_FLAGS_IS_IPV6.
Le membre NetBufferListFrameType de la structure NET_BUFFER_LIST doit être défini sur 0x86dd (Ethertype IPv6) dans l’ordre d’octet du réseau.
Les pilotes miniport peuvent utiliser la macro NdisSetNblFlag pour définir des indicateurs dans la liste de mémoires tampons nettes. La ligne suivante montre comment définir l’indicateur de paquet IPv4 dans la liste de mémoires tampons net :
NdisSetNblFlag(pNbl, NDIS_NBL_FLAGS_IS_IPV4);
Les pilotes miniport peuvent utiliser le NET_BUFFER_LIST_INFO pour obtenir et définir des informations dans une liste de mémoires tampons nettes. La ligne suivante montre comment modifier l’OOB NetBufferListFrameType dans la liste des mémoires tampons réseau pour les paquets IPV4 :
Value = ConvertToNetworkByteOrder(0x0800);
NET_BUFFER_LIST_INFO(pNbl, NetBufferListFrameType) = Value;
Traitement de l'itinéraire d'envoi
Le service Mb définit ces indicateurs dans le NBL avant de passer la liste au pilote miniport à envoyer sur le réseau. Le pilote miniport peut vérifier les indicateurs dans le NBL d’entrée.
Traitement du flux de réception
Les pilotes miniport doivent définir des indicateurs dans la NBL avant de passer la NBL au MB Service pour les paquets reçus.
Si votre pilote miniport implémente le traitement des paquets IP bruts pendant sa phase de développement du pilote, mais que l’usurpation du serveur DHCP est activée (EnableDhcp = 1), votre pilote miniport doit s’assurer que ce qui suit :
L’adresse matérielle et sa longueur définies dans la réponse DHCP du pilote miniport doivent correspondre aux valeurs des membres CurrentMacAddress et MacAddressLength spécifiés par le pilote miniport dans la structure NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES.
L’ID de transaction (membre xid ) de la réponse DHCP du pilote miniport doit correspondre exactement à l’ID de transaction défini dans le message de requête DHCP du client.