Compartilhar via


Recebendo solicitações de OID sobre alterações de configuração de comutador extensível do Hyper-V

A interface de comutador extensível notifica as extensões subjacentes sobre as alterações na configuração do componente de comutador extensível e parâmetros de política emitindo solicitações de conjunto OID (identificador de objeto de comutador extensível). Essas solicitações são emitidas pela borda do protocolo da opção extensível para notificar as extensões subjacentes sobre as alterações na configuração do componente de comutador extensível e nos parâmetros de política. Essas solicitações de OID passam pela pilha de driver de comutador extensível para a borda de miniporto subjacente do comutador extensível.

A figura a seguir mostra o caminho de controle de comutador extensível para solicitações OID para NDIS 6.40 (Windows Server 2012 R2) e posterior.

Diagrama mostrando o caminho de controle de comutador extensível para solicitações OID no NDIS 6.40.

A figura a seguir mostra o caminho de controle de comutador extensível para solicitações OID para NDIS 6.30 (Windows Server 2012).

Diagrama mostrando o caminho de controle de comutador extensível para solicitações OID no NDIS 6.30.

Nota Na interface de comutador extensível, os drivers de filtro NDIS são conhecidos como extensíveis e a pilha de driver é conhecida como a pilha extensível de driver de comutador.

A borda do protocolo do comutador extensível emite solicitações de conjunto de OID para os seguintes tipos de notificações:

  • Alterações na configuração da porta na opção extensível.

    Por exemplo, o driver de protocolo emite OID_SWITCH_PORT_CREATE para notificar as extensões subjacentes sobre a criação de uma porta no comutador extensível. Da mesma forma, o driver de protocolo emite OID_SWITCH_PORT_DELETE para notificar as extensões sobre a exclusão de uma porta.

    Para obter mais informações sobre esse tipo de notificação de OID, consulte Portas de comutador extensível do Hyper-V.

  • Alterações na conexão do adaptador de rede para uma porta no comutador extensível.

    Por exemplo, o driver de protocolo emite OID_SWITCH_NIC_CONNECT para notificar extensões subjacentes sobre a conexão de um adaptador de rede com uma porta no comutador extensível. Da mesma forma, o driver de protocolo emite OID_SWITCH_NIC_DISCONNECT para notificar as extensões de que o adaptador de rede foi desconectado da porta.

    Para obter mais informações sobre esse tipo de notificação OID, consulte Adaptadores de rede de comutador extensível do Hyper-V.

  • Alterações nas políticas de comutador extensível ou de comutador.

    Por exemplo, o driver de protocolo emite OID_SWITCH_PROPERTY_ADD para notificar as extensões subjacentes sobre a adição de uma propriedade de comutador extensível. Da mesma forma, o driver de protocolo emite OID_SWITCH_PORT_PROPERTY_DELETE para notificar as extensões sobre a exclusão de uma propriedade de porta.

    Para obter mais informações sobre esse tipo de notificação de OID, consulte Gerenciando políticas de comutador extensível do Hyper-V.

    Nota A extensão não é notificada sobre alterações na porta padrão ou políticas de comutador gerenciadas pela borda de miniporto subjacente do comutador extensível.

  • Salvar ou restaurar dados de porta em tempo de execução.

    Por exemplo, o driver de protocolo emite OID_SWITCH_NIC_SAVE notificar extensões subjacentes para salvar dados em tempo de execução para uma porta especificada no comutador extensível. Esses OIDs são emitidos quando o estado do Hyper-V está sendo salvo ou migrado para outro host. Da mesma forma, o driver de protocolo emite OID_SWITCH_NIC_RESTORE para notificar as extensões de que os dados de porta em tempo de execução estão sendo restaurados na opção extensível.

    Para obter mais informações sobre esse tipo de notificação de OID, consulte Managing Hyper-V Extensible Switch Run-Time Data.

O driver de miniporto de extensão de comutador extensível é responsável por concluir essas solicitações de OID. No entanto, com algumas solicitações OID de comutador extensíveis, uma extensão subjacente pode falhar em uma solicitação de OID para vetar uma notificação. Por exemplo, quando o driver de protocolo de comutador extensível notifica os drivers de filtro sobre uma nova porta que será criada no comutador extensível, ele emite uma solicitação de conjunto OID de OID_SWITCH_PORT_CREATE. Uma extensão de filtragem ou encaminhamento subjacente pode vetar a criação da porta concluindo a solicitação OID com STATUS_DATA_NOT_ACCEPTED.

A extensão de comutador extensível deve seguir estas diretrizes quando sua função FilterOidRequest for chamada para uma solicitação OID de comutador extensível:

  • A extensão não deve modificar nenhum dado apontado pelo parâmetro OidRequest .

  • Para algumas solicitações OID de comutador extensíveis, a extensão pode concluir a solicitação OID com STATUS_DATA_NOT_ACCEPTED. Isso veta a operação em um componente de comutador extensível para o qual a solicitação OID foi emitida.

    Por exemplo, a extensão pode concluir a solicitação de OID_SWITCH_NIC_CREATE com STATUS_DATA_NOT_ACCEPTED. Talvez o driver precise fazer isso se não puder atender às políticas configuradas na porta especificada para a qual a conexão de rede está sendo criada.

    A extensão pode concluir solicitações dessa maneira para os seguintes OIDs:

  • Se a extensão não concluir a solicitação OID, ela deverá chamar NdisFOidRequest para encaminhar a solicitação para baixo na pilha de driver de comutador extensível.

    Nota Antes que o driver chame NdisFOidRequest, o driver deve chamar NdisAllocateCloneOidRequest para alocar uma estrutura NDIS_OID_REQUEST e transferir as informações de solicitação para a nova estrutura.

    A extensão deve monitorar o resultado da conclusão da solicitação OID quando sua função FilterOidRequestComplete for chamada. Isso permite que a extensão determine se a operação em um componente de comutador extensível foi concluída com êxito ou foi vetada por uma extensão subjacente.

    Para obter mais informações sobre como filtrar e encaminhar uma solicitação OID, consulte Filtrando solicitações OID em um driver de filtro NDIS.

  • O NDIS e os drivers de filtro e protocolo sobrepostos podem emitir solicitações de OID para tecnologias de descarregamento de hardware para o adaptador de rede física subjacente. Isso inclui solicitações de OID para tecnologias de descarregamento, como VMQ (fila de máquina virtual), IPsec (segurança de protocolo de Internet) e virtualização de E/S de raiz única (SR-IOV).

    Quando essas solicitações de OID chegam à interface de comutador extensível, ela encapsula a solicitação OID dentro de um NDIS_SWITCH_NIC_OID_REQUEST. Em seguida, a borda do protocolo do comutador extensível emite uma solicitação OID de OID_SWITCH_NIC_REQUEST que contém essa estrutura.

  • Uma extensão de encaminhamento de comutador extensível pode fornecer suporte para uma tecnologia de descarregamento de hardware NDIS em um ou mais adaptadores físicos associados ao adaptador de rede externo. Nessa configuração, o adaptador de rede externa comutador extensível está associado à borda do miniporto virtual de um driver intermediário MUX (multiplexador NDIS). O driver intermediário do MUX está associado a uma equipe de uma ou mais redes físicas no host. Essa configuração é conhecida como uma equipe de comutador extensível. Para obter mais informações sobre equipes de comutador extensíveis, consulte Tipos de configurações de adaptador de rede física.

    Nessa configuração, as extensíveis são expostas a todos os adaptadores de rede da equipe. Isso permite que a extensão de encaminhamento na pilha de driver de comutador extensível gerencie a configuração e o uso de adaptadores de rede individuais na equipe. Por exemplo, a extensão pode fornecer suporte para uma solução de LBFO (failover de balanceamento de carga) sobre a equipe encaminhando pacotes de saída para adaptadores individuais. Essa extensão é conhecida como um provedor de agrupamento. Para obter mais informações sobre provedores de agrupamento, consulte Extensões do provedor de agrupamento.

    Ao lidar com a solicitação OID de OID_SWITCH_NIC_REQUEST, os provedores de agrupamento podem participar da configuração da equipe do adaptador para descarregamentos de hardware. Por exemplo, a extensão pode gerar sua própria solicitação OID de OID_SWITCH_NIC_REQUEST para configurar um adaptador físico com parâmetros para o descarregamento de hardware.

    Para obter mais informações sobre como lidar com a solicitação OID OID_SWITCH_NIC_REQUEST , consulte Encaminhando solicitações OID para adaptadores de rede física.

    Nota Os drivers de filtro de extensão podem gerar solicitações de OID de OID_SWITCH_NIC_REQUEST para emitir OIDs privados para qualquer adaptador físico associado ao adaptador de rede externo comutador extensível.

Nota As solicitações de reinicialização de pilha usando NdisFRestartFilter não serão concluídas enquanto uma solicitação OID de comutador extensível estiver pendente. Por esse motivo, uma extensão que está aguardando uma reinicialização da pilha deve concluir todas as solicitações OID em andamento.

Para obter mais informações sobre o caminho de controle para solicitações OID de comutador extensível, consulte Caminho de controle de comutador extensível do Hyper-V para solicitações OID.