Mantenimiento de una pila de interfaz de red
NDIS proporciona servicios para mantener la tabla de pila de interfaz (ifStackTable en RFC 2863). NDIS mantiene la tabla de pila para adaptadores de miniporte NDIS, NDIS 5. x filtros de controladores intermedios y módulos de filtro NDIS. NDIS también proporciona servicios para permitir que los controladores NDIS agreguen y eliminen entradas en esta tabla. Para los controladores intermedios MUX, NDIS no tiene acceso a la relación entre la interfaz de miniporte virtual y la interfaz inferior del protocolo. Por lo tanto, los controladores intermedios muX NDIS 6.0 deben especificar estas relaciones de interfaz internas.
Para definir una relación de pila entre dos interfaces, cualquier controlador NDIS puede pasar los parámetros HigherLayerIfIndex y LowerLayerIfIndex a la función NdisIfAddIfStackEntry . Estos parámetros especifican una interfaz de red que debe ser superior en la pila de la interfaz de red y una interfaz de red que debe ser inferior en la pila.
Un controlador que tiene información de orden de pila sobre una interfaz relacionada con otra interfaz (por ejemplo, enlaces internos en un controlador intermedio MUX que no son visibles para NDIS) llama a NdisIfAddIfStackEntry para rellenar la tabla de pila de interfaz. Esta función devuelve NDIS_STATUS_SUCCESS si la entrada de pila se realizó correctamente. Normalmente, el componente que posee o es el proveedor de interfaz para la interfaz de capa superior (que identifica HigherLayerIfIndex ) llama a NdisIfAddIfStackEntry.
Para quitar una entrada de tabla de pila, un controlador pasa los parámetros HigherLayerIfIndex y LowerLayerIfIndex a la función NdisIfDeleteIfStackEntry .
Para obtener un ejemplo de mantenimiento de la pila de interfaz, consulte el controlador de ejemplo MUX 6.0.