Compartir a través de


Administración de solicitudes de OID de descarga de hardware a adaptadores de red físicos

En este tema se describe cómo una extensión de reenvío de conmutador extensible de Hyper-V administra las solicitudes de identificador de objeto (OID) para las tecnologías de descarga de hardware en adaptadores físicos subyacentes a través de la ruta de acceso de control de conmutador extensible.

Por ejemplo, el adaptador de red externo se puede enlazar al borde de miniporte virtual de un controlador intermedio de multiplexador NDIS (MUX). El controlador MUX está enlazado a un equipo de una o varias redes físicas en el host. Esta configuración se conoce como un equipo de conmutadores extensible.

En esta configuración, una extensión de conmutador extensible se expone a todos los adaptadores de red del equipo. Esto permite que la extensión administre la configuración y el uso de adaptadores de red individuales en el equipo. Por ejemplo, una extensión de reenvío puede proporcionar compatibilidad con una solución de conmutación por error de equilibrio de carga (LBFO) a través del equipo reenviando paquetes salientes a adaptadores individuales. Una extensión de reenvío que administra un equipo de conmutadores extensible se conoce como proveedor de formación de equipos. Para obtener más información sobre los proveedores de formación de equipos, consulte Teaming Provider Extensions.

En la ilustración siguiente se muestra un ejemplo de un equipo de conmutadores extensible para NDIS 6.40 (Windows Server 2012 R2) y versiones posteriores.

Diagrama que muestra un equipo de conmutadores extensible para NDIS 6.40.

En la ilustración siguiente se muestra un ejemplo de un equipo de conmutadores extensible para NDIS 6.30 (Windows Server 2012).

Diagrama que ilustra un equipo de conmutadores extensible para NDIS 6.30.

Nota En la interfaz de conmutador extensible, los controladores de filtro NDIS se conocen como extensiones de conmutador extensible y la pila de controladores se conoce como pila de controladores de conmutador extensible.

Al controlar la solicitud OID de OID_SWITCH_NIC_REQUEST, una extensión de reenvío puede participar en la configuración del equipo de conmutadores extensibles para las descargas de hardware. Por ejemplo, si la extensión administra los adaptadores de red físicos de un equipo de conmutadores extensibles, puede reenviar la solicitud de OID_SWITCH_NIC_REQUEST a un adaptador físico que admita la descarga de hardware.

NDIS y controladores de filtro y protocolo excesivo pueden emitir solicitudes de OID para las tecnologías de descarga de hardware al adaptador de red físico subyacente. Cuando estas solicitudes de OID llegan a la interfaz de conmutador extensible, encapsula la solicitud OID dentro de una NDIS_SWITCH_NIC_OID_REQUEST. A continuación, el borde del protocolo del conmutador extensible emite una solicitud de OID de OID_SWITCH_NIC_REQUEST que contiene esta estructura.

La interfaz de conmutador extensible encapsula los OID para las siguientes tecnologías de descarga de hardware:

Descarga de la descarga de seguridad del protocolo de Internet (IPsec) (versión 2)
Las siguientes solicitudes de OID de IPsec se encapsulan:

La extensión de reenvío no debe producir errores ni vetar estas solicitudes de OID.

Para obtener más información sobre la versión 2 de la tecnología de descarga de hardware IPsec, consulte IPsec Offload Version 2(Descarga de IPsec versión 2).

Virtualización de E/S raíz única (SR-IOV)
Las siguientes solicitudes de OID sr-IOV se encapsulan:

La extensión de reenvío puede vetar las solicitudes de OID de OID_NIC_SWITCH_ALLOCATE_VF y OID_NIC_SWITCH_CREATE_VPORT completando la solicitud con un código de estado distinto de NDIS_STATUS_SUCCESS. Sin embargo, la extensión no debe vetar las demás solicitudes de OID SR-IOV.

Para obtener más información sobre la tecnología de descarga de hardware SR-IOV, consulte Virtualización de E/S raíz única (SR-IOV).

Cola de máquinas virtualizadas (VMQ)
Las siguientes solicitudes de OID de VMQ se encapsulan:

La extensión de reenvío puede vetar las solicitudes de OID de OID_RECEIVE_FILTER_ALLOCATE_QUEUE y OID_RECEIVE_FILTER_SET_FILTER completando la solicitud con un código de estado distinto de NDIS_STATUS_SUCCESS. Sin embargo, la extensión no debe vetar las demás solicitudes de OID de VMQ.

Para obtener más información sobre la tecnología de descarga de hardware de VMQ, consulte Virtual Machine Queue (VMQ) (Cola de máquinas virtuales [VMQ]).

La extensión de reenvío debe seguir estas directrices para controlar las solicitudes de OID de descarga de hardware:

  • La plataforma de mensajería instantánea de Microsoft anuncia solo las funcionalidades comunes de descarga para el equipo general. Sin embargo, la extensión puede generar solicitudes de OID para consultar las funcionalidades de cada adaptador del equipo.

    Una vez que la extensión ha determinado las funcionalidades de hardware de los adaptadores físicos del equipo, puede reenviar solicitudes OID para descargas de hardware a un adaptador que sea más adecuado para la descarga.

  • Todas las solicitudes de OID de descarga de hardware que se originan mediante el protocolo excesivo o los controladores de filtro se encapsularán dentro de una estructura de NDIS_SWITCH_NIC_OID_REQUEST . Todas las solicitudes OID de descarga de hardware que se originan en la extensión de reenvío también deben encapsularse en una estructura de NDIS_SWITCH_NIC_OID_REQUEST .

    La extensión reenvía la solicitud OID encapsulada a un adaptador de red físico subyacente a través de una solicitud de conjunto de OID de OID_SWITCH_NIC_REQUEST. Para obtener más información sobre este procedimiento, consulte Reenvío de solicitudes de OID a adaptadores de red físicos.

  • La extensión no debe modificar ni producir errores en las solicitudes de descarga de hardware para borrar, liberar o completar la asignación de recursos de descarga. Por ejemplo, la extensión no debe producir errores en las solicitudes de OID de OID_RECEIVE_FILTER_CLEAR_FILTER o OID_NIC_SWITCH_DELETE_VPORT. La interfaz de conmutador extensible debe controlar estas solicitudes de OID para limpiar la información de estado de estos recursos.

    La extensión puede modificar o producir errores en las solicitudes de OID de descarga de hardware para asignar, mover o establecer recursos de descarga. Por ejemplo, la extensión puede producir un error o modificar las solicitudes de OID de OID_NIC_SWITCH_ALLOCATE_VF o OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA.

  • La extensión puede originar cualquier OID de descarga de hardware en un adaptador de red físico subyacente. Sin embargo, la extensión no debe originar un OID de descarga de hardware que borre o libere los recursos de descarga que la extensión no asignó.

    Por ejemplo, la extensión no debe originar una solicitud de OID de descarga de hardware de OID_RECEIVE_FILTER_FREE_QUEUE si no originó una solicitud de OID_RECEIVE_FILTER_ALLOCATE_QUEUE para la misma cola.

    Nota La extensión solo puede originar su propia solicitud de OID de descarga de hardware encapsulado si filtra la misma solicitud de OID que se emitió mediante controladores sobreagregar. En este caso, la extensión no debe reenviar la solicitud de OID original. En su lugar, la extensión debe llamar a NdisFOidRequestComplete para completar esta solicitud cuando NDIS llama a su FilterOidRequestComplete para completar la solicitud de OID originada.

  • Si la extensión reenvía una solicitud OID de descarga de hardware a un adaptador de red físico subyacente, el miembro DestinationNicIndex de la estructura NDIS_SWITCH_NIC_OID_REQUEST debe establecerse en el valor de índice distinto de cero del adaptador. Para obtener más información sobre estos valores de índice, vea Valores de índice del adaptador de red.

    Además, el miembro DestinationPortId debe establecerse en el identificador del puerto de conmutador extensible al que está conectado el adaptador de red externo.

  • Si la extensión origina una solicitud de OID de descarga de hardware para asignar recursos para una partición secundaria de Hyper-V, el miembro SourcePortId de la estructura NDIS_SWITCH_NIC_OID_REQUEST debe establecerse en el identificador del puerto de conmutador extensible al que está conectada la partición.

    El miembro SourceNicIndex debe establecerse en NDIS_SWITCH_DEFAULT_NIC_INDEX.

  • Cuando la extensión llama a NdisFOidRequest para reenviar la solicitud OID, debe establecer el parámetro OidRequest en un puntero a una estructura de NDIS_OID_REQUEST para una solicitud de OID de OID_SWITCH_NIC_REQUEST .

Para obtener más información sobre cómo filtra las solicitudes de OID de extensión, consulte Filtrado de solicitudes OID en un controlador de filtro NDIS.

Para obtener más información sobre los controladores MUX, consulte Controladores intermedios de NDIS MUX.