Creación estática de un conmutador NIC
Un adaptador de red que admita la virtualización de E/S raíz única (SR-IOV) debe poder crear un conmutador NIC. Para algunos adaptadores, el conmutador NIC se puede crear estáticamente en el contexto de la llamada a MiniportInitializeEx.
Solo el controlador de minipuerto para la función física PCI Express (PCIe) del adaptador SR-IOV puede crear un conmutador NIC en el adaptador.
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.
Los parámetros del conmutador NIC predeterminado se definen mediante la configuración de palabras clave estandarizadas en el Registro. Para obtener más información sobre estas palabras clave, vea Palabras clave INF estandarizadas para SR-IOV.
El controlador de miniporte PF crea estáticamente el conmutador NIC cuando NDIS llama a la función MiniportInitializeEx del controlador. Normalmente, el controlador crea y configura el conmutador NIC como parte de su secuencia de inicialización antes de habilitar SR-IOV en el adaptador de red.
El controlador de minipuerto PF sigue estos pasos cuando crea estáticamente el conmutador NIC y habilita SR-IOV en el adaptador de red en el contexto de la llamada a MiniportInitializeEx:
El controlador de minipuerto PF debe leer las palabras clave estandarizadas sr-IOV para determinar si SR-IOV está habilitado y obtener los parámetros de configuración del conmutador NIC.
Nota Si el controlador de miniporte PF registró un punto de entrada en una función MiniportSetOptions , el controlador puede haber obtenido previamente estos parámetros del registro cuando NDIS llamó a MiniportSetOptions.
Si SR-IOV está habilitado, el controlador de miniporte PF configura el adaptador de red con los parámetros del conmutador NIC del registro. El controlador debe comprobar que los parámetros son válidos antes de configurar el adaptador de red. Por ejemplo, el controlador de miniporte debe comprobar que el número máximo de funciones virtuales pcIe asignadas al conmutador NIC no supera el número de máquinas virtuales compatibles con el adaptador de red.
El controlador de minipuerto llama a NdisMEnableVirtualization para habilitar SR-IOV y establecer el número de máquinas virtuales en el adaptador de red. Esta función configura la funcionalidad extendida SR-IOV en el espacio de configuración PCI del adaptador. Si esta función devuelve NDIS_STATUS_SUCCESS, SR-IOV está habilitado y las máquinas virtuales se exponen a través de la interfaz PCIe.
Nota Si el controlador de miniporte PF crea estáticamente el conmutador NIC, el modificador no se puede usar hasta que NDIS emite una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_CREATE_SWITCH. Si el controlador de miniporte PF creó estáticamente el conmutador NIC, debe comprobar que los parámetros del conmutador se especifican en la solicitud OID. Estos parámetros, como se encuentran en la estructura de NDIS_NIC_SWITCH_PARAMETERS asociada a la solicitud OID, deben ser idénticos a los parámetros que el controlador usó para crear el modificador.
Para obtener más información sobre cómo controlar la solicitud de OID_NIC_SWITCH_CREATE_SWITCH , consulte Control de la solicitud de OID_NIC_SWITCH_CREATE_SWITCH.
Para obtener más información sobre la secuencia de inicialización y los requisitos de los controladores de minipuerto PF, consulte Inicialización de un controlador de minipuerto PF.