Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico descreve as diretrizes para escrever uma função MiniportInitializeEx para o driver de miniporto da Função Física PCI Express (PCIe) (PF). O PF é um componente de um adaptador de rede que dá suporte à virtualização de E/S raiz única (SR-IOV).
Observação Essas diretrizes se aplicam somente a drivers de miniporta PF. Para obter diretrizes de inicialização para o driver de miniporta de uma Função Virtual PCIe (VF) do adaptador, consulte Inicializar um driver de miniporta VF.
O driver de miniporto PF segue as mesmas etapas que qualquer driver de miniporto NDIS quando sua função MiniportInitializeEx é iniciada. Para obter mais informações sobre essas etapas, consulte Inicializando um Miniport Driver.
Além dessas etapas, o driver de miniporto PF deve seguir estas etapas adicionais quando o NDIS chama a função MiniportInitializeEx do driver:
O driver de miniporto PF chama a função NdisGetHypervisorInfo para verificar se ela está em execução na partição pai Hyper-V. Essa função retorna uma estrutura NDIS_HYPERVISOR_INFO que define o tipo de partição. Se o tipo de partição for relatado como NdisHypervisorPartitionMsHvParent, o driver de miniporto estará em execução na partição pai Hyper-V anexada ao PF no adaptador.
Nota Se o tipo de partição for relatado como NdisHypervisorPartitionMsHvChild, o driver de miniporto estará em execução na partição filho Hyper-V anexada a um VF no adaptador. Nesse caso, o driver de miniporto não deve ser inicializado como um driver PF. Se possível, o driver deve ser inicializado como um driver VF, conforme descrito na inicialização de um driver de miniporto VF.
O driver de miniporta PF deve ler as palavras-chave padronizadas SR-IOV para determinar se SR-IOV está habilitado e obter as configurações do comutador NIC. Para obter mais informações sobre essas palavras-chave, consulte Palavras-chave INF padronizadas paraSR-IOV.
Nota Se o driver de miniporto PF registrou um ponto de entrada para uma função, MiniportSetOptions, o driver pode ter obtido essas configurações anteriormente do registro quando o NDIS chamou MiniportSetOptions.
Se o adaptador de rede der suporte a SR-IOV, VMQ (fila de máquina virtual) ou RSS, o driver de miniporto deverá determinar qual recurso habilitar no adaptador de rede. Para obter mais informações sobre como determinar isso, consulte Como lidar com palavras-chave SR-IOV, VMQ e RSS Standardized INF.
Juntamente com as funcionalidades de hardware do RSS e do VMQ (se houver suporte), o driver de miniporto deve relatar seu conjunto completo de recursos de hardware SR-IOV. Esses recursos devem ser anunciados independentemente das configurações padronizadas de palavra-chave SR-IOV no registro.
Se SR-IOV estiver habilitado no adaptador de rede, o driver de miniporto também deverá relatar as configurações de SR-IOV atualmente habilitadas no adaptador.
Para obter mais informações sobre como relatar os recursos de SR-IOV, consulte Determining SR-IOV Capabilities.
O driver de miniporto deve informar suas capacidades completas da chave de hardware NIC. Esses recursos devem ser anunciados independentemente das configurações padronizadas de palavra-chave no registro SR-IOV.
Se SR-IOV estiver habilitado no adaptador de rede, o driver de miniporto também deverá relatar as configurações de interruptor NIC já habilitadas no adaptador.
Para obter mais informações sobre como relatar as capacidades de comutação do NIC, consulte Determining NIC Switch Capabilities.
O driver de miniporto deve informar seu conjunto completo de capacidades de filtragem de hardware para recebimento. Essas capacidades devem ser anunciadas independentemente das definições padronizadas de palavra-chave SR-IOV no Registro.
Se SR-IOV estiver habilitado no adaptador de rede, o driver de miniporto também deverá relatar as configurações de filtragem de recebimento atualmente habilitadas no adaptador.
Para obter mais informações sobre como relatar os recursos de filtragem de recebimento, consulte Determining Receive Filtering Capabilities.
Se o driver de miniporto der suporte à criação de comutador NIC estático, ele deverá fazer o seguinte no contexto da chamada para MiniportInitializeEx.
O driver configura o hardware do adaptador com base nas configurações de palavra-chave padronizadas do comutador NIC. Com base nessas configurações, o driver aloca os recursos de hardware e software necessários para a opção NIC.
O driver de miniporto chama NdisMEnableVirtualization para habilitar SR-IOV e definir o número de VFs no adaptador de rede. Essa função configura a Capacidade Estendida SR-IOV no espaço de configuração PCI do adaptador. Se essa função retornar NDIS_STATUS_SUCCESS, SR-IOV estará habilitada e os VFs serão expostos pela interface PCIe.
Para obter mais informações, consulte criação estática de umde comutador NIC.
Nota Se o driver de miniporto der suporte à criação dinâmica de comutador NIC, ele criará o comutador e habilitará a virtualização ao manipular uma solicitação de método OID (identificador de objeto) de OID_NIC_SWITCH_CREATE_SWITCH. Para obter mais informações, consulte Criação dinâmica de umde comutador NIC.