Compatibilidad con el procesamiento de paquetes DE IP sin formato de MB
Los controladores de minipuerto mb que admiten fotogramas de paquetes IP sin formato en su ruta de acceso de datos de envío o recepción deben cumplir las siguientes directrices:
Marcas de la lista de búferes netos (NBL) para el procesamiento de paquetes DE IP SIN FORMATO
Para paquetes IPv4:
El miembro NblFlags de la estructura NET_BUFFER_LIST debe establecerse en NDIS_NBL_FLAGS_IS_IPV4.
El miembro NetBufferListFrameType de la estructura NET_BUFFER_LIST debe establecerse en 0x0800 (Ethertype IPv4) en el orden de bytes de red.
Para paquetes IPv6:
El miembro NblFlags de NET_BUFFER_LIST estructura debe establecerse en NDIS_NBL_FLAGS_IS_IPV6.
El miembro NetBufferListFrameType de la estructura NET_BUFFER_LIST debe establecerse en 0x86dd (Ethertype IPv6) en orden de bytes de red.
Los controladores de miniport pueden usar la macro NdisSetNblFlag para establecer marcas en la lista de búferes netos. En la línea siguiente se muestra cómo establecer la marca de paquete IPv4 en la lista de búferes netos:
NdisSetNblFlag(pNbl, NDIS_NBL_FLAGS_IS_IPV4);
Los controladores de minipuerto pueden usar el NET_BUFFER_LIST_INFO para obtener y establecer información en una lista de búferes netos. En la línea siguiente se muestra cómo modificar el OOB NetBufferListFrameType en la lista de búferes de red para paquetes IPV4:
Value = ConvertToNetworkByteOrder(0x0800);
NET_BUFFER_LIST_INFO(pNbl, NetBufferListFrameType) = Value;
Procesamiento de ruta de acceso de envío
El servicio MB establecerá estas marcas en el NBL antes de pasar la lista al controlador de miniporte para enviarlo a través de la red. El controlador de minipuerto puede comprobar las marcas en el NBL de entrada.
Procesamiento de rutas de acceso de recepción
Los controladores de minipuerto deben establecer marcas en el NBL antes de pasar el NBL al servicio MB para los paquetes recibidos.
Si el controlador de miniporte implementa el procesamiento de paquetes IP sin procesar durante su fase de desarrollo de controladores, pero sigue teniendo habilitada la suplantación de identidad del servidor DHCP (EnableDhcp = 1), el controlador de miniporte debe asegurarse de lo siguiente:
La dirección de hardware y su longitud establecida en la respuesta DHCP del controlador de minipuerto deben coincidir con los valores de los miembros CurrentMacAddress y MacAddressLength especificados por el controlador de miniport en la estructura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES.
El identificador de transacción (el miembro xid ) de la respuesta DHCP del controlador de miniport debe coincidir exactamente con el identificador de transacción establecido en el mensaje de solicitud DHCP del cliente.