Partilhar via


Determinação das capacidades SR-IOV

Este tópico descreve como o NDIS e os drivers sobrepostos determinam os recursos de virtualização de E/S de raiz única (SR-IOV) de um adaptador de rede. Este tópico contém as seguintes informações:

Capacidades de relatório SR-IOV durante MiniportInitializeEx

Consultando capacidades de SR-IOV por drivers adicionais

Relato das capacidades SR-IOV durante a inicialização de miniportes em MiniportInitializeEx

Quando o NDIS chama a função MiniportInitializeEx de do driver de miniporta, o driver fornece as seguintes capacidades SR-IOV:

  • O conjunto completo de recursos de hardware SR-IOV que o adaptador de rede pode suportar.

  • Os recursos de SR-IOV que estão atualmente habilitados no adaptador de rede.

  • Se o driver da miniporta está gerenciando a função física (PF) ou a função virtual (VF) PCI Express (PCIe) no adaptador de rede.

O miniport driver reporta as capacidades de hardware SR-IOV do adaptador de rede subjacente por meio de uma estrutura NDIS_SRIOV_CAPABILITIES inicializada da seguinte maneira:

  1. O driver de miniport inicializa o membro do Header . O driver define o Tipo membro de de Cabeçalho como NDIS_OBJECT_TYPE_DEFAULT.

    A partir do NDIS 6.30, o driver de miniporta define o membro de Revisão de de de Cabeçalho para NDIS_SRIOV_CAPABILITIES _REVISION_1 e o membro de Tamanho para NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1.

  2. O driver de miniporta define os sinalizadores apropriados no SriovCapabilities membro para relatar SR-IOV capacidades.

    Se o adaptador de rede suportar SR-IOV, o driver de miniporta para a função física PCI Express (PCIe) do adaptador deve definir os seguintes sinalizadores:

    • NDIS_SRIOV_CAPS_SRIOV_SUPPORTED

    • NDIS_SRIOV_CAPS_PF_MINIPORT

    Observação

     O driver de miniporta para uma função virtual PCIe (VF) do adaptador de rede deve definir o sinalizador NDIS_SRIOV_CAPS_VF_MINIPORT e o sinalizador NDIS_SRIOV_CAPS_SRIOV_SUPPORTED.  

Quando o NDIS chama a função MiniportInitializeEx do driver de miniporta , o driver regista as capacidades do adaptador de rede SR-IOV seguindo estas etapas:

  1. O miniport driver inicializa uma estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

    O driver de miniporta define o membro HardwareSriovCapabilities como um ponteiro para a estrutura NDIS_SRIOV_CAPABILITIES, previamente inicializada.

    Se a configuração do Registro para a palavra-chave *SRIOV INF tiver um valor de um, os recursos de SR-IOV estão atualmente habilitados no adaptador de rede. O driver de miniporta define os membros CurrentSriovCapabilities para um ponteiro para a mesma estrutura NDIS_SRIOV_CAPABILITIES.

    Se a configuração do Registro para a palavra-chave *SRIOV INF tiver um valor zero, os recursos de SR-IOV estão atualmente desabilitados no adaptador de rede. O driver de miniporta deve definir o membro CurrentSriovCapabilities como NULL.

    Para obter mais informações sobre a palavra-chave *SRIOV INF, consulte Palavras-chave INF padronizadas para SR-IOV.

  2. O driver chama NdisMSetMiniportAttributes e define o parâmetro MiniportAttributes como um ponteiro para a estrutura NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES.

Para obter mais informações sobre o processo de inicialização do adaptador, consulte inicializando um adaptador de miniporta.

Consultando capacidades de SR-IOV por sobreposição de drivers

O NDIS passa os recursos SR-IOV do adaptador de rede atualmente ativos para drivers superiores que se ligam ao adaptador de rede da seguinte maneira:

O NDIS também retorna a estrutura NDIS_SRIOV_CAPABILITIES quando lida com solicitações de consulta de identificador de objeto (OID) de OID_SRIOV_HARDWARE_CAPABILITIES e OID_SRIOV_CURRENT_CAPABILITIES emitidas por drivers de protocolo ou filtro sobrepostos.