Contents

Introduction

Informações de fundo

Desafios do ELAM

Conceitos básicos do ELAM

Fluxo de trabalho do ELAM

Encaminhamento centralizado versus distribuído

Barramento de dados (DBUS) e barramento de resultado (RBUS)

Lógica de destino local (LTL)

Bit de Inundação

Exemplos de ELAM

Nomes ASIC internos

Formas adicionais de usar o ELAM

Informações Relacionadas

Introduction

Este documento descreve o que é o ELAM (Embedded Logic Analyzer Module), suas desvantagens e como usá-lo da melhor forma.

Informações de fundo

Com o aumento da complexidade dos dispositivos e protocolos de rede, pode ser extremamente difícil descobrir a origem de um problema de rede. Frequentemente, você deve determinar se um quadro é recebido e encaminhado corretamente em um dispositivo específico. Há várias ferramentas de captura, depurações e truques disponíveis para ajudar a responder a essa pergunta. No entanto, nem todos são viáveis ou estão disponíveis para serem executados em uma rede de produção.

O ELAM é uma ferramenta de engenharia que permite que você veja os Cisco ASICs e entenda como um pacote é encaminhado. Ele é incorporado no pipeline de encaminhamento e pode capturar um pacote em tempo real sem interrupções no desempenho ou nos recursos do plano de controle. Ele ajuda a responder a perguntas como:

- O pacote chegou ao FE (Forwarding Engine)?

- Em que porta e VLAN o pacote é recebido?

- Como o pacote aparece (dados da camada 2 (L2) - camada 4 (L4))?

- Como o pacote é alterado e onde é enviado?

O ELAM é extremamente poderoso, granular e não intrusivo. É uma valiosa ferramenta de solução de problemas para engenheiros do Cisco Technical Assistance Center (TAC) que trabalham em plataformas de switching de hardware.

Desafios do ELAM

O ELAM foi projetado como uma ferramenta de diagnóstico para uso interno. A sintaxe CLI usa nomes de código internos para Cisco ASICs, portanto a interpretação dos dados ELAM exige arquitetura específica de hardware e conhecimento de encaminhamento. Muitos desses detalhes não podem ser explicados porque expõem os recursos proprietários internos da Cisco que tornam os dispositivos da Cisco os melhores na classe.

Por esses motivos, o ELAM não é um recurso suportado pelo cliente e permaneceu uma ferramenta de diagnóstico para uso interno. Não há guias de configuração externa e a sintaxe e operação podem mudar de versão para versão sem aviso prévio.

Considerando estes desafios e a isenção de responsabilidade, aqui estão os motivos pelos quais a ELAM é descrita agora:

- Primeiro, é muito comum um engenheiro do TAC usar o ELAM para isolar um problema. O TAC pode solicitar que você execute o ELAM se o problema for intermitente. É importante entender que essas etapas não são intrusivas e como elas podem ajudar a fornecer uma análise da causa básica.

- Além disso, às vezes, não há outras ferramentas disponíveis que possam ajudar a isolar um problema. Por exemplo, quando nenhuma alteração de configuração é permitida durante o horário de produção para SPAN, acertos de ACL ou depurações invasoras. Pode não haver tempo para alcançar o TAC, e o ELAM pode ser uma ferramenta extremamente útil para ter como último recurso.

Conceitos básicos do ELAM

O ELAM pode ser executado sem o conhecimento completo da arquitetura de cada plataforma. Esta seção descreve os conceitos básicos necessários para executar um ELAM nas plataformas de switch Cisco Catalyst 6500 e 7600 Series (conhecido como simplesmente 6500 e 7600, respectivamente), juntamente com a plataforma de switch Nexus 7000 Series.

Fluxo de trabalho do ELAM

Como mencionado anteriormente, o ELAM depende do hardware subjacente; portanto, a sintaxe CLI depende do hardware em uso. No entanto, cada plataforma segue um fluxo de trabalho semelhante, como mostrado nesta imagem:

Note: Consulte a seção Exemplos de ELAM para ver como esse fluxo de trabalho é aplicado em diferentes plataformas.

Estas quatro etapas, que são detalhadas posteriormente nesta seção, descrevem o fluxo de trabalho:

1. Identifique o FE de entrada esperado. Quando as plataformas têm mais de um FE, é essencial identificar o FE que toma a decisão de encaminhamento para o pacote que você deseja capturar. Configure o ELAM no FE correto.

2. Configure o gatilho ELAM. Você deve configurar um gatilho com detalhes específicos do pacote que deseja capturar. Os acionadores comuns incluem um endereço IP origem e destino ou números de porta L4. O ELAM permite que vários campos sejam especificados e executa um AND lógico em todos os campos configurados.

3. Inicie o ELAM.

4. Aguarde o ELAM disparar e exibir o resultado.

Encaminhamento centralizado versus distribuído

A primeira etapa que você deve concluir para executar um ELAM é identificar o FE correto. Um 6500 com cartões de linha de encaminhamento clássicos ou centralizados (CFC) usa encaminhamento centralizado, onde o supervisor ativo toma a decisão de encaminhamento. Para pacotes que ingressam em placas de linha clássicas ou CFC, você deve executar o ELAM no supervisor ativo.

Com placas de linha habilitadas para encaminhamento distribuído (DFC - Distributed Forwarding), a decisão de encaminhamento é tomada localmente por um FE na placa de linha sem o supervisor. Para pacotes que ingressam em placas de linha DFC, você deve executar o ELAM na própria placa de linha.

Para a plataforma do switch Nexus 7000 Series, todas as placas de linha são totalmente distribuídas. Além disso, a maioria das placas de linha tem vários FEs. Ao configurar o ELAM, você deve saber a porta na qual o pacote é recebido e determinar o FE que mapeia para essa porta.

Para obter informações adicionais sobre hardware e arquitetura de encaminhamento, consulte estes artigos do Cisco Live 365:

- Arquitetura do switch Cisco Catalyst 6500 BRKARC-3465

- BRKARC-3470 - Arquitetura do switch Cisco Nexus 7000

Barramento de dados (DBUS) e barramento de resultado (RBUS)

O DBUS contém informações usadas pelo FE para tomar uma decisão de encaminhamento. Contém vários campos internos específicos da plataforma, juntamente com as informações do cabeçalho de um quadro. Visualize o DBUS para ajudar a determinar onde o pacote é recebido e as informações do pacote L2-L4.

O RBUS contém a decisão de encaminhamento tomada pelo FE. Visualize o RBUS para ajudar a determinar se o quadro está alterado e para onde ele é enviado.

Lógica de destino local (LTL)

O LTL é um índice usado para representar uma porta ou um grupo de portas. O índice LTL de origem e o índice LTL de destino mostram onde o quadro é recebido e onde é enviado.

Note: Diferentes plataformas e supervisores usam diferentes comandos para decodificar os valores de LTL.

Bit de Inundação

Os valores LTL são exibidos como cinco ou menos números hexadecimais (0xa2c, por exemplo). O bit de inundação é o 16º bit no resultado LTL. Frequentemente, o RBUS exibe um campo com o índice LTL de destino e tem um campo separado para o bit de inundação. É importante mesclar esses resultados para o LTL correto. Por exemplo:

RBUS:

FLOOD ........................... [1] = 1

DEST_INDEX ...................... [19] = 0x48

Neste exemplo, o índice de LTL de destino é 0x48. Como o bit de inundação é 1, você deve definir o 16º bit no LTL como 1:

0x00048 = 0000 0000 0000 0100 1000

|

+---- Flood bit, set to 1 = 0x08048

Depois de contabilizar o bit de inundação, o índice de destino se tornou 0x8048.

Exemplos de ELAM

A finalidade desses exemplos é ilustrar como o ELAM é usado para validar fluxos unicast básicos de IPv4 ou IPV6. Conforme descrito na seção Desafios ELAM deste documento, não é prático explicar todos os campos internos ou tipos de pacotes, como recirculação para multicast, túneis e MPLS.

Siga estes links para obter exemplos de uso de ELAM com dispositivos diferentes:

- Procedimento de ELAM do Catalyst 6500 Series Switches com Supervisor Engine 720

- Procedimento de ELAM do Catalyst 6500 Series Switches com mecanismo de supervisão 2T

- Procedimento ELAM do módulo Nexus 7000 M-Series

- Procedimento ELAM do módulo Nexus 7000 M3

- Procedimento ELAM do módulo Nexus 7000 F1

- Procedimento ELAM do módulo Nexus 7000 F2

- Visão geral do Nexus 6000 Switch ELAM

Nomes ASIC internos

Como referência, o nome ASIC interno atribuído ao ELAM para cada tipo de módulo está listado nesta tabela:

Platform

Tipo de módulo

Nome ASIC interno

Catalyst 6500/Cisco 7600

Sup720 (PFC3, DFC3)

Superman

Catalyst 6500

Sup2T (PFC4, DFC4)

Eureka

Nexus 7000

Série M (M1 e M2)

Eureka

Nexus 7000

Módulo M3

F4

Nexus 7000

F1

Orion

Nexus 7000

F2

Clipper

Nexus 7000

F3

Flandres

Nexus 6000

N/A

Bigsur

Formas adicionais de usar o ELAM

Há uma maneira mais amigável de usar o ELAM. Com o Cisco IOS® versões 12.2(50)SY e posteriores, a Cisco adicionou o comando show platform datapath para os 6500s que executam o Supervisor Engine 2T (Sup2T). Esse comando usa ELAM para capturar e exibir o resultado de encaminhamento de um pacote específico.

Para as plataformas de switch Nexus 7000 Series, um script fácil de usar, elame, foi adicionado no Cisco IOS versão 6.2(2) para aproveitar o ELAM:

N7KA# source sys/elame

elam helper, version 1.015

Usage:

elame [<src>] <dest> [vlan <vlan#>] [vrf <vrf_name>] [int <interface> | vdc] [trace]

Na saída:

- Os <src> e <dest> são endereços IPV4 no formato 1.2.3.4.

- As opções <vlan> e <interface> indicam a VLAN/interface de entrada.

- O vdc indica que todos os ELAMs nos Virtual Device Context (VDC) atuais são usados.

- O [trace] indica que o sistema mantém registro de todas as saídas no volátil (elame.log).

Observe que o script de nome não é suportado nos módulos F3 e em outras placas de linha N77xx neste momento. Alguns bugs de aprimoramento foram arquivados para melhorar o script do Elame e ainda está sendo analisado pela unidade de negócios.

- ID de bug da Cisco CSCuy42559

- ID de bug da Cisco CSCuw60869

Note: O Elam é uma ferramenta interna e deve ser usado somente sob supervisão do TAC/BU.

Informações Relacionadas

- BRKARC-2011 - Visão geral das ferramentas de solução de problemas em switches e roteadores Cisco - Cisco Live 365

- Suporte Técnico e Documentação - Cisco Systems