Contenu

Introduction

Informations générales

Défis d'ELAM

Notions de base sur ELAM

Workflow ELAM

Transfert centralisé et transfert distribué

Data Bus (DBUS) et Result Bus (RBUS)

Logique cible locale (LTL)

Bit d'inondation

Exemples ELAM

Noms ASIC internes

Autres façons d'utiliser ELAM

Informations connexes

Introduction

Ce document décrit ce qu'est le module ELAM (Embedded Logic Analyzer Module), ses inconvénients et comment l'utiliser au mieux.

Informations générales

Avec la complexité croissante des périphériques et des protocoles réseau, il peut être extrêmement difficile de découvrir la source d’un problème réseau. Souvent, vous devez déterminer si une trame est reçue et transmise correctement sur un périphérique particulier. Plusieurs outils de capture, débogages et astuces sont disponibles pour répondre à cette question. Cependant, tous ne sont pas réalisables ou disponibles pour fonctionner sur un réseau de production.

ELAM est un outil d'ingénierie qui vous permet de consulter les circuits intégrés Cisco ASIC et de comprendre comment un paquet est transféré. Il est incorporé dans le pipeline de transfert et peut capturer un paquet en temps réel sans perturber les performances ou les ressources du plan de contrôle. Il permet de répondre à des questions telles que :

- Le paquet a-t-il atteint le moteur de transfert (FE) ?

- Sur quel port et quel VLAN le paquet est-il reçu ?

- Comment le paquet apparaît-il (données de couche 2 (L2) - couche 4 (L4)) ?

- Comment le paquet est-il modifié et où est-il envoyé ?

ELAM est extrêmement puissant, granulaire et non intrusif. Il s'agit d'un outil de dépannage précieux pour les ingénieurs du centre d'assistance technique Cisco (TAC) qui travaillent sur des plates-formes de commutation matérielle.

Défis d'ELAM

ELAM a été conçu comme un outil de diagnostic pour une utilisation interne. La syntaxe CLI utilise des noms de code internes pour les ASIC Cisco, de sorte que l'interprétation des données ELAM nécessite une architecture spécifique au matériel et des connaissances de transfert. Beaucoup de ces détails ne peuvent pas être expliqués car ils exposent les fonctionnalités propriétaires internes de Cisco qui font des périphériques Cisco les meilleurs de leur catégorie.

Pour ces raisons, ELAM n'est pas une fonctionnalité prise en charge par le client et est resté un outil de diagnostic pour une utilisation interne. Il n'existe aucun guide de configuration externe et la syntaxe et l'opération peuvent changer de version en version sans préavis.

Compte tenu de ces défis et de l'exclusion de responsabilité, voici les raisons pour lesquelles ELAM est décrit aujourd'hui :

- Tout d'abord, il est très courant pour un ingénieur TAC d'utiliser ELAM afin d'isoler un problème. Le TAC peut vous demander d'exécuter ELAM si le problème est intermittent. Il est important de comprendre que ces étapes sont non intrusives et comment elles peuvent aider à fournir une analyse des causes profondes.

- En outre, il n'existe parfois aucun autre outil disponible qui puisse aider à isoler un problème. Par exemple, lorsqu'aucune modification de configuration n'est autorisée pendant les heures de production pour SPAN, les accès ACL ou les débogages intrusifs. Il n'y a peut-être pas le temps d'atteindre le TAC, et ELAM peut être un outil extrêmement utile en dernier recours.

Notions de base sur ELAM

ELAM peut être réalisé sans connaissance complète de l'architecture de chaque plate-forme. Cette section décrit les éléments de base nécessaires pour exécuter un ELAM sur les plates-formes de commutation des gammes Cisco Catalyst 6500 et 7600 (appelées 6500 et 7600, respectivement), ainsi que sur la plate-forme de commutation Nexus 7000.

Workflow ELAM

Comme indiqué précédemment, ELAM dépend du matériel sous-jacent ; par conséquent, la syntaxe CLI dépend du matériel utilisé. Cependant, chaque plate-forme suit un workflow similaire, comme illustré dans cette image :

Note: Reportez-vous à la section Exemples ELAM afin de voir comment ce flux de travail est appliqué à différentes plates-formes.

Ces quatre étapes, qui sont détaillées plus loin dans cette section, décrivent le workflow :

1. Identifiez le FE d'entrée attendu. Lorsque les plates-formes ont plus d'un FE, il est essentiel d'identifier le FE qui prend la décision de transfert pour le paquet que vous voulez capturer. Configurez l'ELAM sur le FE correct.

2. Configurez le déclencheur ELAM. Vous devez configurer un déclencheur avec des détails spécifiques au paquet que vous voulez capturer. Les déclencheurs courants incluent une adresse IP source et de destination ou des numéros de port de couche 4. ELAM permet de spécifier plusieurs champs et exécute un ET logique sur tous les champs configurés.

3. Démarrez l'ELAM.

4. Attendez que l'ELAM se déclenche et affiche le résultat.

Transfert centralisé et transfert distribué

La première étape que vous devez effectuer pour exécuter un ELAM consiste à identifier le FE correct. Un 6500 avec des cartes de ligne CFC (Centralized Forwarding) classiques ou centralisées utilise le transfert centralisé, où le superviseur actif prend la décision de transfert. Pour les paquets qui entrent sur des cartes de ligne classiques ou CFC, vous devez exécuter l'ELAM sur le superviseur actif.

Avec les cartes de ligne DFC (Distributed Forwarding), la décision de transfert est prise localement par un FE sur la carte de ligne sans le superviseur. Pour les paquets qui entrent dans les cartes de ligne DFC, vous devez exécuter l'ELAM sur la carte de ligne elle-même.

Pour la plate-forme de commutation Nexus 7000, toutes les cartes de ligne sont entièrement distribuées. En outre, la plupart des cartes de ligne ont plusieurs FE. Lorsque vous configurez l'ELAM, vous devez connaître le port sur lequel le paquet est reçu et déterminer le FE qui correspond à ce port.

Pour plus d'informations sur le matériel et l'architecture de transfert, reportez-vous aux articles suivants du Cisco Live 365 :

- BRKARC-3465 Architecture de commutateur Cisco Catalyst 6500

- BRKARC-3470 - Architecture du commutateur Cisco Nexus 7000

Data Bus (DBUS) et Result Bus (RBUS)

Le DBUS contient des informations utilisées par le FE pour prendre une décision de transfert. Il contient plusieurs champs internes spécifiques à la plate-forme, ainsi que les informations d’en-tête d’une trame. Affichez le DBUS afin de déterminer où le paquet est reçu et les informations de couche 2 à couche 4 du paquet.

Le RBUS contient la décision de transmission prise par le FE. Affichez le RBUS afin de déterminer si la trame est modifiée et où elle est envoyée.

Logique cible locale (LTL)

La LTL est un index utilisé pour représenter un port ou un groupe de ports. L'index LTL source et l'index LTL de destination vous indiquent où la trame est reçue et où elle est envoyée.

Note: Les différentes plates-formes et les différents superviseurs utilisent des commandes différentes afin de décoder les valeurs LTL.

Bit d'inondation

Les valeurs LTL sont affichées sous la forme de cinq nombres hexadécimaux ou moins (0xa2c, par exemple). Le bit d'inondation est le 16ème bit dans le résultat LTL. Souvent, le RBUS affiche un champ avec l'index LTL de destination et un champ distinct pour le bit d'inondation. Il est important de fusionner ces résultats pour la LTL correcte. Exemple :

RBUS:

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

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

Dans cet exemple, l'index LTL de destination est 0x48. Puisque le bit d'inondation est 1, vous devez définir le 16ème bit dans la LTL sur 1 :

0x00048 = 0000 0000 0000 0100 1000

|

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

Après avoir pris en compte le bit d'inondation, l'index de destination est devenu 0x8048.

Exemples ELAM

L'objectif de ces exemples est d'illustrer comment ELAM est utilisé pour valider les flux de monodiffusion IPv4 ou IPV6 de base. Comme décrit dans la section Défis ELAM de ce document, il n'est pas pratique d'expliquer tous les champs internes ou types de paquets, tels que la recirculation pour la multidiffusion, les tunnels et MPLS.

Suivez ces liens pour obtenir des exemples d'utilisation d'ELAM avec différents périphériques :

- Commutateurs de la gamme Catalyst 6500 avec procédure ELAM du Supervisor Engine 720

- Commutateurs de la gamme Catalyst 6500 avec procédure ELAM Supervisor Engine 2T

- Procédure ELAM du module Nexus 7000 M

- Procédure ELAM du module Nexus 7000 M3

- Procédure ELAM du module Nexus 7000 F1

- Procédure ELAM du module Nexus 7000 F2

- Présentation de l'ELAM du commutateur Nexus 6000

Noms ASIC internes

À titre de référence, le nom ASIC interne attribué à ELAM pour chaque type de module est répertorié dans ce tableau :

Plateforme

Type de module

Nom ASIC interne

Catalyst 6500/Cisco 7600

Sup720 (PFC3, DFC3)

Superman

Catalyst 6500

Sup2T (PFC4, DFC4)

Eureka

Nexus 7000

Série M (M1 et M2)

Eureka

Nexus 7000

Module M3

F4

Nexus 7000

F1

Orion

Nexus 7000

F2

Clipper

Nexus 7000

F3

Flanker

Nexus 6000

S/O

Bigsur

Autres façons d'utiliser ELAM

Il existe une façon plus conviviale d'utiliser ELAM. Avec Cisco IOS® Versions 12.2(50)SY et ultérieures, Cisco a ajouté la commande show platform datapath pour les 6500 qui exécutent Supervisor Engine 2T (Sup2T). Cette commande utilise ELAM afin de capturer et d'afficher le résultat de transfert d'un paquet spécifique.

Pour les plates-formes de commutation Nexus 7000, un script facile à utiliser, elame, a été ajouté dans la version 6.2(2) de Cisco IOS afin d'utiliser ELAM :

N7KA# source sys/elame

elam helper, version 1.015

Usage:

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

Dans le résultat :

- Les <src> et <dest> sont des adresses IPV4 sous la forme 1.2.3.4.

- Les <vlan> et<interface> indiquent le VLAN/l'interface d'entrée.

- Le vdc indique que tous les ELAM du contexte de périphérique virtuel (VDC) actuel sont utilisés.

- La [trace] indique que le système conserve l'enregistrement de toutes les sorties dans la variable volatile (elame.log).

Notez que le script elame n'est pas pris en charge sur les modules F3 et les autres cartes de ligne N77xx à ce stade. Quelques bogues d'amélioration ont été classés afin d'améliorer le script Elame et il est toujours examiné par l'unité commerciale.

- ID de bogue Cisco CSCuy42559

- ID de bogue Cisco CSCuw60869

Note: Elam est un outil interne qui ne doit être utilisé que sous la supervision du TAC/BU.

Informations connexes

- BRKARC-2011 - Présentation des outils de dépannage des commutateurs et routeurs Cisco - Cisco Live 365

- Support et documentation techniques - Cisco Systems