Partilhar via


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

A interface do switch extensível notifica as extensões subjacentes sobre alterações na configuração do componente do switch extensível e nos parâmetros da política, emitindo solicitações de conjunto de identificador de objeto de switch extensível (OID). Essas solicitações são emitidas pela borda do protocolo do switch extensível para notificar as extensões subjacentes sobre alterações na configuração do componente do switch extensível e nos parâmetros de política. Estas requisições OID movem-se através da pilha de drivers do comutador extensível até à extremidade de miniporta subjacente do comutador extensível.

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

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

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

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

Observação Na interface de switch extensível, os drivers de filtro NDIS são conhecidos como extensões do switch extensível e a pilha de drivers é conhecida como a pilha de drivers do switch extensível.

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

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

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

    Para obter mais informações sobre este tipo de notificação de OID, consulte Hyper-V Portas de Switch Extensíveis.

  • Alterações na conexão do adaptador de rede a uma porta no switch 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 a uma porta no switch 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 Hyper-V adaptadores de rede de switch extensível.

  • Alterações na porta extensível do switch ou nas políticas do switch.

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

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

    Observação A extensão não é notificada de alterações nas políticas de porta ou switch padrão gerenciadas pela borda de miniporta subjacente do switch extensível.

  • Guarde ou restaure dados de porta em tempo real.

    Por exemplo, o driver de protocolo emite OID_SWITCH_NIC_SAVE para notificar as extensões subjacentes de que devem salvar os dados em tempo de execução para uma porta especificada no switch extensível. Esses OIDs são emitidos quando o estado 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 da porta em tempo de execução estão a ser restaurados no switch extensível.

    Para obter mais informações sobre este tipo de notificação OID, consulte Gerir os dados do Switch Extensível Run-Time Hyper-V.

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

A extensão de comutador extensível deve seguir estas diretrizes quando a sua função FilterOidRequest é chamada para um pedido OID de comutador extensível.

  • A extensão não deve modificar quaisquer dados que são apontados pelo parâmetro OidRequest .

  • Para algumas solicitações OID de comutadores 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 switch extensível para o qual a solicitação OID foi emitida.

    Por exemplo, a extensão pode concluir a solicitação OID_SWITCH_NIC_CREATE com STATUS_DATA_NOT_ACCEPTED. O driver pode precisar fazer isso se não puder satisfazer suas 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 switch extensível.

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

    A extensão deve monitorar o resultado de conclusão da solicitação OID quando sua função FilterOidRequestComplete é chamada. Isso permite que a extensão determine se a operação em um componente de switch extensível foi concluída com êxito ou 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 protocolo e filtro sobrepostos podem emitir solicitações OID para o descarregamento de funções de hardware no adaptador de rede físico subjacente. Isso inclui solicitações OID para tecnologias de descarregamento, como fila de máquina virtual (VMQ), segurança do protocolo Internet (IPsec) e virtualização de E/S de raiz única (SR-IOV).

    Quando estas solicitações OID chegam à interface do switch extensível, a solicitação OID é encapsulada num NDIS_SWITCH_NIC_OID_REQUEST. Em seguida, a extremidade de protocolo do switch extensível emite uma solicitação OID de OID_SWITCH_NIC_REQUEST que contém essa estrutura.

  • Uma extensão de encaminhamento de switch extensível pode fornecer suporte para uma tecnologia de descarga de hardware NDIS num ou mais adaptadores físicos ligados ao adaptador de rede externo. Nesta configuração, o adaptador de rede externo do switch extensível está ligado à borda da miniporta virtual de um condutor intermédio do multiplexador NDIS (MUX). O driver intermediário MUX está vinculado a um conjunto de uma ou mais redes físicas no host. Esta configuração é conhecida como um grupo de comutador extensível. Para obter mais informações sobre equipes de switch extensíveis, consulte tipos de configurações de adaptador de rede físico.

    Nessa configuração, as extensões de switch extensíveis são expostas a todos os adaptadores de rede da equipe. Isso permite que a extensão de encaminhamento, na pilha de drivers do switch extensível, gerencie a configuração e o uso dos adaptadores de rede individuais num conjunto. Por exemplo, a extensão pode fornecer suporte para uma solução de failover de balanceamento de carga (LBFO) numa equipa, encaminhando pacotes de saída para adaptadores individuais. Tal extensão é conhecida como um fornecedor de colaboração . Para obter mais informações sobre provedores de agrupamento, consulte Teaming Provider Extensions.

    Ao lidar com a solicitação OID de OID_SWITCH_NIC_REQUEST, os provedores de agrupamento podem participar da configuração da equipe de 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_SWITCH_NIC_REQUEST, consulte O Encaminhamento de Solicitações OID para Adaptadores de Rede Física.

    Observação Os drivers de filtro de extensão podem gerar solicitações OID de OID_SWITCH_NIC_REQUEST para emitir OIDs privados para qualquer adaptador físico que esteja vinculado ao adaptador de rede externo do switch extensível.

Nota As solicitações de reinício da pilha usando NdisFRestartFilter não serão concluídas enquanto uma solicitação de OID de switch 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 switch extensível, consulte Hyper-V Extensible Switch Control Path for OID Requests.