OID_SWITCH_NIC_CREATE

El borde del protocolo del conmutador extensible de Hyper-V emite una solicitud de conjunto de identificador de objeto (OID) de OID_SWITCH_NIC_CREATE para notificar a las extensiones de conmutador extensible subyacentes que se establece una nueva conexión entre un puerto de conmutador extensible y un adaptador de red externo o virtual. Una vez establecida la conexión, el borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID de OID_SWITCH_NIC_CONNECT.

El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_SWITCH_NIC_PARAMETERS .

Observaciones

El miembro PortId de la estructura NDIS_SWITCH_NIC_PARAMETERS especifica el puerto de conmutador extensible para el que se realiza la notificación de creación. La extensión de conmutador extensible puede obtener la información de parámetro para este y otros puertos en el conmutador extensible mediante la emisión de solicitudes de consulta OID de OID_SWITCH_PORT_ARRAY.

El miembro Index de la estructura NDIS_SWITCH_NIC_PARAMETERS especifica el índice de un adaptador de red para el que se realiza la notificación de creación. El adaptador de red con el valor index especificado está conectado al puerto de conmutador extensible especificado por el miembro PortId . Para obtener más información sobre estos valores de índice, vea Valores de índice del adaptador de red.

Cuando recibe la solicitud de conjunto de OID de OID_SWITCH_NIC_CREATE, la extensión debe seguir estas directrices:

  • La extensión no debe modificar la estructura NDIS_SWITCH_NIC_PARAMETERS asociada a la solicitud OID.

  • La solicitud de OID_SWITCH_NIC_CREATE solo notifica a la extensión que se está produciendo una nueva conexión de conmutador extensible y que el tráfico de paquetes pronto puede comenzar a producirse a través del puerto especificado. Sin embargo, la extensión no puede usar el puerto hasta que el borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID de OID_SWITCH_NIC_CONNECT. Hasta que se emita ese OID, la extensión no debe hacer lo siguiente:

    • Genere cualquier tráfico de paquetes a la conexión del adaptador de red en el puerto de conmutador extensible para el que se emitió la solicitud de OID de OID_SWITCH_NIC_CREATE.

    • Reenviar o originar solicitudes de OID de OID_SWITCH_NIC_REQUEST a un adaptador de red subyacente para el que se emitió la solicitud de OID de OID_SWITCH_NIC_CREATE.

    • Reenvío o origina indicaciones de estado NDIS de NDIS_STATUS_SWITCH_NIC_STATUS de un adaptador de red subyacente para el que se emitió la solicitud de OID de OID_SWITCH_NIC_CREATE.

    • Llame a ReferenceSwitchNic para incrementar el contador de referencia de conmutador extensible para la conexión de adaptador de red especificada en el puerto de conmutador extensible.

    Nota La extensión puede interceptar paquetes de envío o recepción para el puerto especificado entre las solicitudes OID de OID_SWITCH_NIC_CREATE y OID_SWITCH_NIC_CONNECT. En este caso, la extensión debe reenviar las solicitudes de envío o recibir paquetes en lugar de cancelarlas.

  • La extensión puede vetar la notificación de creación devolviendo NDIS_STATUS_DATA_NOT_ACCEPTED para la solicitud de OID. Por ejemplo, si una extensión no puede satisfacer sus directivas configuradas en el puerto especificado, la extensión debe vetar la notificación de creación.

    Si la extensión devuelve otros códigos de estado NDIS_STATUS_Xxx , también se veta la notificación de creación. Sin embargo, devolver códigos de estado para escenarios transitorios, como devolver NDIS_STATUS_RESOURCES, podría dar lugar a un reintento de la notificación de creación.

    Si la extensión no ve la solicitud de OID, debe supervisar el estado cuando se complete la solicitud. La extensión debe hacerlo para determinar si la solicitud OID fue vetado por extensiones subyacentes en la ruta de acceso de control de conmutador extensible o por la interfaz de conmutador extensible.

    Nota La extensión solo puede vetar la solicitud OID si el miembro Index de la estructura NDIS_SWITCH_NIC_PARAMETERS especifica un valor de índice del adaptador de red de cero.

  • Si la extensión no ve la notificación de creación, debe llamar a NdisFOidRequest para reenviar esta solicitud de OID a las extensiones subyacentes en la pila de controladores de conmutador extensible.

    Nota La extensión debe supervisar el estado de finalización de esta solicitud de OID. La extensión lo hace para detectar si las extensiones subyacentes de la pila del controlador de conmutador extensible han vetado la notificación de creación.

  • Si la extensión llama a NdisFOidRequest para reenviar esta solicitud de OID, la extensión no recibirá inmediatamente ningún tráfico de paquetes hacia o desde el puerto de conmutador extensible. Además, la extensión no puede insertar inmediatamente el tráfico de envío o recepción del puerto de conmutador extensible.

  • La extensión solo puede reenviar el tráfico de paquetes al puerto de conmutador extensible después de que el borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID de OID_SWITCH_NIC_CONNECT.

    Nota En algunas situaciones, el conmutador extensible puede reenviar el tráfico de paquetes al puerto antes de que se emita una solicitud de conjunto de OID de OID_SWITCH_NIC_CONNECT .

  • El adaptador de red externo de conmutador extensible puede enlazarse a uno o varios adaptadores físicos subyacentes. Para cada adaptador de red físico enlazado al adaptador de red externo, el borde del protocolo del conmutador extensible emite una solicitud de conjunto de OID independiente de OID_SWITCH_NIC_CREATE. Cada solicitud de conjunto de OID especifica un valor de índice de conexión de adaptador de red diferente. Para obtener más información sobre estos valores de índice, vea Valores de índice del adaptador de red.

    La extensión debe mantener el estado de conexión para cada adaptador físico subyacente. Para obtener más información sobre las distintas configuraciones en las que los adaptadores de red físicos se pueden enlazar al adaptador de red externo, consulte Tipos de configuraciones de adaptadores de red físicos.

Para obtener más información sobre los estados de los puertos de conmutador extensibles y las conexiones de adaptador de red, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.

Nota La extensión no debe emitir sus propias solicitudes de conjunto de OID de OID_SWITCH_NIC_CREATE.

Códigos de estado de devolución

Si la extensión completa la solicitud de conjunto de OID de OID_SWITCH_NIC_CREATE, devuelve uno de los siguientes códigos de estado.

Código de estado Descripción

NDIS_STATUS_DATA_NOT_ACCEPTED

La extensión vetó la notificación de creación.

NDIS_STATUS_RESOURCES

La extensión vetó la notificación de creación debido a una condición de recurso baja.

NDIS_STATUS_Xxx

La extensión vetó la notificación de creación por otros motivos.

Nota Si la extensión completa la solicitud de conjunto de OID, no debe devolver NDIS_STATUS_SUCCESS.

Si la extensión no completa la solicitud de conjunto de OID de OID_SWITCH_NIC_CREATE, la solicitud se completa mediante el borde miniporte subyacente del conmutador extensible. El borde de minipuerto subyacente devuelve el código de estado siguiente para esta solicitud de conjunto de OID:

Código de estado Descripción

NDIS_STATUS_SUCCESS

La solicitud OID se completó correctamente.

Requisitos

Versión

Compatible con NDIS 6.30 y versiones posteriores.

Encabezado

Ntddndis.h (include Ndis.h)

Consulte también


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort