Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un controlador 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 de un adaptador de red. Esta solicitud de método OID también asocia el VPort creado 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 miniport para el PF del adaptador de red. Esta solicitud de método OID es necesaria para los controladores de miniport 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 sobrescalación 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 se emite el controlador de miniporte PF, 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 miniport 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 miniport pf y el controlador de sobrescalación deben conservar el VPortId valor de VPort no predeterminado para las operaciones sucesivas. El valor de VPortId se usa durante estas operaciones:
NDIS y los controladores demasiado excesivos usan el valor de VPortId de 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 de 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 miniport pf especifica el VPortId valor 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 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 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 adjunta automáticamente la VPort predeterminada al PF del adaptador de red.
Códigos de estado de retorno
NDIS o el controlador de miniport 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 OID se completó correctamente. |
NDIS_STATUS_NOT_SUPPORTED |
El controlador de miniport 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 el DATA. METHOD_INFORMATION. BytesNeeded miembro 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 |
Compatible con NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (include Ndis.h) |