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.
En este tema se describen las directrices para escribir una función MiniportInitializeEx para el controlador de miniporte de la función física PCI Express (PCIe) (PF). PF es un componente de un adaptador de red que admite la virtualización de entrada/salida de raíz única (SR-IOV).
Nota Estas guías solo se aplican a controladores de miniport PF. Para obtener instrucciones de inicialización para el controlador de miniporte de una función virtual PCIe (VF) del adaptador, consulte inicialización de un controlador de miniporte VF.
El controlador de miniport PF sigue los mismos procedimientos que cualquier controlador de miniport NDIS cuando ejecuta su función MiniportInitializeEx. Para obtener más información sobre estos pasos, consulte Inicialización de un controlador de miniport.
Además de estos pasos, el controlador de miniport PF debe seguir pasos adicionales cuando NDIS llama a la función MiniportInitializeEx del controlador:
El controlador de miniport PF llama a la función NdisGetHypervisorInfo para comprobar que se ejecuta en la partición primaria de Hyper-V. Esta función devuelve una estructura NDIS_HYPERVISOR_INFO que define el tipo de partición. Si el tipo de partición se notifica como NdisHypervisorPartitionMsHvParent, el controlador de miniport se ejecuta en la partición primaria Hyper-V que está asociada al PF en el adaptador.
Nota Si el tipo de partición se notifica como NdisHypervisorPartitionMsHvChild, el controlador de miniport se ejecuta en la partición secundaria Hyper-V que está conectada a un VF en el adaptador. En este caso, el controlador de miniporte no debe inicializarse como controlador PF. Si es posible, el controlador debe inicializarse como un controlador VF como se describe en Inicialización de un controlador de miniporte VF.
El controlador de miniporte PF debe leer las palabras clave estandarizadas SR-IOV para determinar si SR-IOV está habilitado y obtener la configuración del conmutador NIC. Para obtener más información sobre estas palabras clave, vea Palabras clave INF estandarizadas para SR-IOV.
Nota Si el controlador de miniporte PF registró un punto de entrada en una función MiniportSetOptions , es posible que el controlador haya obtenido previamente esta configuración del registro cuando NDIS llamó a MiniportSetOptions.
Si el adaptador de red admite SR-IOV, la cola de máquinas virtuales (VMQ) o RSS, el controlador de miniport debe determinar qué característica habilitar en el adaptador de red. Para obtener más información sobre cómo determinar esto, consulte Control de palabras clave INF estandarizadas de SR-IOV, VMQ y RSS.
Junto con las funcionalidades de hardware RSS y VMQ (si se admite), el controlador de miniport debe notificar su conjunto completo de funcionalidades de hardware SR-IOV. Estas capacidades deben publicitarse independientemente de la configuración de palabras clave estandarizadas SR-IOV en el registro.
Si SR-IOV está habilitado en el adaptador de red, el controlador de minipuerto también debe notificar la configuración de SR-IOV actualmente habilitada en el adaptador.
Para obtener más información sobre la creación de informes de las funcionalidades de SR-IOV, consulte Determinación de las funcionalidades de SR-IOV.
El controlador de minipuerto debe informar de su conjunto completo de funcionalidades de conmutador de NIC de hardware. Estas funcionalidades deben anunciarse independientemente de la SR-IOV configuración de palabras clave estandarizadas en el Registro.
Si SR-IOV está habilitado en el adaptador de red, el controlador de minipuerto también debe notificar la configuración del conmutador NIC actualmente habilitado en el adaptador.
Para obtener más información sobre cómo notificar las funcionalidades del conmutador de NIC, consulte Determinar las funcionalidades del conmutador NIC.
El controlador de minipuerto debe notificar su conjunto completo de funcionalidades de filtrado de recepción de hardware. Estas funcionalidades deben anunciarse independientemente de la SR-IOV configuración de palabras clave estandarizadas en el Registro.
Si SR-IOV está habilitado en el adaptador de red, el controlador de miniport también debe notificar la configuración de filtrado de recepción actualmente habilitada en el adaptador.
Para obtener más información sobre cómo notificar las funcionalidades de filtrado de recepción, vea Determinar las funcionalidades de filtrado de recepción.
Si el controlador de miniporte admite la creación de conmutadores NIC estáticos, debe hacer lo siguiente en el contexto de la llamada a MiniportInitializeEx.
El controlador configura el hardware del adaptador en función de la configuración de palabras clave estandarizadas del conmutador NIC. En función de esta configuración, el controlador asigna los recursos de hardware y software necesarios para el conmutador NIC.
El controlador de miniporta 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 funciones virtuales se exponen a través de la interfaz PCIe.
Para obtener más información, vea creación estática de un conmutador NIC.
Nota Si el controlador de miniporte admite la creación de conmutadores NIC dinámicos, crea el conmutador y habilita la virtualización cuando controla una solicitud de método de identificador de objeto (OID) de OID_NIC_SWITCH_CREATE_SWITCH. Para obtener más información, consulte creación dinámica de un conmutador NIC.