Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nota Esta página pressupõe que você esteja familiarizado com as informações e diagramas nas seguintes páginas:
- Extensões de redirecionamento
- Encaminhamento Híbrido
- Extensões do Comutador Extensível do Hyper-V
- Visão geral do Hyper-V switch extensível
- Extensões do Fornecedor de Colaboração
Esta página descreve como as extensões de encaminhamento do switch extensível Hyper-V podem encaminhar solicitações de envio de pacotes para adaptadores físicos subjacentes. Um ou mais adaptadores de rede física podem ser vinculados ao adaptador de rede externo do switch extensível.
Por exemplo, o adaptador de rede externo do comutador extensível pode ser vinculado à borda da miniporta virtual de um driver intermediário do multiplexador NDIS (MUX). O próprio driver intermediário MUX pode ser 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.
Nesta configuração, as extensões do switch extensível são expostas a todos os adaptadores de rede da equipa do switch extensível. Isso permite que uma extensão de encaminhamento na pilha de drivers do switch extensível gerencie a configuração e o uso de adaptadores de rede individuais na equipa. Por exemplo, a extensão pode fornecer suporte para uma solução de failover de balanceamento de carga (LBFO) sobre o grupo de adaptadores, encaminhando pacotes de saída para adaptadores individuais. Essa extensão é conhecida como um provedor de equipa . Para obter mais informações sobre provedores de agrupamento, consulte Teaming Provider Extensions.
Se uma extensão de encaminhamento estiver instalada e habilitada na pilha de driver de switch extensível, ela será responsável por tomar decisões de encaminhamento para cada pacote obtido no caminho de dados de entrada do switch extensível, a menos que o pacote seja um pacote NVGRE. (Para obter mais informações sobre pacotes NVGRE, consulte Hybrid Forwarding.) Com base nessas decisões de encaminhamento, a extensão pode adicionar portas de destino aos dados fora de banda (OOB) da estrutura NET_BUFFER_LIST do pacote. Depois que o pacote tiver concluído sua travessia do caminho de dados do switch extensível, a interface do switch extensível entrega o pacote às portas de destino especificadas.
Observação Se uma extensão de encaminhamento não estiver instalada ou habilitada, o próprio switch extensível adota as decisões de encaminhamento para os pacotes que recebe do caminho de dados de entrada. O comutador adiciona as portas de destino aos dados OOB da estrutura de NET_BUFFER_LIST do pacote antes de encaminhar o pacote pela trajetória de saída de dados do comutador extensível.
Quando a função de FilterSendNetBufferLists da extensão de encaminhamento é chamada, o parâmetro NetBufferList contém um ponteiro para uma lista ligada de estruturas NET_BUFFER_LIST. Cada uma dessas estruturas especifica um pacote obtido do caminho de dados de entrada. Dentro dos dados OOB da estrutura NET_BUFFER_LIST de cada pacote, os dados para as portas de destino estão contidos numa estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. A extensão obtém a estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY e seus elementos chamando GetNetBufferListDestinations.
Nota Para melhorar o desempenho, uma extensão de encaminhamento pode chamar GrowNetBufferListDestinations em vez de GetNetBufferListDestinations para obter um ponteiro para a estrutura NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY. A extensão faz isso se determinar que precisa de elementos de matriz adicionais nos dados OOB do pacote para as portas de destino. Para obter mais informações, consulte Adicionando dados de porta de destino do switch extensível a um pacote.
Cada elemento na matriz NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY define uma porta de destino e é formatado como uma estrutura NDIS_SWITCH_PORT_DESTINATION. Esta estrutura contém os seguintes membros:
O membro PortId contém um valor que especifica a porta de destino do interruptor extensível.
O membro NicIndex especifica o índice do adaptador de rede que está conectado à porta do switch extensível especificada pelo membro PortId.
Para obter mais informações sobre esses valores de índice, consulte Valores de Índice do Adaptador de Rede.
Se a extensão de encaminhamento adicionar uma porta de destino conectada ao adaptador de rede externo, a extensão poderá especificar o índice de um adaptador de rede físico subjacente. Por exemplo, a extensão poderia operar como um fornecedor de agrupamento para suporte LBFO num conjunto de switch extensível. Isso permite que a extensão equilibre a sobrecarga de tráfego, direcionando pedidos de envio para diferentes adaptadores da equipa.
A extensão de encaminhamento deve seguir estas diretrizes ao adicionar ou modificar uma estrutura NDIS_SWITCH_PORT_DESTINATION para encaminhar solicitações de envio para um adaptador de rede física subjacente.
Se o membro PortId especificar a porta do switch extensível à qual o adaptador de rede externo está ligado, a extensão deve configurar o membro NicIndex para um dos seguintes valores de índice:
Se apenas um adaptador de rede físico estiver vinculado ao adaptador de rede externo, a extensão deverá definir o membro NicIndex como NDIS_SWITCH_DEFAULT_NIC_INDEX ou um.
Se vários adaptadores de rede física estiverem vinculados ao adaptador de rede externo, a extensão deverá definir o membro NicIndex como o valor de índice diferente de zero do adaptador de rede de destino na equipa de comutador extensível.
Observação Se o membro PortId não especificar a porta do switch extensível à qual o adaptador de rede externo está conectado, a extensão deverá definir o membro NicIndex como NDIS_SWITCH_DEFAULT_NIC_INDEX.
Depois que a extensão tiver adicionado todas as portas de destino para o pacote, ela deve chamar NdisFSendNetBufferLists para encaminhar o pacote no caminho de dados de entrada.
Para obter mais informações sobre como adicionar portas de destino a um pacote, consulte a seção Encaminhamento de Pacotes para Portas de Switch Extensíveis Hyper-V.
Para obter mais informações sobre o caminho de dados de saída, consulte Hyper-V Caminho de Dados do Interruptor Extensível.