OID_NIC_SWITCH_CREATE_VPORT
Um driver sobreposto emite uma solicitação de método OID (identificador de objeto) de OID_NIC_SWITCH_CREATE_VPORT para criar uma porta virtual não padrão (VPort) no comutador NIC de um adaptador de rede. Essa solicitação de método OID também anexa o VPort criado à função física PCI Express (PCIe) do adaptador de rede (PF) ou a uma VF (Função Virtual PCIe) alocada anteriormente.
Drivers sobrepostos emitem essa solicitação de método OID para o driver de miniporto para o PF do adaptador de rede. Essa solicitação de método OID é necessária para drivers de miniporto PF que dão suporte à interface sr-IOV (virtualização de E/S) raiz única.
O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para a estrutura NDIS_NIC_SWITCH_VPORT_PARAMETERS .
Comentários
O driver overlying inicializa a estrutura NDIS_NIC_SWITCH_VPORT_PARAMETERS com as informações de configuração sobre o VPort não padrão a ser criado. As informações de configuração incluem a função PCIe à qual o VPort não padrão está anexado e o número de pares de fila para o VPort não padrão.
Quando o driver de miniporto PF é emitido a solicitação OID, o driver aloca os recursos de hardware e software associados ao VPort não padrão especificado. Depois que todos os recursos forem alocados com êxito, o driver de miniporto PF concluirá o OID com êxito retornando NDIS_STATUS_SUCCESS de MiniportOidRequest.
Se a solicitação de OID_NIC_SWITCH_CREATE_VPORT for concluída com êxito, o driver de miniporto PF e o driver sobreposto deverão manter o valor VPortId do VPort não padrão para operações sucessivas. O valor VPortId é usado durante estas operações:
O NDIS e os drivers overlying usam o valor VPortId para identificar o VPort não padrão em solicitações OID sucessivas relacionadas a esse VPort, como OID_NIC_SWITCH_VPORT_PARAMETERS e OID_NIC_SWITCH_DELETE_VPORT.
Durante as operações de envio, o NDIS especifica o valor VPortId para identificar o VPort do qual um pacote foi enviado. Esse valor é especificado dentro dos dados de NDIS_NET_BUFFER_LIST_FILTERING_INFO fora de banda (OOB) da estrutura NET_BUFFER_LIST .
Durante as operações de recebimento, o driver de miniporto PF especifica o valor VPortId para o qual um pacote deve ser encaminhado. Esse valor também é especificado nos dados de NDIS_NET_BUFFER_LIST_FILTERING_INFO OOB da estrutura NET_BUFFER_LIST .
Para obter mais informações, consulte Criando uma porta virtual.
Nota O VPort padrão sempre existe e não é criado por meio de uma solicitação OID de OID_NIC_SWITCH_CREATE_VPORT. O VPort padrão tem um identificador de NDIS_DEFAULT_VPORT_ID. Quando o driver de miniporto PF cria uma opção NIC, o driver anexa automaticamente o VPort padrão ao PF do adaptador de rede.
Retornar códigos de status
O driver de miniporto NDIS ou PF retorna um dos seguintes códigos 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 miniporto PF não dá suporte à 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_VPORT_PARAMETERS têm valores inválidos. |
NDIS_STATUS_INVALID_LENGTH |
O comprimento do buffer de informações é menor que sizeof(NDIS_NIC_SWITCH_VPORT_PARAMETERS). O driver de miniporto PF deve definir os DADOS. METHOD_INFORMATION. Membro BytesNeeded na estrutura NDIS_OID_REQUEST para o tamanho mínimo do buffer necessário. |
NDIS_STATUS_FAILURE |
A solicitação falhou por outros motivos. |
Requisitos
Versão |
Com suporte no NDIS 6.30 e posterior. |
Cabeçalho |
Ntddndis.h (inclua Ndis.h) |