Compartir a través de


OID_SWITCH_NIC_CREATE

El borde del protocolo del Hyper-V conmutador extensible 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 por completo, 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 portId miembro de la estructura de 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 index miembro 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 especificado Index 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 OID_SWITCH_NIC_CREATE solo notifica a la extensión que se abre una nueva conexión de conmutador extensible y que el tráfico de paquetes puede empezar a producirse pronto 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 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.

    • Reenviar o originar indicaciones de estado NDIS de NDIS_STATUS_SWITCH_NIC_STATUS desde 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 del adaptador de red especificada en el puerto de conmutador extensible.

    Nota La extensión puede interceptar el envío o recibir paquetes 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 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 de NDIS_STATUS_Xxx, la notificación de creación también se veta. 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 veta 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 de OID si el index miembro de la estructura de NDIS_SWITCH_NIC_PARAMETERS especifica un valor de índice de adaptador de red de cero.

  • Si la extensión no veta la notificación de creación, debe llamar a NdisFOidRequest para reenviar esta solicitud OID a 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 de controladores 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 del 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 extensible y las conexiones del adaptador de red, consulte Hyper-V Los estados del adaptador de red y el puerto de conmutador extensible.

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

Códigos de estado de retorno

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 ha vetado la notificación de creación debido a una condición de recurso baja.

NDIS_STATUS_xxx

La extensión ha vetado 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 de minipuerto 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