Partilhar via


Eliminar um comutador NIC

Um adaptador de rede que ofereça suporte à virtualização de E/S de raiz única (SR-IOV) deve ser capaz de excluir um comutador NIC. Somente o driver de miniporta para a função física (PF) PCI Express (PCIe) do adaptador SR-IOV pode remover um comutador NIC no adaptador.

Observação A partir do NDIS 6.30 no Windows Server 2012, a interface SR-IOV suporta apenas um comutador NIC no adaptador de rede. Essa opção é conhecida como a opção NIC padrão e é referenciada pelo identificador NDIS_DEFAULT_SWITCH_ID.

Antes de interromper o driver de miniporta PF, o NDIS exclui o switch NIC ao emitir um pedido de definição do identificador de objeto (OID) OID_NIC_SWITCH_DELETE_SWITCH. O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS que especifica o identificador do switch a ser excluído.

O NDIS impõe as seguintes políticas antes de emitir a solicitação de conjunto OID de OID_NIC_SWITCH_DELETE_SWITCH para o driver de miniporta PF:

  • O NDIS garante que todos os filtros de receção tenham sido removidos das portas virtuais padrão e não padrão (VPorts) no comutador NIC. Os filtros de recebimento são limpos por meio de uma solicitação de ajuste OID de OID_RECEIVE_FILTER_CLEAR_FILTER.

  • O NDIS garante que todas as portas virtuais não padrão (VPorts) criadas no switch foram excluídas anteriormente. VPorts são eliminados através de um pedido de configuração de OID para OID_NIC_SWITCH_DELETE_VPORT.

  • O NDIS garante que todos os recursos para PCIe Virtual Functions (VFs) conectados ao switch NIC foram liberados anteriormente. Os VFs são liberados por meio de um pedido de definição de OID de OID_NIC_SWITCH_FREE_VF.

Quando recebe a solicitação de método OID de OID_NIC_SWITCH_DELETE_SWITCH, o driver de miniporta PF deve fazer o seguinte:

  1. Se o driver de miniporta PF suportar a criação estática e a configuração de switches NIC, ele deverá liberar os recursos de software associados ao switch NIC especificado. No entanto, o driver só pode liberar os recursos de hardware para o switch NIC quando MiniportHaltEx é chamado.

    Para obter mais informações sobre a criação de comutador NIC estático, consulte criação estática de um comutador NIC.

  2. Se o driver de miniporta PF suportar a criação dinâmica e a configuração de switches NIC, ele deverá liberar os recursos de hardware e software associados ao switch NIC especificado.

    Para obter mais informações sobre a criação de comutadores NIC dinâmicos, consulte criação dinâmica de um comutador NIC.

  3. Se o driver de miniporta PF suportar a criação dinâmica de comutadores NIC e todos os comutadores NIC tiverem sido eliminados no adaptador de rede, o driver deverá desactivar a virtualização no adaptador chamando NdisMEnableVirtualization. Para desabilitar a virtualização, o adaptador de rede deve definir o parâmetro EnableVirtualization como FALSE e o parâmetro NumVFs como zero.

    NdisMEnableVirtualization limpa o membro NumVFs e o bit VF Enable na estrutura SR-IOV Extended Capability no espaço de configuração PCIe do PF do adaptador de rede.

    Observação Se o driver de miniporta PF oferecer suporte à criação estática e configuração de switches NIC, deve chamar NdisMEnableVirtualization apenas quando MiniportHaltEx for chamado.