OID_NIC_SWITCH_CREATE_VPORT
Un controlador demasiado excesivo emite una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_CREATE_VPORT para crear un puerto virtual no predeterminado (VPort) en el conmutador NIC del adaptador de red. Esta solicitud de método OID también asocia la VPort creada a la función física PCI Express (PCIe) del adaptador de red (PF) o a una función virtual PCIe (VF) asignada previamente.
Los controladores excesivos emiten esta solicitud de método OID al controlador de minipuerto para el PF del adaptador de red. Esta solicitud de método OID es necesaria para los controladores de minipuerto PF que admiten la interfaz de virtualización de E/S raíz única (SR-IOV).
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a la estructura NDIS_NIC_SWITCH_VPORT_PARAMETERS .
Observaciones
El controlador de sobreaprovisionamiento inicializa la estructura de NDIS_NIC_SWITCH_VPORT_PARAMETERS con la información de configuración sobre el VPort no predeterminado que se va a crear. La información de configuración incluye la función PCIe a la que se adjunta el VPort no predeterminado y el número de pares de cola para el VPort no predeterminado.
Cuando el controlador de minipuerto PF emite la solicitud OID, el controlador asigna los recursos de hardware y software asociados con el VPort no predeterminado especificado. Una vez asignados correctamente todos los recursos, el controlador de miniporte PF completa correctamente el OID devolviendo NDIS_STATUS_SUCCESS de MiniportOidRequest.
Si la solicitud de OID_NIC_SWITCH_CREATE_VPORT se completa correctamente, el controlador de minipuerto PF y el controlador de sobreaplicación deben conservar el valor VPortId del VPort no predeterminado para las operaciones sucesivas. El valor VPortId se usa durante estas operaciones:
NDIS y los controladores de sobrescalación usan el valor VPortId para identificar el VPort no predeterminado en solicitudes de OID sucesivas relacionadas con este VPort, como OID_NIC_SWITCH_VPORT_PARAMETERS y OID_NIC_SWITCH_DELETE_VPORT.
Durante las operaciones de envío, NDIS especifica el valor VPortId para identificar el VPort desde el que se envió un paquete. Este valor se especifica dentro de los datos fuera de banda (OOB) NDIS_NET_BUFFER_LIST_FILTERING_INFO de la estructura NET_BUFFER_LIST .
Durante las operaciones de recepción, el controlador de minipuerto PF especifica el valor VPortId al que se va a reenviar un paquete. Este valor también se especifica en los datos de OOB NDIS_NET_BUFFER_LIST_FILTERING_INFO de la estructura de NET_BUFFER_LIST .
Para obtener más información, consulte Creación de un puerto virtual.
Nota El VPort predeterminado siempre existe y no se crea a través de una solicitud de OID de OID_NIC_SWITCH_CREATE_VPORT. El VPort predeterminado tiene un identificador de NDIS_DEFAULT_VPORT_ID. Cuando el controlador de minipuerto PF crea un conmutador NIC, el controlador conecta automáticamente el VPort predeterminado al PF del adaptador de red.
Códigos de estado de devolución
NDIS o el controlador de minipuerto PF devuelve uno de los siguientes códigos de estado para la solicitud de método OID de OID_NIC_SWITCH_CREATE_SWITCH.
Código de estado | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La solicitud de OID se completó correctamente. |
NDIS_STATUS_NOT_SUPPORTED |
El controlador de minipuerto PF no admite la interfaz SR-IOV o no está habilitado para usar la interfaz . |
NDIS_STATUS_INVALID_PARAMETER |
Uno o varios de los miembros de la estructura NDIS_NIC_SWITCH_VPORT_PARAMETERS tienen valores no válidos. |
NDIS_STATUS_INVALID_LENGTH |
La longitud del búfer de información es menor que sizeof(NDIS_NIC_SWITCH_VPORT_PARAMETERS). El controlador de minipuerto PF debe establecer data . METHOD_INFORMATION. Miembro BytesNeeded de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario. |
NDIS_STATUS_FAILURE |
Error en la solicitud por otros motivos. |
Requisitos
Versión |
Se admite en NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (incluye Ndis.h) |