12 - OpenFlow
Guia de configuração do OpenFlow
Sobre o OpenFlow
O OpenFlow é a interface de comunicação definida entre as camadas de controle e encaminhamento de uma arquitetura de rede definida por software. Com o OpenFlow, você pode realizar o gerenciamento centralizado do encaminhamento de dados para dispositivos físicos e virtuais por meio de controladores.
Componentes de rede OpenFlow
O OpenFlow separa as funções de encaminhamento de dados e de decisão de roteamento. Ele mantém a função de encaminhamento baseada em fluxo e emprega um controlador separado para tomar decisões de roteamento. Um switch OpenFlow se comunica com o controlador por meio de um canal OpenFlow. Um canal OpenFlow pode ser criptografado usando TLS ou executado diretamente sobre TCP. Um switch OpenFlow troca mensagens de controle com o controlador por meio de um canal OpenFlow para realizar as seguintes operações:
- Receber entradas da tabela de fluxo ou dados do controlador.
- Relatar informações ao controlador.
Salvo indicação em contrário, um switch se refere a um switch OpenFlow neste documento.
Figura 1 Diagrama de rede OpenFlow
Switch OpenFlow
Os switches OpenFlow incluem os seguintes tipos:
- OpenFlow-only-Suporta apenas a operação OpenFlow.
- OpenFlow-híbrido - suporta tanto a operação OpenFlow quanto a operação de comutação Ethernet tradicional.
Porta OpenFlow
O OpenFlow é compatível com os seguintes tipos de portas:
- Porta física - Corresponde a uma interface de hardware, como uma interface Ethernet. Uma porta física pode ser uma porta de entrada ou uma porta de saída.
- Porta lógica - Não corresponde a uma interface de hardware e pode ser definida por
métodos não OpenFlow. Por exemplo, as interfaces agregadas são portas lógicas. Uma porta lógica pode ser uma porta de entrada ou uma porta de saída.
- Porta reservada - Definida pelo OpenFlow para especificar ações de encaminhamento. As portas reservadas incluem os seguintes tipos:
- All - Todas as portas que podem ser usadas para encaminhar um pacote.
- Controlador - controlador OpenFlow.
- Na porta - porta de entrada do pacote.
- Qualquer descrição de porta genérica.
- CPU local-local.
- Normal - Processo de encaminhamento normal.
- Inundação-Inundação.
Exceto o tipo Any, todas as portas reservadas podem ser usadas como portas de saída. Somente os tipos Controller e
Os tipos locais podem ser usados como portas de entrada.
Instância OpenFlow
Salvo indicação em contrário, um switch OpenFlow refere-se a uma instância OpenFlow neste documento.
Você pode configurar uma ou mais instâncias do OpenFlow no mesmo dispositivo. Um controlador considera cada instância do OpenFlow como um switch OpenFlow separado e implementa instruções de encaminhamento para ele.
Modo de instância OpenFlow
Uma instância do OpenFlow está associada a VLANs. As entradas de fluxo têm efeito apenas em pacotes dentro de VLANs associadas à instância do OpenFlow.
Ativação e reativação
As configurações de uma instância do OpenFlow entram em vigor somente depois que a instância do OpenFlow é ativada.
O controlador pode implementar entradas de fluxo em uma instância OpenFlow somente depois que a instância OpenFlow relatar as seguintes informações do dispositivo ao controlador:
- Recursos suportados pelo OpenFlow.
- Informações sobre as portas que pertencem à instância do OpenFlow.
Uma instância OpenFlow ativada deve ser reativada quando qualquer configuração de instância OpenFlow for alterada.
Após a reativação, a instância do OpenFlow é desconectada de todos os controladores e, em seguida, reconectada a eles.
Porta de instância OpenFlow
Um switch OpenFlow envia informações sobre as seguintes portas para o controlador:
- Portas físicas.
- Portas lógicas.
- Portas reservadas do tipo Local.
No modo solto, uma porta pertence à instância do OpenFlow quando as VLANs associadas à instância do OpenFlow se sobrepõem às VLANs permitidas da porta. Caso contrário, uma porta pertence a uma instância do OpenFlow somente quando as VLANs associadas à instância do OpenFlow estiverem dentro da lista de VLANs permitidas da porta.
Tabela de fluxo OpenFlow
Um switch OpenFlow faz a correspondência de pacotes com uma ou mais tabelas de fluxo. Uma tabela de fluxo contém entradas de fluxo e os pacotes são combinados com base na precedência de correspondência das entradas de fluxo.
Tipos de tabelas de fluxo
As tabelas de fluxo OpenFlow incluem os seguintes tipos:
- MAC-IP - Combina a tabela de endereços MAC e a tabela FIB. Uma tabela de fluxo MAC-IP fornece os seguintes campos de correspondência:
- Endereço MAC de destino.
- VLAN.
- Endereço IP de destino.
Uma tabela de fluxo MAC-IP fornece as seguintes ações:
- Modificação do endereço MAC de destino.
- Modificação do endereço MAC de origem.
- Modificação da VLAN.
- Especificar a porta de saída.
Para obter mais informações, consulte "Apêndice B Tabela de fluxo MAC-IP".
- Extensibilidade - Usa ACLs para fazer a correspondência de pacotes.
Entrada de fluxo
Uma entrada de fluxo contém os seguintes campos:
- Campos de correspondência - Regras de correspondência da entrada de fluxo. Elas contêm a porta de entrada, os cabeçalhos de pacotes e os metadados especificados na tabela anterior.
- Prioridade - precedência de correspondência da entrada de fluxo. Quando um pacote é correspondido com a tabela de fluxo, somente a entrada de fluxo de prioridade mais alta que corresponde ao pacote é selecionada.
- Contadores - Contagens dos pacotes e bytes que correspondem à entrada de fluxo.
- Instruções - Usadas para modificar o conjunto de ações ou o processamento do pipeline. As instruções incluem os seguintes tipos:
- Meter - Direciona os pacotes para o medidor especificado para limitar a taxa dos pacotes.
- Apply-Actions (Aplicar ações) - Aplica imediatamente as ações especificadas na lista de ações.
- Clear-Actions (Limpar ações) - Limpa imediatamente todas as ações do conjunto de ações.
- Write-Actions - Modifica imediatamente todas as ações no conjunto de ações.
- Goto-Table - Indica a próxima tabela de fluxo no pipeline de processamento.
- Conjunto de ações - Quando o conjunto de instruções de uma entrada de fluxo não contém uma instrução da tabela Goto, o processamento do pipeline é interrompido. Em seguida, as ações no conjunto de ações são executadas na ordem especificada pela lista de instruções. Um conjunto de ações contém no máximo uma ação de cada tipo.
- Lista de ações - As ações na lista de ações são executadas imediatamente na ordem especificada pela lista de ações. O efeito dessas ações é cumulativo.
As ações incluem os seguintes tipos:
- (Obrigatório.) Saída - A ação Saída encaminha um pacote para a porta OpenFlow especificada.
- (Obrigatório.) Drop - Os pacotes sem ações de saída são descartados.
- (Obrigatório.) Group - Processa o pacote por meio do grupo especificado.
- (Opcional.) Set-Queue - Define a ID da fila para um pacote.
- (Opcional.) Set-Field - Modifica os valores dos campos de cabeçalho no pacote.
- Timeouts - Tempo máximo ocioso ou de tempo difícil para a entrada de fluxo.
- Tempo ocioso - A entrada de fluxo é removida após um tempo sem corresponder a pacotes.
- Hard time - A entrada de fluxo é removida após o tempo limite, independentemente de correspondência.
- Cookie - Dados personalizados especificados pelo controlador.
- Sinalizadores - Modifica o gerenciamento de entrada de fluxo.
Figura 2 Componentes da entrada de fluxo
Pipeline OpenFlow
O processamento do pipeline OpenFlow define como os pacotes interagem com as tabelas de fluxo contidas em um switch.
As tabelas de fluxo são numeradas sequencialmente, começando em 0. O pacote é primeiramente combinado com as entradas de fluxo da tabela de fluxo 0.
Quando um pacote corresponde a uma entrada de fluxo, o OpenFlow Switch atualiza o conjunto de ações para o pacote e passa o pacote para a próxima tabela de fluxo.
Figura 3 Fluxo de trabalho de encaminhamento do OpenFlow
Entrada de fluxo ausente na tabela
Toda tabela de fluxo deve suportar uma entrada de fluxo table-miss para processar as falhas na tabela.
A entrada de fluxo table-miss tem a prioridade mais baixa e se comporta como qualquer outra entrada de fluxo.
Tabela de grupos
Uma entrada de fluxo pode apontar para um grupo, representando métodos adicionais de encaminhamento.
- Identificador do grupo - Número inteiro sem sinal de 32 bits que identifica o grupo.
- Group Type - Tipo de grupo, como All para encaminhamento de multicast ou broadcast.
- Contadores - Atualizados quando os pacotes são processados por um grupo.
- Compartimentos de ações - Lista ordenada de compartimentos de ações com um conjunto de ações a serem executadas.
Figura 4 Componentes de entrada de grupo
Tabela de medidores
Os medidores permitem a implementação de QoS, como limitação de taxa.
- Identificador do medidor - Número inteiro sem sinal de 32 bits que identifica o medidor.
- Bandas do medidor - Define a taxa à qual a banda se aplica e a maneira como os pacotes são processados.
- Contadores - Atualizados quando os pacotes são processados por um medidor.
Figura 5 Componentes de entrada do medidor
Uma banda de medidor contém os seguintes campos:
- Tipo de banda - (Opcional.) Métodos de processamento de pacotes. As opções são:
- Drop - Descarta o pacote quando a taxa do pacote excede a taxa de banda.
- DSCP Remark (Observação de DSCP) - Marca o campo DSCP no cabeçalho IP do pacote.
- Taxa - Define a taxa mais baixa à qual a banda pode ser aplicada.
- Contadores - Atualizados quando os pacotes são processados por uma banda.
- Argumentos específicos do tipo - Alguns tipos de banda têm argumentos específicos.
Figura 6 Componentes da banda
Canal OpenFlow
O canal OpenFlow é a interface que conecta cada switch OpenFlow a um controlador. O controlador usa o canal OpenFlow para trocar mensagens de controle com o switch para realizar as seguintes operações:
- Configurar e gerenciar o switch.
- Receber eventos do switch.
- Enviar pacotes para o switch.
O canal OpenFlow geralmente é criptografado usando TLS. Além disso, um canal OpenFlow pode ser executado diretamente sobre TCP.
O protocolo OpenFlow é compatível com os seguintes tipos de mensagens: controlador-para-comutador, assíncrono e simétrico. Cada tipo de mensagem tem seus próprios subtipos.
Mensagens do controlador para o comutador
As mensagens do controlador para o switch são iniciadas pelo controlador e usadas para gerenciar ou inspecionar diretamente o estado do switch. As mensagens do controlador para o switch podem ou não exigir uma resposta do switch.
As mensagens do controlador para o comutador incluem os seguintes subtipos:
- Recursos - O controlador solicita os recursos básicos de um switch enviando uma solicitação de recursos. O switch deve responder com uma resposta de recursos que especifique os recursos básicos do switch.
- Configuração - O controlador define e consulta os parâmetros de configuração no switch. O switch responde apenas a uma consulta do controlador.
- Modify-State - O controlador envia mensagens Modify-State para gerenciar o estado nos switches. Seu objetivo principal é adicionar, excluir e modificar entradas de fluxo ou grupo nas tabelas OpenFlow e definir as propriedades da porta do switch.
- Read-State - O controlador envia mensagens Read-State para coletar várias informações do switch, como a configuração atual e as estatísticas.
- Packet-out - São usadas pelo controlador para enviar pacotes para fora da porta especificada no switch ou para encaminhar pacotes recebidos por meio de mensagens packet-in. As mensagens de saída de pacote devem conter um pacote completo ou um ID de buffer que represente um pacote armazenado no switch. A mensagem também deve conter uma lista de ações a serem aplicadas na ordem em que foram especificadas. Uma lista de ações vazia descarta o pacote.
- Barreira - As mensagens de barreira são usadas para confirmar a conclusão das operações anteriores. O controlador envia uma solicitação de Barrier. O switch deve enviar uma resposta de Barrier quando todas as operações anteriores forem concluídas.
- As mensagens Role-Request-Role-Request são usadas pelo controlador para definir a função de seu canal OpenFlow ou consultar essa função. Normalmente, são usadas quando o switch se conecta a vários controladores.
- Asynchronous-Configuration - São usados pelo controlador para definir um filtro adicional nas mensagens assíncronas que ele deseja receber ou para consultar esse filtro. Normalmente, é usado quando o switch se conecta a vários controladores.
Mensagens assíncronas
Os switches enviam mensagens assíncronas aos controladores para informar a chegada de um pacote ou a mudança de estado do switch. Por exemplo, quando uma entrada de fluxo é removida devido ao tempo limite, o switch envia uma mensagem de fluxo removido para informar o controlador.
As mensagens assíncronas incluem os seguintes subtipos:
- Packet-In-Transfere o controle de um pacote para o controlador. Para todos os pacotes encaminhados à porta reservada do controlador usando uma entrada de fluxo ou a entrada de fluxo table-miss, um evento de packet-in é sempre enviado aos controladores. Outros processamentos, como a verificação de TTL, também podem gerar eventos de packet-in para enviar pacotes ao controlador. Os eventos de packet-in podem incluir o
pacote ou pode ser configurado para armazenar pacotes em buffer no switch. Se o evento de entrada de pacote estiver configurado para armazenar pacotes em buffer, os eventos de entrada de pacote conterão apenas uma fração do cabeçalho do pacote e um ID de buffer. O controlador processa o pacote completo ou a combinação do cabeçalho do pacote e a ID do buffer. Em seguida, o controlador envia uma mensagem de saída de pacote para instruir o switch a processar o pacote.
- Flow-Removed - Informa o controlador sobre a remoção de uma entrada de fluxo de uma tabela de fluxo. Elas são geradas devido a uma solicitação de exclusão de fluxo do controlador ou ao processo de expiração do fluxo do switch quando um dos tempos limite do fluxo é excedido.
- Port-status-Informe o controlador sobre uma mudança de estado ou de configuração em uma porta.
- Error-Informe o controlador sobre um problema ou erro.
Mensagens simétricas
As mensagens simétricas são enviadas sem solicitação, em qualquer direção. As mensagens simétricas contêm os seguintes subtipos:
- As mensagens Hello-Hello são trocadas entre o switch e o controlador após a conexão
inicialização.
- As mensagens de solicitação ou resposta de eco podem ser enviadas pelo switch ou pelo controlador e devem retornar uma resposta de eco. Elas são usadas principalmente para verificar a vivacidade de uma conexão entre o controlador e o switch e também podem ser usadas para medir a latência ou a largura de banda.
- Experimenter - Esta é uma área de teste para recursos destinados a futuras revisões do OpenFlow.
Temporizadores OpenFlow
Um switch OpenFlow suporta os seguintes temporizadores:
- Intervalo de detecção de conexão - Intervalo no qual o switch OpenFlow envia uma mensagem de solicitação de eco para um controlador. Quando o switch OpenFlow não recebe nenhuma mensagem Echo Reply em três intervalos, o switch OpenFlow é desconectado do controlador.
- Intervalo de reconexão - Intervalo que o switch OpenFlow deve aguardar antes de tentar se reconectar a um controlador.
Controlador OpenFlow
Funções do controlador
Um switch pode estabelecer conexões com vários controladores. Quando a operação do OpenFlow é iniciada, um switch é conectado simultaneamente a vários controladores no estado Equal. Um controlador pode solicitar a alteração de sua função a qualquer momento. A função de controlador contém os seguintes tipos:
- Igual - Nessa função, o controlador tem acesso total ao switch e é igual a outros controladores na mesma função. Por padrão, o controlador recebe todas as mensagens assíncronas do switch, como mensagens de entrada de pacote e de remoção de fluxo. O controlador pode enviar mensagens de controlador para switch para modificar o estado do switch.
- Mestre - Essa função é semelhante à função Igual e tem acesso total ao switch. A diferença é que, em um switch, é permitido até um controlador com essa função.
- Escravo - Nessa função, o controlador tem acesso somente de leitura ao switch.
O controlador não pode enviar mensagens de controlador para comutador para realizar as seguintes operações:
- Implante entradas de fluxo, entradas de grupo e entradas de medidor.
- Modificar as configurações da porta e do switch.
- Enviar mensagens de saída de pacote.
Por padrão, o controlador não recebe mensagens assíncronas de switch, exceto mensagens de status de porta. O controlador pode enviar mensagens Asynchronous-Configuration para definir os tipos de mensagens assíncronas que deseja receber.
Modos de conexão do controlador
Uma instância do OpenFlow pode se conectar a um ou mais controladores, dependendo do modo de conexão do controlador usado pela instância do OpenFlow:
- Único - A instância do OpenFlow se conecta a apenas um controlador por vez. Quando a comunicação com o controlador atual falha, a instância do OpenFlow usa outro controlador.
- Múltiplos - A instância do OpenFlow pode se conectar simultaneamente a vários controladores. Quando a comunicação com qualquer controlador falha, a instância do OpenFlow tenta se reconectar ao controlador após um intervalo de reconexão.
Conexões principais e auxiliares
O canal OpenFlow pode ter uma conexão principal e várias conexões auxiliares.
- Conexão principal - processa mensagens de controle para concluir operações como implantação de entradas, obtenção de dados e envio de informações. A conexão principal deve ser uma conexão TCP ou SSL confiável.
- Conexão auxiliar - Melhora o desempenho da comunicação entre o controlador e os switches OpenFlow. Uma conexão auxiliar pode ter um endereço IP de destino e um número de porta diferentes dos da conexão principal.
Modo de interrupção da conexão
Quando um switch OpenFlow é desconectado de todos os controladores, o switch OpenFlow é configurado em um dos seguintes modos:
- Seguro - O switch OpenFlow encaminha o tráfego com base em tabelas de fluxo e não remove entradas de fluxo não expiradas. Se a ação de saída em uma entrada de fluxo correspondente for encaminhar o tráfego para um controlador, o tráfego será descartado. Esse é o modo de encaminhamento padrão.
- Inteligente - O switch OpenFlow encaminha o tráfego com base em tabelas de fluxo e não remove entradas de fluxo não expiradas. Se a ação de saída em uma entrada de fluxo correspondente for encaminhar o tráfego para um controlador, o tráfego será encaminhado no processo normal.
- Independente - O switch OpenFlow usa o processo de encaminhamento normal.
O switch OpenFlow encaminha o tráfego com base nas tabelas de fluxo quando se reconecta a um controlador com êxito.
Protocolos e padrões
Especificação de switch OpenFlow versão 1.3.3
Configuração de instâncias OpenFlow
Criação de uma instância OpenFlow
- Entre na visualização do sistema.
system-view -
Crie uma instância OpenFlow e entre em sua visualização.
openflow instance instance-id -
(Opcional) Defina a ID do caminho de dados.
datapath-id idPor padrão, o ID do caminho de dados de uma instância do OpenFlow contém o ID da instância e o endereço MAC da ponte do dispositivo. Os 16 bits superiores são o ID da instância e os 48 bits inferiores são o endereço MAC da ponte do dispositivo.
O ID do caminho de dados identifica exclusivamente um switch OpenFlow (instância OpenFlow). Não defina o mesmo ID de caminho de dados para diferentes switches OpenFlow.
-
Definir um valor DSCP para pacotes OpenFlow.
tcp dscp dscp-valuePor padrão, nenhum valor DSCP é definido para os pacotes OpenFlow.
Configuração do modo de instância OpenFlow
Restrições e diretrizes
Quando você associar uma instância do OpenFlow a VLANs, siga estas diretrizes:
- Para que o tráfego de VLAN seja processado corretamente, associe diferentes instâncias do OpenFlow a diferentes VLANs.
- Quando você ativa uma instância do OpenFlow que está associada a VLANs inexistentes, o sistema cria automaticamente as VLANs.
- Não associe VLANs permitidas em uma porta a diferentes instâncias do OpenFlow. Caso contrário, as mensagens de modificação de porta de diferentes instâncias OpenFlow implementadas a partir de diferentes controladores se sobrepõem umas às outras.
- Não configure o BFD MAD na interface de VLAN para uma VLAN associada a uma instância do OpenFlow. Para obter mais informações sobre o BFD MAD, consulte o Virtual Technologies Configuration Guide.
Ativação do modo VLAN para uma instância OpenFlow
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Configure o modo de instância do OpenFlow.
classification vlan vlan-id [ mask vlan-mask ] [ loosen ]Por padrão, o modo de instância do OpenFlow não está configurado.
Configuração de VLANs de gerenciamento em banda
O tráfego nas VLANs de gerenciamento em banda é encaminhado no processo de encaminhamento normal, em vez de no processo de encaminhamento do OpenFlow. As VLANs de gerenciamento de banda interna são usadas por uma instância do OpenFlow para estabelecer canais do OpenFlow para os controladores.
Restrições e diretrizes
As portas atribuídas apenas a VLANs de gerenciamento em banda não são portas OpenFlow.
As VLANs de gerenciamento de banda interna configuradas para uma instância do OpenFlow no modo VLAN devem estar na lista de VLANs associadas à instância do OpenFlow.
Se uma instância OpenFlow no modo global ou VLAN se conectar a um controlador por meio de uma interface Ethernet que não seja de gerenciamento, configure a VLAN à qual a interface pertence como uma VLAN de gerenciamento em banda.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Configure as VLANs de gerenciamento em banda para a instância do OpenFlow.
in-band management vlan vlan-id-listPor padrão, nenhuma VLAN de gerenciamento em banda é configurada para uma instância do OpenFlow.
Configuração de tabelas de fluxo e entradas de fluxo para uma instância OpenFlow
Restrições e diretrizes
A ID da tabela de fluxo de extensibilidade deve ser maior que a ID da tabela de fluxo MAC-IP.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Configure tabelas de fluxo para a instância do OpenFlow.
flow-table { extensibility extensibility-table-id | mac-ip mac-ip-table-id }*Por padrão, uma instância do OpenFlow contém uma tabela de fluxo de extensibilidade com ID 0.
-
Defina o número máximo de entradas de fluxo que cada tabela de fluxo de extensibilidade suporta.
flow-entry max-limit limit-valueA configuração padrão é 65535.
Quando o número máximo é atingido, a instância do OpenFlow não aceita novas entradas de fluxo para essa tabela e envia uma notificação de falha de implementação para o controlador.
-
Configure a instância do OpenFlow para permitir que as entradas ARP dinâmicas substituam as entradas ARP do OpenFlow.
precedência arp dinâmicaPor padrão, uma instância do OpenFlow não permite que entradas ARP dinâmicas substituam entradas ARP do OpenFlow.
Somente as tabelas de fluxo MAC-IP suportam esse recurso.
-
Permitir que as tabelas de fluxo implantadas incluam portas membros de agregação de links.
permit-port-type member-portPor padrão, as tabelas de fluxo implantadas não podem incluir portas-membro de agregação de links.
-
Configure a ação padrão das entradas de fluxo table-miss para encaminhar os pacotes ao pipeline normal.
default table-miss permit
Por padrão, a ação padrão das entradas de fluxo table-miss é descartar os pacotes.
Configuração do modo de conexão do controlador
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Definir o modo de conexão do controlador. controller mode { multiple | single }
Por padrão, o modo múltiplo é usado.
Impedir que uma instância OpenFlow informe os tipos de portas especificados aos controladores
Sobre a prevenção de relatórios de tipo de porta
Execute esta tarefa para impedir que uma instância do OpenFlow relate informações de controladores sobre os seguintes tipos de interfaces que pertencem à instância do OpenFlow:
Procedimento
- Entre na visualização do sistema.
system-view -
Entrar na visualização da instância OpenFlow
openflow instance instance-id -
Impedir que uma instância OpenFlow informe os tipos de portas especificados aos controladores.
forbidden port { l3-physical-interface | vlan-interface | vsi-interface } *Por padrão, nenhum tipo de porta é impedido de ser relatado aos controladores. Todas as portas que pertencem a uma instância do OpenFlow são informadas aos controladores.
As palavras-chave l3-physical-interface e vsi-interface não são compatíveis com a versão atual do software.
Ativação ou reativação de uma instância OpenFlow
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Ativar ou reativar a instância do OpenFlow.
active instancePor padrão, uma instância do OpenFlow não é ativada.
Configuração dos atributos da instância OpenFlow
Restrições e diretrizes
As configurações de atributo de instância OpenFlow de uma instância OpenFlow podem entrar em vigor sem a ativação da instância OpenFlow.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Configure uma descrição para a instância do OpenFlow.
texto de descrição
Por padrão, uma instância do OpenFlow não tem uma descrição.
-
Defina os temporizadores do OpenFlow.
-
Defina o intervalo de detecção de conexão.
controller echo-request interval intervalA configuração padrão é de 5 segundos.
-
Defina o intervalo de reconexão.
controller connect interval intervalA configuração padrão é 60 segundos.
-
Defina o intervalo de detecção de conexão.
-
Configurar os recursos relacionados ao endereço MAC.
-
Proibir o aprendizado de endereço MAC para VLANs associadas à instância do OpenFlow.
mac-learning forbiddenPor padrão, o aprendizado de endereço MAC é permitido para VLANs associadas a uma instância do OpenFlow.
A configuração não entra em vigor nas VLANs de gerenciamento em banda.
-
Configure a instância do OpenFlow para suportar a correspondência dos endereços MAC dinâmicos nas instruções de entrada de fluxo de consulta e exclusão enviadas pelos controladores.
mac-ip dynamic-mac awarePor padrão, uma instância do OpenFlow ignora os endereços MAC dinâmicos nas instruções de entrada de fluxo de consulta e exclusão enviadas pelos controladores.
Somente as tabelas de fluxo MAC-IP suportam esse recurso.
-
Proibir o aprendizado de endereço MAC para VLANs associadas à instância do OpenFlow.
-
Impedir que a instância OpenFlow informe pacotes ARP aos controladores especificados.
lista de identificação de controlador de arp de pacote proibido
Por padrão, não há controladores configurados para os quais os pacotes ARP são proibidos de serem relatados.
Esse recurso proíbe uma instância do OpenFlow de relatar pacotes ARP aos controladores especificados para evitar que os controladores sejam afetados por um grande número de pacotes.
-
Desative o registro em log das modificações bem-sucedidas da tabela de fluxo.
flow-log disablePor padrão, o registro em log das modificações bem-sucedidas da tabela de fluxo está ativado.
-
Ativar a proteção de loop para a instância do OpenFlow.
loop-protection enablePor padrão, a proteção de loop está desativada para uma instância do OpenFlow.
Depois que uma instância do OpenFlow for desativada, você poderá ativar a proteção de loop para a instância do OpenFlow a fim de evitar loops. Esse recurso permite que a instância OpenFlow desativada crie uma entrada de fluxo para descartar todo o tráfego nessas VLANs.
Configuração de controladores para um switch OpenFlow
Restrições e diretrizes
Certifique-se de que a configuração de uma conexão auxiliar não esteja em conflito com a configuração da conexão principal . Caso contrário, a conexão auxiliar não poderá ser estabelecida.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Especifique um controlador e configure a conexão principal com o controlador.
controller controller-id address { ip ipv4-address | ipv6 ipv6-address } [ port port-number ] [ local address { ip local-ipv4-address | ipv6 local-ipv6-address } [ port local-port-number ] ] [ ssl ssl-policy-name ] -
(Opcional) Especifique um controlador e configure uma conexão auxiliar com o controlador.
controller id auxiliary auxiliary-id transport { tcp | udp | ssl ssl-policy-name } [ address { ip ipv4-address | ipv6 ipv6-address } ] [ port port-number ] -
(Opcional) Defina o modo de interrupção da conexão.
fail-open mode { secure | smart | standalone } -
(Opcional) Habilite o backup da conexão OpenFlow.
tcp-connection backup
Por padrão, uma instância do OpenFlow não tem uma conexão principal com um controlador. O endereço IP de origem deve ser o endereço IP de uma porta pertencente a uma instância do OpenFlow. Caso contrário, o switch OpenFlow pode não conseguir estabelecer uma conexão com o controlador. Por padrão, uma instância do OpenFlow não tem conexões auxiliares com um controlador. Se nenhum endereço IP de destino e número de porta forem especificados, a conexão auxiliar usará o endereço IP de destino e o número de porta configurados para a conexão principal. Por padrão, o modo seguro é usado. Por padrão, o backup da conexão OpenFlow está ativado. Esse recurso evita a interrupção da conexão quando ocorre uma alternância entre ativo e em espera. Esse recurso está disponível somente em uma malha IRF com dois dispositivos membros. Esse recurso está disponível apenas para conexões OpenFlow estabelecidas por TCP.
Configuração de uma instância do OpenFlow
Sobre a configuração do servidor SSL para uma instância do OpenFlow
Normalmente, uma instância do OpenFlow se conecta ativamente ao controlador atuando como um cliente TCP/SSL. Depois que o servidor SSL é ativado para uma instância do OpenFlow, o controlador atua como cliente SSL e se conecta ativamente à instância do OpenFlow. Para obter mais informações sobre SSL, consulte o Guia de configuração de segurança.
Restrições e diretrizes
Esse recurso pode entrar em vigor sem a ativação de uma instância do OpenFlow.
Para reconfigurar o servidor SSL, primeiro execute a forma undo do comando para excluir a configuração existente do servidor SSL.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Configure uma instância do OpenFlow para atuar como um servidor SSL para ouvir os controladores.
listening port port-number ssl ssl-policy-name
Por padrão, uma instância do OpenFlow não está configurada para atuar como um servidor SSL que escuta os controladores.
Atualização de todas as entradas de fluxo da Camada 3 nas tabelas de fluxo MAC-IP para uma instância OpenFlow
Sobre a atualização de todas as entradas de fluxo da Camada 3 nas tabelas de fluxo MAC-IP
Execute esta tarefa para obter todas as entradas de fluxo da Camada 3 nas tabelas de fluxo MAC-IP do controlador novamente se as entradas de fluxo da Camada 3 tiverem sido substituídas.
Restrições e diretrizes
- Entre na visualização do sistema.
system-view -
Entre na visualização da instância OpenFlow.
openflow instance instance-id -
Atualizar todas as entradas de fluxo da Camada 3 nas tabelas de fluxo MAC-IP.
refresh ip-flow
Desligamento de uma interface pelo OpenFlow
Sobre o desligamento da interface
Depois que uma interface é desligada pelo OpenFlow, o campo Estado atual exibe OFP DOWN no campo
saída do comando da interface de exibição.
Você pode usar o comando undo openflow shutdown para ativar uma interface desativada pelo OpenFlow. A interface também pode ser ativada por mensagens de modificação de porta dos controladores.
Procedimento
- Entre na visualização do sistema.
system-view -
Entre na visualização da interface.
interface interface-type interface-number - Desligar uma interface pelo OpenFlow.
openflow shutdown
Por padrão, uma interface não é desligada pelo OpenFlow.
Comandos de exibição e manutenção para OpenFlow
Executar comandos de exibição em qualquer visualização.
| Tarefa | Comando |
| Exibir as informações detalhadas de uma instância OpenFlow. | exibir instância de fluxo aberto [ instance-id ] |
| Exibir informações do controlador para uma instância OpenFlow. | exibir o ID da instância do openflow { controller [ controller-id ] | listado } |
| Exibir informações de conexão auxiliar. | display openflow instance instance-id auxiliary [ controller-id [ auxiliary-id ] ] ] |
| Exibir entradas da tabela de fluxo para uma instância OpenFlow. | exibir o ID da instância do openflow tabela de fluxo [ table-id ] |
| Exibir informações da tabela de grupos para uma instância do OpenFlow. | exibir o ID da instância do openflow grupo [ group-id ] |
| Exibir informações da tabela de medidores para uma instância OpenFlow. | exibir o ID da instância do openflow medidor [ meter-id ] |
| Exibir informações resumidas da instância OpenFlow. | exibir resumo do fluxo aberto |
| Limpar estatísticas sobre pacotes que um controlador envia e recebe para uma instância OpenFlow. | reset openflow instance instance-id { controller [ controller-id ] | listado } estatísticas |
Exemplos de configuração do OpenFlow
Exemplo: Configuração do OpenFlow no modo VLAN
Configuração de rede
Conforme mostrado na Figura 7, um switch OpenFlow se comunica com o controlador. Execute as seguintes tarefas no switch OpenFlow:
- Crie a instância 1 do OpenFlow, associe as VLANs 4092 e 4094 à instância do OpenFlow e ative a instância do OpenFlow.
- Configure o endereço IP do controlador 1 para que o controlador gerencie o switch OpenFlow.
Figura 7 Diagrama de rede
Procedimento
# Crie as VLANs 4092 e 4094.
<Switch> system-view
[Switch] vlan 4092
[Switch-vlan4092] quit
[Switch] vlan 4094
[Switch-vlan4094] quit
# Crie a instância 1 do OpenFlow e associe VLANs a ela.
[Switch] openflow instance 1
[Switch-of-inst-1] classification vlan 4092 mask 4093
# Especifique o controlador 1 para a instância 1 do OpenFlow e ative a instância.
[Switch-of-inst-1] controller 1 address ip 192.168.49.49
[Switch-of-inst-1] active instance
[Switch-of-inst-1] quit
Verificação da configuração
# Exibir informações detalhadas sobre a instância do OpenFlow.
[Switch] display openflow instance 1
Instance 1 information:
Configuration information:
Description : --
Active status : Active
Inactive configuration:
None
Active configuration:
Controller Switch Host A
Host B
192.168.49.49
17
Classification VLAN, total VLANs(2)
4092, 4094
In-band management VLAN, total VLANs(0)
Empty VLAN
Connect mode: Multiple
Mac-address learning: Enabled
Flow table:
Table ID(type): 0(Extensibility), count: 0
Flow-entry max-limit: 65535
Datapath ID: 0x0064001122000101
Default table-miss: Permit
Forbidden port: VLAN interface
Qinq Network: Disabled
TCP connection backup: Enabled
Port information:
GigabitEthernet1/0/3
Active channel information:
Controller 1 IP address: 192.168.49.49 port: 6633
Apêndice A Restrições do aplicativo
Restrições de entrada de fluxo
Restrições de correspondência
Correspondência de VLAN
A Tabela 1 descreve as restrições de correspondência de VLAN quando uma instância do OpenFlow está associada a VLANs.
| VLAN | Máscara | Pacotes de correspondência |
| - | - | Todos os pacotes nas VLANs que estão associadas à instância do OpenFlow. |
| 0 | - | Pacotes sem uma tag de VLAN. O PVID da porta de entrada deve estar associado à instância do OpenFlow. |
| 0 | Valor | Sem suporte. |
| VLAN válida | -/valor | Sem suporte. |
| 0x1000 | -/valor (exceto 0x1000) | Sem suporte. |
| 0x1000 | 0x1000 | Pacotes com uma tag de VLAN. A VLAN ID da tag de VLAN deve estar associada à instância do OpenFlow. |
| VLAN válida 0x1000 | -/valor | Correspondência de pacotes pela combinação da VLAN ID e da máscara de VLAN. As VLANs obtidas por meio da combinação da VLAN ID e da máscara de VLAN devem ser associadas à instância do OpenFlow. |
| Outros | Outros | Sem suporte. |
Correspondência de pacotes de protocolo
Se os protocolos estiverem ativados, os pacotes de protocolo (exceto os quadros LLDP) serão processados pelos protocolos correspondentes em vez do protocolo OpenFlow.
Para obter mais informações sobre a correspondência de quadros LLDP, consulte "Correspondência de quadros LLDP".
Correspondência de metadados
Os metadados passam informações correspondentes entre as tabelas de fluxo. O controlador implementa entradas de correspondência de metadados somente em tabelas de fluxo que não sejam as primeiras. Se o controlador implantar uma entrada de correspondência de metadados na primeira tabela de fluxo, o switch retornará um erro de fluxo não suportado.
Restrições de instrução
| Tipo de instrução | Restrições |
| Ações claras | A instrução Clear-Actions tem as seguintes restrições: Para a tabela de fluxo único, as entradas de fluxo da tabela não podem incluir essa instrução e outras instruções ao mesmo tempo. Para várias tabelas de fluxo do pipeline, somente as entradas de fluxo da primeira tabela de fluxo podem incluir essa instrução e outras instruções ao mesmo tempo. |
| Aplicar ações | A lista de ações da instrução Apply-Actions não pode incluir várias ações de Saída. Quando a lista de ações inclui apenas uma ação de Saída, o switch processa a lista de ações conforme descrito em "Restrições para mesclar a lista de ações no conjunto de ações". |
| Escrever metadados/máscara | As entradas de fluxo da última tabela do pipeline não podem incluir essa instrução. Caso contrário, o switch retorna um erro de fluxo não suportado. |
| Mesa Goto |
Restrições para mesclar a lista de ações no conjunto de ações
O switch segue as seguintes restrições para mesclar a lista de ações no conjunto de ações.
Ações que não são de saída
Quando o conjunto de ações e a lista de ações não contiverem a ação Saída ou Grupo, aplicam-se as seguintes regras:
- Se as ações do conjunto de ações não entrarem em conflito com as ações da lista de ações, o switch mescla a lista de ações com o conjunto de ações.
- Se as ações do conjunto de ações entrarem em conflito com as ações da lista de ações, as ações da lista de ações serão substituídas pelas ações do conjunto de ações.
Ações de saída
Quando o conjunto de ações e a lista de ações contêm a ação Saída ou a ação Grupo, as seguintes regras se aplicam:
- Se tanto a lista de ações quanto o conjunto de ações contiverem uma ação de Saída, a ação de Saída na lista de ações terá precedência. A ação de Saída na lista de ações não modifica o pacote. A ação de Saída no conjunto de ações é executada na última etapa do processamento do pipeline para modificar o pacote.
- Se a lista de ações ou o conjunto de ações contiver uma ação de Saída, a porta especificada pela ação de Saída será tratada como a porta de saída. As ações são executadas na ordem definida pelas regras do conjunto de ações.
- Se a lista de ações contiver uma ação de Saída e o conjunto de ações contiver uma ação de Grupo, aplicam-se as seguintes regras:
- A ação Output não modifica o pacote.
- A ação Group é executada.
Restrições de mensagens de saída de pacotes
Porta de entrada
A porta de entrada deve ser uma porta física ou lógica quando uma das seguintes portas reservadas for a porta de saída em uma mensagem de saída de pacote:
- Normal.
- Local.
- No porto.
- Controlador.
ID do buffer coexistente com o pacote
Se uma mensagem de saída de pacote contiver o pacote e o ID do buffer que representa o pacote armazenado no switch, o switch processará somente o pacote armazenado no buffer. O switch ignora o pacote na mensagem.
Pacotes sem uma etiqueta de VLAN
Se o pacote contido em uma mensagem de saída de pacote não tiver uma tag de VLAN, o switch executará as seguintes operações:
- Marca o pacote com o PVID da porta de entrada.
- Encaminha o pacote dentro da VLAN.
O switch processa o pacote da seguinte forma quando a porta de entrada é uma porta reservada:
- Se a porta de saída for uma porta física ou lógica, o switch marcará o pacote com o PVID da porta de saída e encaminhará o pacote dentro da VLAN.
- Se a porta de saída for a porta Flood ou All reserved, o switch processará o pacote conforme descrito em "Porta de saída".
Porta de saída
Se a porta de saída em uma mensagem de saída de pacote for a porta Flood ou All reserved, o switch processará o pacote contido na mensagem de saída de pacote da seguinte forma:
- Quando a porta de saída é a porta reservada do Flood:
- Se o pacote tiver uma tag de VLAN, o switch transmitirá o pacote dentro da VLAN.
- Se o pacote não tiver nenhuma tag de VLAN e a porta de entrada for uma porta física ou lógica, o switch marca o pacote com o PVID da porta de entrada. Em seguida, o switch encaminha o pacote dentro da VLAN.
- Se o pacote não tiver etiqueta de VLAN e a porta de entrada for a porta reservada do Controlador, o switch encaminhará o pacote para todas as portas OpenFlow.
- Quando a porta de saída é a porta Todos reservados:
- Se o pacote tiver uma tag de VLAN, o switch transmitirá o pacote dentro da VLAN.
- Se o pacote não tiver etiqueta de VLAN, o switch encaminha o pacote para todas as portas OpenFlow , independentemente do tipo de porta de entrada.
Restrições de mensagens de entrada de pacotes
Processamento de tags de VLAN
Ao enviar uma mensagem de entrada de pacote para o controlador, o switch processa a tag de VLAN do pacote contido na mensagem de saída de pacote da seguinte forma:
- Se a tag de VLAN do pacote for a mesma do PVID da porta de entrada, o switch removerá a tag de VLAN.
- Se a tag de VLAN do pacote for diferente do PVID da porta de entrada, o switch não removerá a tag de VLAN.
Buffer de pacotes
Se uma mensagem de pacote de entrada for enviada ao controlador devido à ausência de entrada de fluxo correspondente, o switch suporta o armazenamento em buffer do pacote contido na mensagem de pacote de entrada. O tamanho do buffer é de 1K pacotes.
Se uma mensagem de entrada de pacote for enviada ao controlador por outros motivos, o switch não suporta o armazenamento em buffer do pacote contido na mensagem de entrada de pacote. O switch deve enviar o pacote completo ao controlador, e o campo cookie do pacote é definido como 0xFFFFFFFFFFFFFFFF.
Correspondência de quadros LLDP
O LLDP é usado para realizar a descoberta de topologia em uma rede OpenFlow. O LLDP deve ser ativado globalmente em um dispositivo. Um switch envia um quadro LLDP para o controlador por meio da mensagem de entrada de pacote quando as condições a seguir estão presentes:
- A porta que recebe o quadro LLDP do controlador pertence às instâncias do OpenFlow.
- As tabelas de fluxo na instância do OpenFlow têm uma entrada de fluxo que corresponde ao quadro LLDP (a porta de saída é a porta reservada do Controlador).
Restrições de mensagens de modificação da tabela de fluxo
As mensagens de modificação da tabela de fluxo têm as seguintes restrições para a entrada de fluxo table-miss e entradas de fluxo comuns.
Entrada de fluxo ausente na tabela
O controlador implementa a entrada de fluxo table-miss (a ação é Drop) em uma instância OpenFlow depois que a instância OpenFlow é ativada.
O controlador não pode consultar a entrada de fluxo table-miss por meio de mensagens Multipart.
O controlador não pode modificar a entrada de fluxo de falta de tabela por meio da solicitação Modificar. O controlador só pode modificar a entrada de fluxo de falta de tabela por meio da solicitação Add (Adicionar).
O controlador pode modificar ou excluir a entrada de fluxo de falta de tabela somente por meio da versão restrita da solicitação Modificar ou Excluir. O controlador não pode modificar ou remover a entrada de fluxo de falta de tabela por meio da versão não restrita da solicitação Modificar ou Excluir, apesar de os campos de correspondência serem curingas.
O controlador implementa uma entrada de fluxo table-miss (a ação é Drop) em uma instância OpenFlow depois que a entrada de fluxo table-miss atual é excluída.
Entradas de fluxo comuns
O controlador não pode modificar ou remover todas as entradas de fluxo comuns por meio da versão não restrita da solicitação Modificar ou Excluir, apesar de os campos de correspondência serem curingas.
Apêndice B Tabela de fluxo MAC-IP
Recursos suportados pela tabela de fluxo MAC-IP
O controlador deve incluir os campos e ações de correspondência necessários e pode incluir os campos e ações de correspondência opcionais nas entradas de fluxo implantadas na tabela de fluxo MAC-IP. Se o controlador não incluir os campos e ações de correspondência opcionais nas entradas de fluxo, o switch os adicionará às entradas de fluxo por padrão.
As entradas de fluxo da camada 2 são implementadas usando entradas de endereço MAC. A Tabela 3 descreve os recursos suportados pelas entradas de fluxo da Camada 2.
Tabela 3 Recursos suportados pelas entradas de fluxo da Camada 2
| Item | Recursos |
| Campos de correspondência obrigatórios | A tabela de fluxo MAC-IP deve suportar os seguintes campos de correspondência: VLAN ID. Endereço MAC de destino unicast. |
| Campos de correspondência opcionais | N/A |
| Ações necessárias | Especificar a porta de saída. |
As entradas de fluxo da camada 3 são implementadas por meio de entradas de roteamento. A Tabela 4 descreve os recursos suportados pelas entradas de fluxo da Camada 3.
Tabela 4 Recursos suportados pelas entradas de fluxo da Camada 3
| Item | Recursos |
| Campos de correspondência obrigatórios | A tabela de fluxo MAC-IP deve suportar os seguintes campos de correspondência: VLAN ID. Endereço IP de destino unicast. Endereço MAC de destino unicast, que deve ser o endereço MAC da interface de VLAN para a VLAN correspondente. |
| Campos de correspondência opcionais | N/A |
| Ações necessárias | Especificar a porta de saída. |
Restrições da tabela de fluxo MAC-IP
O controlador deve seguir as restrições das tabelas a seguir para implementar entradas de fluxo na tabela de fluxo MAC-IP. Caso contrário, poderá ocorrer falha no encaminhamento.
Tabela 5 Restrições para a implementação de entradas de fluxo de camada 2 para a tabela de fluxo MAC-IP
| Item | Restrições |
| Campos de correspondência | O endereço MAC de destino não pode ser o endereço MAC do switch para o qual a entrada de fluxo foi implantada. |
| Ações | A porta de saída deve pertencer à VLAN correspondente. |
Tabela 6 Restrições para a implementação de entradas de fluxo da camada 3 para a tabela de fluxo MAC-IP
| Item | Restrições |
| Campos de correspondência | A interface VLAN da VLAN correspondente está em estado ativo. O endereço MAC de destino é o endereço MAC da interface de VLAN para a VLAN correspondente. O endereço IP de destino não pode ser o endereço IP do switch no qual a entrada de fluxo está implantada. |
| Ações | A porta de saída especificada deve pertencer à VLAN de destino. O endereço MAC de destino não pode ser o endereço MAC do switch para o qual a entrada de fluxo foi implantada. Se o switch modificar o endereço MAC de origem, o endereço MAC de origem deverá ser o endereço MAC da interface da VLAN para a VLAN à qual a porta de saída está conectada. |
Para implementar uma entrada de fluxo da Camada 3, certifique-se de que os seguintes requisitos sejam atendidos:
- A interface VLAN da VLAN correspondente está em estado ativo.
- O switch envia ao controlador um pacote que indica que a interface VLAN atua como uma porta OpenFlow. O estado do link e o endereço MAC da interface VLAN também são incluídos no pacote.
O switch informa a exclusão da interface VLAN ao controlador e o controlador remove a entrada de fluxo da Camada 3 correspondente.
O controlador garante a exatidão das entradas de fluxo da Camada 3. O switch não verifica as restrições das entradas de fluxo da Camada 3.
Entrada de fluxo de falha de tabela de tabelas de fluxo MAC-IP
A entrada de fluxo table-miss de uma tabela de fluxo MAC-IP é compatível com as seguintes ações de saída:
- Goto-Table - Direciona o pacote para a próxima tabela.
- Drop - Soltar o pacote.
- Controlador - Envie o pacote para o controlador.
- Normal - encaminha o pacote para o pipeline normal.
Consciente dinâmico
Em um switch OpenFlow compatível com tabelas de fluxo MAC-IP, você pode configurar o OpenFlow para suportar a consulta e a exclusão de entradas de fluxo de endereço MAC dinâmico.
O controlador pode consultar e excluir entradas dinâmicas de fluxo de endereço MAC especificando uma VLAN, um endereço MAC ou a combinação de um endereço MAC e uma VLAN.
Tabela de fluxo MAC-IP que coopera com a tabela de fluxo de extensibilidade
Metadados/máscara
A tabela de fluxo MAC-IP é compatível com a instrução Write Metadata/mask (Gravar metadados/máscara) e a tabela de fluxo de extensibilidade é compatível com a correspondência de metadados/máscara. A tabela de fluxo MAC-IP pode cooperar com uma tabela de fluxo de extensibilidade para executar o processo de pipeline de várias tabelas usando metadados/máscara.
Cada bit de máscara de metadados tem um significado diferente. A definição do bit de metadados correspondente indica que o bit de máscara de metadados é correspondido. Quando o bit de metadados correspondente não está definido, o bit de máscara de metadados é curinga.
Tabela 7 Significados das máscaras de metadados
| Bit de máscara de metadados | Significado | Metadados |
| Bit 0 | Endereço MAC de destino | 1-Set. Corresponde ao endereço MAC de destino. 0-Não definido. Não corresponde ao endereço MAC de destino. |
| Bit 1 | Endereço MAC de origem | 1-Set. Corresponde ao endereço MAC de origem. 0-Não definido. Não corresponde ao endereço MAC de origem. |
| Bit 2 | Endereço IP de destino | 1-Set. Corresponde ao endereço IP de destino. 0-Não definido. Não corresponde ao endereço IP de destino. |
| Bit de máscara de metadados | Significado | Metadados |
| Outros | Reservado | Reservado. |
Restrições de correspondência
Quando a ação de saída em uma tabela de fluxo de extensibilidade não é Normal, as seguintes regras se aplicam:
- A tabela de fluxo MAC-IP não entra em vigor.
- Todas as ações são executadas de acordo com a tabela de fluxo de extensibilidade.
Quando a ação de saída em uma tabela de fluxo de extensibilidade é Normal, as seguintes regras se aplicam:
- A ação de saída é executada de acordo com a tabela de fluxo MAC-IP.
- As outras ações são executadas de acordo com a tabela de fluxo de extensibilidade.