Capturando extensões

Uma extensão de captura extensível do Hyper-V inspeciona o tráfego de pacotes, as solicitações de OID (identificador de objeto) e as indicações de status do NDIS. Esse tipo de extensão não pode modificar ou remover pacotes ou excluir pacotes de serem entregues a portas de comutador extensíveis. No entanto, a captura de extensões pode originar o tráfego de pacotes, como pacotes que contêm estatísticas de tráfego que a extensão envia para um aplicativo host.

As extensões de captura são invocadas no início do caminho de dados de entrada e no final do caminho de dados de saída. Para obter mais informações sobre esses caminhos de dados, consulte Caminho de dados de comutador extensível do Hyper-V.

Uma extensão de captura tem os seguintes requisitos e restrições:

  • Uma extensão de captura deve ser desenvolvida como um driver de filtro NDIS que dê suporte à interface de comutador extensível.

    Para obter mais informações sobre drivers de filtro, consulte Drivers de filtro NDIS.

    Para obter mais informações sobre como gravar uma extensão de captura, consulte Escrevendo extensões de comutador extensível do Hyper-V.

  • Uma extensão de captura fornece a mesma funcionalidade que um driver de filtro de monitoramento NDIS padrão. No entanto, o arquivo INF para uma extensão de captura deve instalá-lo como um driver de filtro de modificação.

    Para obter mais informações sobre como modificar drivers de filtro, consulte Tipos de drivers de filtro.

    Para obter mais informações sobre os requisitos do INF para modificar drivers de filtro, consulte Configurando um arquivo INF para um driver de filtro de modificação.

  • Uma extensão de captura pode monitorar pacotes no caminho de dados de comutador extensível de entrada e saída. No entanto, esse tipo de extensão deve sempre chamar NdisFSendNetBufferLists para encaminhar os pacotes para drivers subjacentes na pilha do driver de comutador extensível e não concluí-los.

  • Uma extensão de captura não deve modificar os dados dentro dos pacotes nem adicionar destinos de porta aos dados OOB (fora de banda) do pacote. A extensão não deve isentar a entrega do pacote para qualquer porta de comutador extensível.

  • Uma extensão de captura pode originar pacotes. Por exemplo, a extensão pode originar pacotes para relatar condições de tráfego a um aplicativo de monitoramento remoto.

    Para obter mais informações sobre como originar pacotes por uma extensão, consulte Originando o tráfego de pacotes.

    Nota Assim como acontece com outras extensões, a extensão de captura só pode originar o tráfego de pacotes no caminho de dados de entrada do comutador extensível.

  • Uma extensão de captura pode monitorar pacotes, solicitações OID e indicações de status NDIS emitidas na pilha do driver de comutador extensível. No entanto, esse tipo de extensão deve encaminhar pacotes, solicitações OID e indicações de status NDIS por meio da pilha extensível do driver de comutador. A extensão não deve modificar os dados dentro dos pacotes, solicitações OID ou NDIS status indicações que monitora.

  • O valor FilterClass no arquivo INF da extensão deve ser definido como ms_switch_capture. Para obter mais informações, consulte Requisitos inf para extensões de comutador extensível do Hyper-V.

  • Qualquer número de extensões de captura pode ser associado a uma instância de comutador extensível. Por padrão, várias extensões de captura são ordenadas com base em quando foram instaladas. Por exemplo, várias extensões de captura são colocadas em camadas na pilha de driver de comutador extensível com a extensão instalada mais recentemente em camadas acima de outras extensões de captura na pilha.

    Uma vez associada a uma instância de comutador extensível, a camada de extensões de captura na pilha de driver de comutador extensível pode ser reordenada. Para obter mais informações, consulte Reordenando extensões de comutador extensível do Hyper-V.