Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit ce qu'est le module ELAM (Embedded Logic Analyzer Module), ses inconvénients et comment l'utiliser au mieux.
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 :
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.
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 :
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.
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 :
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 :
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.
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.
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.
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 :
À 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 |
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 :
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.
Note: Elam est un outil interne qui ne doit être utilisé que sous la supervision du TAC/BU.