Compartir a través de


Enumeración de puertos virtuales en un adaptador de red

Una aplicación de usuario o controlador de exceso puede obtener una lista de todos los puertos virtuales (VPorts) en un conmutador NIC de un adaptador de red que admita la virtualización de E/S raíz única (SR-IOV). El controlador o la aplicación emite una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_ENUM_VPORTS para obtener esta lista.

Después de una devolución correcta de esta solicitud de consulta de OID, el miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a un búfer que contiene lo siguiente:

Antes de que la aplicación de usuario o controlador sobreaplicación emite la solicitud de OID_NIC_SWITCH_ENUM_VPORTS , debe inicializar una estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY que se pasa junto con la solicitud. El controlador o la aplicación deben seguir estas directrices al inicializar la estructura de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY :

  • Si la marca de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH se establece en el miembro Flags , se devuelve información para todas las VPorts creadas en un conmutador NIC especificado. El modificador de NIC se especifica mediante el miembro SwitchId de esa estructura.

    Nota A partir de Windows Server 2012, la interfaz SR-IOV solo admite un conmutador NIC en el adaptador de red. Este modificador se conoce como el conmutador NIC predeterminado y el identificador de NDIS_DEFAULT_SWITCH_ID hace referencia a este. Independientemente de las marcas establecidas en el miembro Flags , el miembro SwitchId debe establecerse en NDIS_DEFAULT_SWITCH_ID.

  • Si la marca de NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION se establece en el miembro Flags , se devuelve información para todas las VPorts conectadas a una función física (PF) o función física (PF) de PCI Express (PCIe) especificada en el adaptador de red. El miembro AttachedFunctionId de esa estructura especifica el PF o VF.

    Si el miembro AttachedFunctionId se establece en NDIS_PF_FUNCTION_ID, se devuelve información para todas las VPorts. Esto incluye el VPort predeterminado que está asociado al PF. Si el miembro AttachedFunctionId se establece en un identificador VF válido, se devuelve información para todas las VPorts asociadas al VF especificado.

    Nota A partir de Windows Server 2012, solo se puede asociar una VPort no predeterminada a una VF. Sin embargo, se pueden conectar varias VPorts (incluida la VPort predeterminada) al PF.

  • Si el miembro Flags está establecido en cero, se devuelve información para todas las VPort conectadas al PF o VF en el adaptador de red. En este caso, se omiten los valores de SwitchId y AttachedFunctionId .

NDIS controla la solicitud de OID_NIC_SWITCH_ENUM_VPORTS para los controladores de minipuerto. NDIS devuelve la información de una memoria caché interna de los datos que mantiene al inspeccionar los siguientes orígenes: