Partilhar via


OID_NIC_SWITCH_CREATE_SWITCH

O NDIS emite uma solicitação de método de identificador de objeto (OID) de OID_NIC_SWITCH_CREATE_SWITCH para criar um comutador NIC em um adaptador de rede. Quando ele lida com essa solicitação OID, o driver de miniporta aloca os recursos para o comutador NIC no adaptador.

O NDIS emite essa solicitação de método OID para o driver de miniporta da função física (PF) PCI Express (PCIe) do adaptador de rede. Essa solicitação de método OID é necessária para drivers de miniporta PF que suportam a interface de virtualização de E/S de raiz única (SR-IOV).

Observação Drivers sobrepostos, como drivers de protocolo ou filtro, não podem emitir solicitações de método OID de OID_NIC_SWITCH_CREATE_SWITCH para o driver de miniporta PF.

O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_NIC_SWITCH_PARAMETERS.

Comentários

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

  1. Se o driver de miniporta PF oferecer suporte à criação e configuração de switch estático, ele criará o switch NIC quando o NDIS chamar MiniportInitializeEx. Quando o driver lida com essa solicitação OID, ele deve verificar os parâmetros de configuração na estrutura NDIS_NIC_SWITCH_PARAMETERS. Os parâmetros devem ser os mesmos usados pelo driver para criar o switch durante a chamada para MiniportInitializeEx. Se isso não for verdade, o driver deve falhar a solicitação OID.

    Para obter mais informações, consulte criação estática de um switch NIC.

  2. Se o driver de miniporta PF suportar a criação e configuração de switch dinâmico, o driver deverá validar os valores de configuração da estrutura NDIS_NIC_SWITCH_PARAMETERS e criar o switch NIC com base nesses valores.

    Para obter mais informações, consulte criação dinâmica de um switch NIC.

  3. O driver de miniporta PF deve alocar os recursos de hardware e software necessários para o VPort padrão no switch NIC.

    Nota O VPort padrão é sempre criado por meio de uma solicitação OID de OID_NIC_SWITCH_CREATE_SWITCH e excluído por meio de uma solicitação OID de OID_NIC_SWITCH_DELETE_SWITCH. As solicitações OID de OID_NIC_SWITCH_CREATE_VPORT e OID_NIC_SWITCH_DELETE_VPORT são usadas para a criação e exclusão de VPorts não padrão no switch NIC.

  4. O driver de miniporta PF que suporta a criação e configuração de switch dinâmico deve habilitar SR-IOV virtualização no switch chamando NdisMEnableVirtualization. Esta chamada configura o membro NumVFs e o VF Enable bit na estrutura SR-IOV Extended Capability do espaço de configuração PCI Express (PCIe) do adaptador.

    Para obter mais informações sobre o espaço de configuração SR-IOV, consulte a especificação PCI-SIG Single Root I/O Virtualization and Sharing 1.1.

    Observação Se o driver de miniporta PF oferecer suporte à criação de switch estático, ele habilitará a virtualização SR-IOV depois de criar o switch quando MiniportInitializeEx for chamado.

Se o driver de miniporta PF concluir com êxito a solicitação de método OID de OID_NIC_SWITCH_CREATE_SWITCH, ele permitirá que o seguinte ocorra:

Para obter mais informações sobre como lidar com essa solicitação OID, consulte Manipulando a solicitação de OID_NIC_SWITCH_CREATE_SWITCH.

Códigos de status de retorno

O driver de miniporta PF retorna um dos seguintes códigos de status para a solicitação de método OID de OID_NIC_SWITCH_CREATE_SWITCH.

Código de status Descrição

NDIS_STATUS_SUCCESS

A solicitação OID foi concluída com êxito.

NDIS_STATUS_NOT_SUPPORTED

O driver de miniporta PF não suporta a interface SR-IOV ou não está habilitado para usar a interface.

NDIS_STATUS_INVALID_PARAMETER

Um ou mais dos membros da estrutura NDIS_NIC_SWITCH_PARAMETERS têm valores inválidos.

NDIS_STATUS_INVALID_LENGTH

O comprimento do buffer de informações é menor que sizeof(NDIS_NIC_SWITCH_PARAMETERS). O driver de miniporta PF deve definir o DATA. METHOD_INFORMATION. BytesNeeded membro na estrutura NDIS_OID_REQUEST para o tamanho mínimo de buffer necessário.

NDIS_STATUS_FAILURE

O pedido foi rejeitado por outros motivos.

Requerimentos

Versão

Suportado no NDIS 6.30 e posterior.

Cabeçalho

Ntddndis.h (inclui Ndis.h)

Ver também


MiniportInitializeEx

NDIS_OID_REQUEST

NDIS_NIC_SWITCH_PARAMETERS

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT