OID_SWITCH_NIC_REQUEST

Se usa una solicitud de método de identificador de objeto (OID) de OID_SWITCH_NIC_REQUEST para encapsular y reenviar solicitudes OID al adaptador de red externo del conmutador extensible de Hyper-V. Esto permite que la solicitud OID encapsulada se entregue al controlador para el adaptador de red físico subyacente enlazado al adaptador de red externo.

Esta solicitud de OID también se usa para encapsular las solicitudes de OID que se emitieron a otros adaptadores de red que están conectados a puertos de conmutador extensibles. En este caso, la solicitud OID encapsulada se reenvía a través de la pila de controladores de conmutador extensible para su inspección por extensiones.

El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_SWITCH_NIC_OID_REQUEST . Esta estructura especifica la información de reenvío de la solicitud OID. Esta estructura también contiene un puntero a la estructura de NDIS_OID_REQUEST original de la solicitud OID que se reenvía.

Observaciones

Cuando las solicitudes de OID llegan a la interfaz de conmutador extensible de Hyper-V, las encapsula para reenviarlas hacia abajo en la ruta de acceso de control extensible del conmutador. Estas solicitudes de OID incluyen lo siguiente:

  • Las solicitudes de descarga de OID de hardware, incluidas las solicitudes de seguridad del protocolo de Internet (IPsec), la cola de máquinas virtuales (VMQ) y la virtualización de E/S raíz única (SR-IOV). Estas solicitudes de OID se emiten mediante un protocolo o un controlador de filtro que se ejecuta en el sistema operativo de administración de la partición primaria de Hyper-V.

    Cuando estas solicitudes de OID llegan a la interfaz de conmutador extensible, el borde del protocolo del conmutador extensible encapsula la solicitud OID dentro de una estructura de NDIS_SWITCH_NIC_OID_REQUEST . El borde del protocolo establece los miembros de esta estructura de la siguiente manera:

    • Los miembros DestinationPortId y DestinationNicIndex se establecen en los valores correspondientes para el adaptador de red externo.

    • Si la solicitud OID se originó en una partición secundaria de Hyper-V, los miembros SourcePortId y SourceNicIndex se establecen en los valores correspondientes para el puerto y el adaptador de red que usa la partición. De lo contrario, los miembros SourcePortId y SourceNicIndex se establecen en cero.

      Nota La extensión debe conservar los valores de estos miembros si reenvía o redirige la solicitud OID.

    • El miembro OidRequest se establece en un puntero a la estructura NDIS_OID_REQUEST de la solicitud OID encapsulada.

    A continuación, el borde del protocolo emite la solicitud de OID_SWITCH_NIC_REQUEST para reenviar la solicitud OID encapsulada a la ruta de acceso del control de conmutador extensible al adaptador de red externo.

    Una extensión de reenvío subyacente puede redirigir las solicitudes OID de descarga de hardware encapsuladas a un adaptador de red físico enlazado al adaptador de red externo. Por ejemplo, si la extensión admite adaptadores de red físicos de un equipo de conmutadores extensibles enlazados al adaptador de red externo, puede reenviar la solicitud de OID_SWITCH_NIC_REQUEST a un adaptador físico en el equipo de conmutación por error de equilibrio de carga (LBFO) que admita la descarga de hardware. Para obtener más información sobre este procedimiento, consulte Administración de solicitudes de OID de descarga de hardware a adaptadores de red físicos.

    Para obtener más información sobre los equipos de conmutadores extensibles, consulte Tipos de configuraciones de adaptadores de red físicos.

  • Solicitudes de OID de multidifusión, incluidas OID_802_3_ADD_MULTICAST_ADDRESS y OID_802_3_DELETE_MULTICAST_ADDRESS. Estas solicitudes de OID se emiten mediante el protocolo excesivo y los controladores de filtro que se ejecutan en el sistema operativo de administración o en el sistema operativo invitado de una partición secundaria de Hyper-V.

    Cuando estas solicitudes de OID llegan a la interfaz de conmutador extensible, el borde del protocolo del conmutador extensible encapsula la solicitud OID dentro de una estructura de NDIS_SWITCH_NIC_OID_REQUEST . El perímetro del protocolo también establece los miembros SourcePortId y SourceNicIndex en los valores correspondientes para el puerto y el adaptador de red desde el que se originó la solicitud OID. A continuación, el borde del protocolo emite la solicitud de OID_SWITCH_NIC_REQUEST para reenviar la solicitud OID encapsulada a la ruta de acceso de control de conmutador extensible para la inspección por parte de las extensiones subyacentes.

    Nota En este caso, el borde del protocolo establece los miembros DestinationPortId y DestinationNicIndex en cero. Esto especifica que la solicitud OID encapsulada se va a entregar a las extensiones en la ruta de acceso del control.

    Las extensiones de reenvío subyacentes pueden inspeccionar estas solicitudes de OID encapsuladas y conservar la información de dirección de multidifusión que especifiquen. Por ejemplo, la extensión puede necesitar esta información si origina paquetes de multidifusión que reenvía a un puerto de conmutador extensible.

    Para obtener más información, consulte Reenvío de solicitudes de OID desde una partición secundaria de Hyper-V.

Una extensión de reenvío también puede emitir un OID_SWITCH_NIC_REQUEST para reenviar solicitudes OID encapsuladas a un adaptador de red físico enlazado al adaptador de red externo. Esto permite que la extensión origine su propia solicitud de OID o redirija una solicitud OID existente a un adaptador de red físico enlazado al adaptador de red externo. Para ello, la extensión debe seguir estos pasos:

  1. La extensión llama a ReferenceSwitchNic para incrementar un contador de referencia para el índice del adaptador de red físico de destino. Esto garantiza que la interfaz del conmutador extensible no eliminará la conexión del adaptador de red físico mientras que su contador de referencia no es cero.

    Nota La interfaz de conmutador extensible podría desconectar la conexión del adaptador de red físico mientras que su contador de referencia es distinto de cero. Para obtener más información, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.

  2. La extensión encapsula la solicitud OID mediante la inicialización de una estructura de NDIS_SWITCH_NIC_OID_REQUEST de la siguiente manera:

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

    • El miembro DestinationNicIndex debe establecerse en el valor de índice distinto de cero del adaptador de red físico subyacente.

    • Si la extensión se origina en nombre de una partición secundaria de Hyper-V, los miembros SourcePortId y SourceNicIndex se establecen en los valores correspondientes para el puerto y el adaptador de red que usa la partición. De lo contrario, los miembros SourcePortId y SourceNicIndex se establecen en cero.

      Por ejemplo, si la extensión administra recursos de descarga de hardware para una partición secundaria, debe establecer los miembros SourcePortId y SourceNicIndex para especificar qué partición es para la solicitud OID de descarga de hardware encapsulada.

    • El miembro OidRequest debe establecerse en un puntero a una estructura de NDIS_OID_REQUEST inicializada para la solicitud OID encapsulada.

  3. La extensión llama a NdisFOidRequest para reenviar la solicitud OID al puerto de conmutador extensible de destino y al adaptador de red especificados.

  4. Cuando NDIS llama a la función FilterOidRequestComplete , la extensión llama a DereferenceSwitchNic para borrar el contador de referencia para el índice del adaptador de red físico de destino.

Códigos de estado de devolución

El borde miniporte subyacente del conmutador extensible completa la solicitud de consulta OID de OID_SWITCH_NIC_REQUEST y devuelve uno de los siguientes códigos de estado.

Código de estado Descripción

NDIS_STATUS_SUCCESS

La solicitud OID se completó correctamente.

NDIS_STATUS_Xxx

Error en la solicitud por otros motivos.

Requisitos

Versión

Compatible con NDIS 6.30 y versiones posteriores.

Encabezado

Ntddndis.h (include Ndis.h)

Consulte también


NDIS_STATUS_INDICATION

NDIS_SWITCH_NIC_OID_REQUEST