Establecer los parámetros de un conmutador NIC
Un controlador de sobreaprovisionamiento puede cambiar los parámetros de un conmutador NIC que se ha creado en un adaptador de red que admita la virtualización de E/S raíz única (SR-IOV). El controlador emite una solicitud de conjunto de identificador de objeto (OID) de OID_NIC_SWITCH_PARAMETERS para cambiar estos parámetros. Solo el controlador de minipuerto para la función física PCI Express (PCIe) del adaptador SR-IOV controla esta solicitud de conjunto de OID.
Antes de que el controlador sobrealice esta solicitud de conjunto de OID, debe inicializar una estructura de NDIS_NIC_SWITCH_PARAMETERS con los parámetros que se van a cambiar en el conmutador NIC. A continuación, el controlador inicializa una estructura de NDIS_OID_REQUEST para la solicitud OID y establece el miembro InformationBuffer en un puntero de la estructura NDIS_NIC_SWITCH_PARAMETERS .
Solo se puede cambiar un subconjunto limitado de parámetros de configuración para un conmutador NIC. El controlador de sobreslización especifica el parámetro que se va a cambiar estableciendo los siguientes miembros de la estructura NDIS_NIC_SWITCH_PARAMETERS :
El miembro SwitchId se establece en el identificador del conmutador NIC cuyos parámetros se cambiarán.
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. El miembro SwitchId debe establecerse en NDIS_DEFAULT_SWITCH_ID.
Las marcas NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED adecuadas se establecen en el miembro Flags . Los miembros de la estructura NDIS_NIC_SWITCH_PARAMETERS solo se pueden cambiar si se define una marca NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED correspondiente en Ntddndis.h.
Los miembros de la estructura NDIS_NIC_SWITCH_PARAMETERS , que corresponden a las marcas NDIS_NIC_SWITCH_PARAMETERS_Xxx_CHANGED establecidas en el miembro Flags , se establecen con los parámetros de configuración del conmutador NIC que se van a cambiar.
Nota A partir de Windows Server 2012, solo se puede cambiar el miembro SwitchName de la estructura NDIS_NIC_SWITCH_PARAMETERS a través de una solicitud de conjunto de OID de OID_NIC_SWITCH_PARAMETERS.
El controlador de minipuerto PF debe seguir estas directrices cuando recibe la solicitud de conjunto de OID de OID_NIC_SWITCH_PARAMETERS
Si el controlador de minipuerto PF puede aplicar los cambios sin necesidad de reinicialización del adaptador de red, el controlador aplica los cambios en el hardware y completa la solicitud de OID con NDIS_STATUS_SUCCESS.
Si se devuelve este código de estado, NDIS actualiza la información de configuración del conmutador NIC en el Registro.
Si el controlador de minipuerto PF requiere una reinicialización del adaptador de red para aplicar los cambios, el controlador completa la solicitud OID con NDIS_STATUS_REINIT_REQUIRED.
Si se devuelve este código de estado, NDIS también actualiza la información de configuración del conmutador NIC en el registro. Sin embargo, el controlador que emitió la solicitud del conjunto de OID debe reinicializar el adaptador de red para que los cambios puedan surtir efecto.
Nota Los controladores de minipuerto PF que admiten la creación y configuración de NIC estáticas pueden devolver NDIS_STATUS_REINIT_REQUIRED para asegurarse de que el adaptador se reinicializa para que los nuevos parámetros surtan efecto.
Si el controlador de minipuerto PF no puede aplicar los cambios solicitados en el OID, debe producir un error en el OID y devolver el código NDIS_STATUS_Xxx adecuado.
En este caso, NDIS no actualiza la información de configuración del conmutador NIC en el registro.