Table des matières

Introduction

Dépannage/Commandes Show

InfoSif

ÉtatRacSif

SifRacControl

SifExceptionInterruptA4

SifExceptionInterruptA8

Autres registres d'empilement

Lecture des registres du noyau Linux

Modification de l'ASIC dans Dope.sh

Problèmes de rechargement silencieux

Étape 1

Étape 2

Étape 3

Étape 4

Temporisations/rechargements des membres de la pile - Étude de cas

Symptômes

Acronymes

Introduction

Ce document décrit comment dépanner les commandes/registres pour les problèmes spécifiquement liés à l'empilage des problèmes de port/câble et aux rechargements silencieux.

Dépannage/Commandes Show

Collecter et analyser des registres utiles (pour chaque ASIC et Core). Il y en a trois principales :

- InfoSif

- ÉtatRacSif

- SifRacControl

show platform hardware fed switch active fwd-asic register read register-name <name>

InfoSif

Le premier bit nous indique si le mode de base est disponible ou non. Il est défini sur 0x1. S'il est défini sur 0x0, il y a des problèmes de transfert. Les compteurs d'erreurs ou les boîtes ne peuvent pas récupérer les paquets correctement.

Switch#sh platform hardware fed switch active fwd-asic register read register-name SifInfo

For asic 0 core 0

Module 0 - SifInfo[0][0]

available                 : 0x1 <---- should be 0x1 indicating balloting is completed

headerVersion             : 0x0

nodeAllLinksAvailable     : 0x1

nodeId                    : 0x4 <---- asic ID (unique across all asics in the stack)

numNodes                  : 0x8 <---- how many asics are there in whole stack

serdesSpeed               : 0x2

sifAllLinksAvailable      : 0x1

sifSupStall               : 0x0

wrappedAtRac0             : 0x0 <---- If a single stack port is down, 3 of 6 should wrap w/ value

wrappedAtRac1             : 0x0       of 0x1. Will appears in groups for 0, 2 and 4 or 1, 3 and 5.

wrappedAtRac2             : 0x0

wrappedAtRac3             : 0x0

wrappedAtRac4             : 0x0

wrappedAtRac5             : 0x0

Remarque : chaque câble de pile comporte six anneaux de rack (contrôle d'accès à l'anneau), trois sortants/trois entrants à 40 Gig chacun. WrappedAtRac 0 à 5 correspond à une liaison de pile inactive ou non. Si les choses sont bonnes, alors il est montré comme 0x0 (six liaisons par base, trois sortantes, trois entrantes. Par exemple, les nombres impairs sont sortants et les nombres pairs sont entrants (ou vice versa).

ÉtatRacSif

Pour vérifier en détail chacun des Rac, les aspects critiques à vérifier sont affichés ; les bits active/linkOk/syncOk qui nous disent si un Rac spécifique est lié ou non (si OK, alors il est montré comme 0x1).

Switch#sh plat hardware fed sw active fwd-asic register read register-name SifRacStatus

For asic 0 core 0

Module 0 - SifRacStatus[0][0]

active                    : 0x1 <----

available                 : 0x1

copyOk                    : 0x1

disabled                  : 0x0

insertOk                  : 0x1

linkOk                    : 0x1 <----

messageOk                 : 0x1

noDataOnRing              : 0x0

pcsAlignmentOk            : 0x1

pcsCodewordSync           : 0xf

reOrderOk                 : 0x1

slapId                    : 0x0

stripOk                   : 0x1

syncOk                    : 0x1 <----

toPbcOk                   : 0x1

transmitOk                : 0x1

SifRacControl

Vérifiez si le rack est hors tension ou non. Recherchez le paramètre greenPowerDisable. Cela montre 0x0 pour tous les racs (au moins pour la plate-forme Nyquist). Il y a quelques exceptions où il est prévu que le paramètre Racs power down ou greenPowerDisable soit indiqué comme 0x1 en raison d'une limitation matérielle sur le câble de pile lui-même, comme le commutateur 3650 qui est le boîtier d'extrémité inférieure. Ensuite, le câble de la pile ne prend en charge que deux racs par base. Les deux autres racs sont mis hors tension.

Switch#sh plat hardware fed sw active fwd-asic register read register-name SifRacControl

For asic 0 core 0

Module 0 - SifRacControl[0][0]

copyEn                    : 0x1

deployToken               : 0x0

disablePmaChecks          : 0x0

forceSync                 : 0x0

greenPowerDisable         : 0x0 <----

init                      : 0x0

initRacInfoLinkedList     : 0x0

insertEn                  : 0x1

messageEn                 : 0x1

reOrderEn                 : 0x1

stripEn                   : 0x1

toPbcEn                   : 0x1

transmitEn                : 0x1

SifExceptionInterruptA4

Ceci est déclenché parce qu'il y a un changement de liaison dans le système (situation Up/Down). L'interruption est gérée au niveau du logiciel. Il est traité pour voir s'il y a des modifications liées aux liens, puis il est publié (journal généré).

Switch#sh plat hardware fed sw active fwd-asic register read register-name SifExceptionInterruptA4

For asic 0 core 0

Module 0 - SifExceptionInterruptA4[0][0]

sifRac0LinkOkChange       : 0x0

sifRac0LinkedListSpill    : 0x0

sifRac0SyncOkChange       : 0x1

sifRac0TransitFifoSpill   : 0x0

sifRac1LinkOkChange       : 0x0

sifRac1LinkedListSpill    : 0x0

sifRac1SyncOkChange       : 0x1

sifRac1TransitFifoSpill   : 0x0

sifRac2LinkOkChange       : 0x0

sifRac2LinkedListSpill    : 0x0

sifRac2SyncOkChange       : 0x1

sifRac2TransitFifoSpill   : 0x0

sifRac3LinkOkChange       : 0x0

sifRac3LinkedListSpill    : 0x0

sifRac3SyncOkChange       : 0x1

sifRac3TransitFifoSpill   : 0x0

sifRac4LinkOkChange       : 0x0

sifRac4LinkedListSpill    : 0x0

sifRac4SyncOkChange       : 0x1

sifRac4TransitFifoSpill   : 0x0

sifRac5LinkOkChange       : 0x0

sifRac5LinkedListSpill    : 0x0

sifRac5SyncOkChange       : 0x1

sifRac5TransitFifoSpill   : 0x0

SifExceptionInterruptA8

Il s'agit de l'interruption matérielle qui nous donne des détails lorsque le vote est terminé (vote = processus d'initialisation de base). Une fois A8 terminé, le système vérifie si le bit de base disponible est correctement défini. Si ce n'est pas le cas, le vote est à nouveau lancé.

Remarque : lorsque le nombre maximal est atteint, le commutateur est rechargé avec une erreur indiquant que le bit de matériel disponible n'a pas été défini ou que le vote n'a pas été terminé.

Switch#sh plat hardware fed sw active fwd-asic register read register-name SifExceptionInterruptA8

For asic 0 core 0

Module 0 - SifExceptionInterruptA8[0][0]

sifBallotDone             : 0x0

sifBallotOverallTimerExpires : 0x0

sifBallotPerStateTimerExpires : 0x0

sifBallotSpeedChangeNeeded : 0x0

sifBallotStart            : 0x1

sifDebugSent              : 0x0

sifEastNeighborChange     : 0x1

sifMessageReceiveBufferCreditsEmpty : 0x0

sifMessageReceived        : 0x1

sifMessageSent            : 0x1

sifNodeIdChanged          : 0x1

sifOob3in2DropCntOverflow : 0x0

sifOobFlushDropCntOverflow : 0x0

sifOobStackSifCreditDropCntOverflow : 0x0

sifOobStackSifMtuDropCntOverflow : 0x0

sifOobSupSifMtuDropCntOverflow : 0x0

sifRacInfoLinkedListInitDone0 : 0x1

sifRacInfoLinkedListInitDone1 : 0x1

sifRacInfoLinkedListInitDone2 : 0x1

sifRacInfoLinkedListInitDone3 : 0x1

sifRacInfoLinkedListInitDone4 : 0x1

sifRacInfoLinkedListInitDone5 : 0x1

sifSegmentBuffer0LinkedListSpill : 0x0

sifSegmentBuffer1LinkedListSpill : 0x0

sifSegmentBufferLinkedListInitDone0 : 0x1

sifSegmentBufferLinkedListInitDone1 : 0x1

sifStackTopologyChange    : 0x1

sifUnmappedDestIndex      : 0x0

sifWestNeighborChange     : 0x1

La commande suivante affiche les compteurs SIF qui impliquent des messages SDP et des messages de gestion SIF. Concentrez-vous sur les messages ayant échoué, le cas échéant.

Switch#show platform software sif switch active r0 counters

Stack Interface (SIF) Counters

------------------------------

Stack Discovery Protocol (SDP) Messages

---------------------------------------

Message                 Tx Success    Tx Fail       Rx Success    Rx Fail

------------------------------------------------------------------------------

Discovery               0             0             0             0

Neighbor                0             0             0             0

Forward                 455966        0             1355818       107

---------------------------------------

SIF Management Messages

-----------------------

Message                 Success       Fail

--------------------------------------------------

Link Status             16            0

Link Management         0             0

Chassis Num             1             0

Topo Change             3             0

Active Declare          1             0

Template set            2             0

Une commande supplémentaire peut être exécutée et affiche des informations uniquement lorsqu'une interruption dépasse le seuil. La commande est la suivante .show platform software sif switch active R0 exceptions Voici le résultat lorsque aucun problème n'est présent sur les interruptions :

Switch#

Switch#show platform software sif switch active R0 exceptions

Switch#

Lorsque des interruptions sont présentes, le résultat est similaire au script suivant. Gardez à l'esprit que des interruptions sont attendues dans certains scénarios (démarrage, branchement/débranchement, etc.), donc s'il y a un problème réel et des interruptions continues, exécutez la commande à plusieurs reprises pendant une période de secondes/minutes.

Switch#show platform software sif switch active r0 exceptions

*******************************

Asicnum: 0

SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL3_FIELD_IDX

Occurred count: 1

First Time: Fri May 18 08:03:23 2018

Last Time: Fri May 18 08:03:23 2018

---------------------------------

SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL2_FIELD_IDX

Occurred count: 1

First Time: Fri May 18 08:03:23 2018

Last Time: Fri May 18 08:03:23 2018

---------------------------------

SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL1_FIELD_IDX

Occurred count: 1

First Time: Fri May 18 08:03:23 2018

Last Time: Fri May 18 08:03:23 2018

---------------------------------

SIF INT : SIFEXCEPTIONINTERRUPTA1_SIFRAC5PMARECEIVEFIFOSPILL0_FIELD_IDX

Occurred count: 1

First Time: Fri May 18 08:03:23 2018

Last Time: Fri May 18 08:03:23 2018

Ce tableau détaille les exceptions SIF les plus courantes de show platform software sif switch active R0 exceptions:

Exception#

NomChamp

Severity (gravité)

Utilisation

Description

0

sifRac{0:5}PmaTransmitFifoSpill{0:3}

major (important)

Statistique

Cela se déclenche si la FIFO push-pull entre l'horloge système et l'horloge serdes se répand. Cela ne peut pas se produire. Si c'est le cas, cela indique probablement que l'horloge Serdes a été désactivée (soit par programmation, soit par un Serdes défectueux). Si cela n'est pas dû à un problème de programmation, c'est un problème majeur. Mais le SIF se répare tout seul. Et le résultat net d'un petit problème est un segment perdu ou, dans les cas extrêmes, une ré-initialisation. Si ce n'était pas un petit problème, et qu'il se produit toujours, alors après avoir traité ce CHEF, il se déclenche de nouveau, vous disant que la condition se produit encore à ce stade. Cette liaison de transmission est grillée.

1

sifRac{0:5}PmaReceiveFifoSpill{0:3}

major (important)

Statistique

Cela se déclenche si la FIFO push-pull entre l'horloge système et l'horloge serdes se répand. Cela ne peut pas se produire. Si c'est le cas, cela indique probablement que l'horloge Serdes a été désactivée (soit par programmation, soit par un Serdes défectueux). Si cela n'est pas dû à un problème de programmation, c'est un problème majeur. Mais le SIF se répare tout seul. Et le résultat net d'un petit problème est un segment perdu ou, dans les cas extrêmes, une ré-initialisation. Si ce n'était pas un petit problème, et qu'il se produit toujours, alors après avoir traité ce CHEF, il se déclenche de nouveau, vous disant que la condition se produit encore à ce stade. Cette liaison de transmission est grillée.

2

sifRac{0:5}SerdesLossOfLock{0:3}

major (important)

Statistique

À utiliser en corrélation avec sifRac{0:5}PmaReceiveFifoSpill{0:3} pour informer sur l'état des horloges Serdes reçues avec état de fonctionnement normal. S'ils ne sont pas conformes aux spécifications, le minuteur IdleDensity ne peut pas compenser la différence. En général, il s'agit d'un vérificateur de problèmes pour s'assurer que l'hypothèse selon laquelle le récepteur Serdes fonctionne correctement est réellement vraie.

3

sifRac{0:5}ClockLossOfLock{0:3}

major (important)

Statistique

À utiliser en corrélation avec sifRac{0:5}PmaReceiveFifoSpill{0:3} pour informer sur l'état des horloges Serdes reçues avec état de fonctionnement normal. S'ils ne sont pas conformes aux spécifications, le minuteur IdleDensity ne peut pas compenser la différence. En général, il s'agit d'un vérificateur de problèmes pour s'assurer que l'hypothèse selon laquelle le récepteur Serdes fonctionne correctement est réellement vraie.

4

sifRac{0:5}syncOkChange

minor (mineur)

Monitor

Indication du volet de liaison

sifRac{0:5}linkOkChange

minor (mineur)

Monitor

Indication du volet de liaison

sifRac{0:5}linkedListSpill

major (important)

Monitor

Les listes liées au rack qui font partie de l'algorithme de réorganisation ont dépassé le nombre maximal d'entrées possibles. C'est vraiment mauvais et cela signifie que le réordonnancement est maintenant des segments de données et des messages OOB de queue-drop sur ce RAC. Cela ne peut se produire que si la pile est mal configurée ou si la liste liée a rencontré une erreur logicielle. Voir les exceptions 9 et 10.

sifRac{0:5}transitFifoSpill

major (important)

Statistique

Le transitFifo responsable du déplacement des données à travers le SIF vers d'autres noeuds a renversé cette information, probablement en raison d'une configuration incorrecte du IdleDensityTimer w.r.t. par rapport au décalage d'horloge Serdes réel (parties par million) pour ce commutateur par rapport à son voisin.

5

sifRac{0:5}token manquant

major (important)

Statistique

La coque de conque de la pile a été perdue, corrompue, redéployée, etc. Ceci indique probablement qu'un bit touché sur la pile a atteint un SifTokenDesc. Il est très improbable que cela arrive. Le SIF peut être configuré pour traiter ce problème de différentes manières. Soit un nouveau vote et recommencer, soit redéployer un jeton, soit permettre au SIF de se redéployer.

sifRac{0:5}duplicataToken

major (important)

Statistique

sifRac{0:5}tokenDeployed

renseignements

Statistique

6

sifRac{0:5}RwCrcErrorCntOverflow

minor (mineur)

Statistique

Il est probable que tous les indicateurs du câble de la pile ou du boîtier voisin soient compromis. Éclaté dans ce détail en grande partie pour le débogage. Au cours du fonctionnement normal syncOkChange et linkOkChange sont tout ce que vous devez savoir. Dans la collecte de LONG-TERM-BER, vous devez surveiller et compter ces quand les compteurs roulent sur pour le comptage correct des erreurs de bits. Il est possible que lorsqu'un invalidRw ou pcsCodeWordError est présent, le CRC n'est pas vérifié. De cette façon, vous pouvez additionner tous ces registres pour BER.

sifRac{0:5}DataCrcErrorCntOverflow

minor (mineur)

Statistique

sifRac{0:5}InvalidRwErrorCntOverflow

minor (mineur)

Statistique

sifRac{0:5}PcsCodeWordErrorCntOverflow

minor (mineur)

Statistique

7

sifRac{0:5}RdispErrorCntOverflow

minor (mineur)

Statistique

sifRac{0:5}ProbsUnLockErrorCntOverflow

renseignements

Statistique

Affichez les statistiques à utiliser pour trouver la meilleure configuration des macros HSS d'IBM afin de trouver les programmations optimales.

sifRac{0:5}PrbsBitErrorCntOverflow

renseignements

Statistique

sifRac{0:5}ErrorCaptureCntOverflow

renseignements

Travaux pratiques

Affichez les statistiques de capture de la forme des mots en anneau erronés à des fins d'inspection pour voir ce qui se passe sur la pile.

8

sifRacInfoLinkedListInitDone{0:5}

renseignements

Monitor

L'initialisation matérielle de la liste liée RAC est terminée.

DébordementCntSegmentDéposé

renseignements

Statistique

DébordementCntEopInconsistentPbcFAI

renseignements

Statistique

Pire scénario. Vérifier l'arrivée des données selon le formulaire de protocole de PBC.

DébordementCntErreurPbc

renseignements

Statistique

DébordementCntEopSupIncohérent

renseignements

Statistique

Pire scénario. Vérifier l'arrivée des données selon le formulaire de protocole du SUP (OBM).

DébordementCntErreurSup

renseignements

Statistique

DébordementCntEopInconsistentCommandeDéfaut

renseignements

Statistique

Indique que l'indicateur de segment manquant a été inversé.

sifDebugSent

renseignements

Travaux pratiques

Affiche une indication pour l'insertion de segments de débogage dans la pile.

MessageSifEnvoyé

renseignements

Travaux pratiques

En raison de la nature automatisée de la nomenclature, elles ne sont vraiment utiles que dans les situations de travaux pratiques.

MessageSifReçu

renseignements

Travaux pratiques

MessageSifAbandonné

renseignements

Travaux pratiques

sifMessageReceiveBufferCreditsEmpty

minor (mineur)

Monitor

Actualisez les crédits si cela se déclenche. Le niveau de crédit est activement surveillé afin que cela ne déclenche pas.

IndexDestSifUnmapped

minor (mineur)

Statistique

Pendant la copie/suppression, il n'a pas pu mapper destIndex et portCopy a été défini sur '0' et portStrip sur '1'. Cela indique un problème de configuration.

sifSegmentBuffer{0:1}linkedListSpill

major (important)

Monitor

Les listes liées aux segments qui font partie de la réorganisation ont dépassé le nombre maximal d'entrées possible. Cela indique que le réordonnancement est désormais en train de supprimer les segments de données et les messages OOB. Cela ne peut se produire que si la pile est mal configurée ou si la liste liée a rencontré une erreur logicielle. Voir les exceptions 9 et 10.

sifSegmentBufferLinkedListInitDone{0:1]

renseignements

Monitor

L'initialisation matérielle de la liste de segments liés est terminée.

SifBallotTerminé

renseignements

Monitor

Le vote a été terminé.

SifBallotSpeedChangeNeeded

renseignements

Monitor

Depuis le dernier scrutin réussi, une nouvelle vitesse est requise sur le lien de la pile. Cela signifie qu'un noeud est entré dans la pile et a modifié la dynamique de la vitesse de la pile. Soit en étant plus lent que la vitesse actuelle, la pile doit s'ajuster vers le bas. Ou en étant plus rapide qu'auparavant. Il peut être le résultat d’un nouveau câble plus court.

ModificationVoisinEst

renseignements

Monitor

Surveillez les scénarios d'activation, de fusion et de post-appel de la pile.

ModificationVoisinOuest

renseignements

Monitor

IdNoeudSifModifié

renseignements

Monitor

Indication qu'à la suite du dernier vote, le SifInfo.nodeId a été modifié.

ModificationTopologieSifStack

renseignements

Monitor

Surveillez les scénarios d'activation, de fusion et de post-appel de la pile.

9

sifRacInfoBuffer{0:5}EccCorrected

major (important)

Monitor

sifRacInfoBuffer{0:5} a rencontré une erreur logicielle. C'est une mauvaise chose, mais le pire résultat est que certains paquets sont dans le désordre ou que des paquets sont abandonnés plus tard dans le chemin de données de sortie. La réinitialisation de Doppler n'est pas requise ici.

sifRacInfoBuffer{0:5}EccDetected

major (important)

Monitor

sifRacInfoLinkedListBuffer{0:5}EccCorrected

major (important)

Monitor

sifRacInfoLinkedListBuffer{0:5} a rencontré une erreur logicielle. En fonction de la directive de haute disponibilité globale pour cette charge logicielle, vous souhaitez réinitialiser Doppler. Cela peut entraîner des problèmes de performances pour SifReorder.

sifRacInfoLinkedListBuffer{0:5}DétectéEcc

major (important)

Monitor

sifSegmentLinkedListBuffer{0:1}EccCorrected

major (important)

Monitor

sifRacInfoLinkedListBuffer{0:5} a rencontré une erreur logicielle. En fonction de la directive de haute disponibilité globale pour cette charge logicielle, vous souhaitez réinitialiser Doppler. Cela peut entraîner des problèmes de performances pour SifReorder.

sifSegmentLinkedListBuffer{0:1}EccDetected

major (important)

Monitor

10

ErreurParitéTableIndexDestination

major (important)

Monitor

La mémoire a rencontré une erreur de parité. Rechargez le contenu et reconnaissez que certains paquets peuvent avoir été mal copiés/supprimés en conséquence. La réinitialisation de Doppler n'est probablement pas requise.

TablePortsLocalDestinationGlobale

major (important)

Monitor

TableIndexProcesseur

major (important)

Monitor

TableauHachageA

major (important)

Monitor

TableHachageB

major (important)

Monitor

FileAttenteMessagesFifo

major (important)

Monitor

Les mémoires de contrôle des messages ont été touchées par une erreur logicielle. Il s'agit d'un problème temporaire qui peut entraîner un OOB mal transféré ou hors service. Cela peut se réparer automatiquement et ne nécessite pas de réinitialisation Doppler, car les nouveaux utilisateurs des entrées ici peuvent écraser les anciennes.

TamponLienFileAttenteMessages

major (important)

Monitor

Ceci se trouve dans EDCS-757121 : NG3K SIF Driver Software Functional Specification.

Autres registres d'empilement

- ÉtatRacSif

- StatistiquesSif

- SifRacInsertedCnt

- SifRacCopiéCnt

- SifRacPmaControl

- MinuteurChienSurveillanceSifVote

- PbcSifErrorCnt

- ÉtatMessageSif

- ContrôleSif

- ContrôleInterfaceSupStack

- SifSifPbcCnt0

- SifSifPbcCnt1

- SifSifPbcDroppedCnt

- SifSerdesÉtatMacroHss

- SifSerdesHssChannelStatusRx

- SifSerdesHssChannelStatusTx

pour comprendre les détails de chaque registre.

Cli pour surveiller l'état des ports de la pile :

show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssMacroStatus

show platform hardware fed switch <> fwd-asic register read register-name SifInfo

show platform hardware fed switch <> fwd-asic register read register-name SifRacStatus

show platform hardware fed switch <> fwd-asic register read register-name SifRacControl

show platform hardware fed switch <> fwd-asic register read register-name SifExceptionInterruptA8

show platform hardware fed switch <> fwd-asic register read register-name SifExceptionInterruptA4

show platform hardware fed switch <> fwd-asic register read register-name SifStatistics

show platform hardware fed switch <> fwd-asic register read register-name SifRacInsertedCnt

show platform hardware fed switch <> fwd-asic register read register-name SifRacCopiedCnt

show platform hardware fed switch <> fwd-asic register read register-name SifRacPmaControl

show platform hardware fed switch <> fwd-asic register read register-name SifBallotWatchDogTimer

show platform hardware fed switch <> fwd-asic register read register-name SifPbcSifErrorCnt

show platform hardware fed switch <> fwd-asic register read register-name SifMessageStatus

show platform hardware fed switch <> fwd-asic register read register-name SifControl

show platform hardware fed switch <> fwd-asic register read register-name SupStackInterfaceControl

show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcCnt0

show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcCnt<>

show platform hardware fed switch <> fwd-asic register read register-name SifSifPbcDroppedCnt

show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssChannelStatusRx

show platform hardware fed switch <> fwd-asic register read register-name SifSerdesHssChannelStatusTx

show platform hardware fed switch <> fwd-asic register read register-name SifRacDataCrcErrorCnt

show platform hardware fed switch <> fwd-asic register read register-name SifgRacRwCrcErrorCnt

show platform software sif switch <> Compteurs R0

show platform software sif switch <> Exceptions R0

Lecture des registres à partir du noyau Linux

.

Une fois que vous êtes dans le shell Linux, passez au script suivant :

[Switch_2_RP_0:~]$ dope.sh Num Asics: 0 Cat9300 platform dope vft **************************************************** DOPpler Examiner http://wwwin-dopplersdk.cisco.com **************************************************** Detecting number of asics...found 1 asics asic-0: phy_addr=0x87f80000000 virt_addr=0x7f84d746f000 Loading Library : libasd2_DL.so ... Success. (null) ASIC Layer libraries successfully loaded!!! ASIC version: 0x448 Starting ASIC Driver create Driver and Device Init Completed. dope[0,0]> rdsp SifControl <------- rdsp <register name>

Modification de l'ASIC dans Dope.sh

Le script précédent lit le commutateur 1, base zéro. Modifiez ceci en exécutant ce script :

dope[0,0]> asic 1 <--- changes to asic 1

dope[1,0]>

Remarque : Dope.sh (shell Doppler) est le niveau le plus bas dans la programmation matérielle. C'est ainsi que vous lisez les valeurs de sonnerie directement à partir du matériel. Utilisez les autres registres d'empilage dans le script précédent après la commanderdsp pour obtenir les données les plus granulaires (si nécessaire).

Problèmes de rechargement silencieux

Chaque fois qu'il y a un rechargement silencieux (aucun crashdump/system_report généré), il y a des tracelogs de crash affichant certains fichiers spécifiques pour obtenir plus d'informations liées à ce qui pourrait causer l'événement.

Étape 1

Nous pouvons commencer par regarder stack_mgr_R0 et voir de sa perspective la raison du rechargement. Tels que :

Étape 2

Nous pouvons maintenant passer aux journaux pvp. Utilisez les horodatages extraits de stack_mgr_R0 (en particulier lorsque le rechargement s'est produit) et consultez pvp_F0 et pvp_R0 pour identifier quand la séquence de terminaison des processus a démarré avant d'exécuter toute la séquence d'orchestration de rechargement. Tels que :

Remarque : il peut afficher pvp_F0 et pvp_R0.

Remarque : assurez-vous de vérifier les deux car vous pourriez voir le processus linux_iosd_image se terminant dans pvp_R0, mais un processus différent dans pvp_F0 a été terminé avant. C'est un facteur clé parce que le tout premier processus qui est tué. Ensuite, il peut pointer vers le déclencheur du problème.

Étape 3

Dans pvp_F0 et pvp_R0, il y a également un code de sortie fourni après le processus dead/held-down. Pour les pannes de processus réelles, les codes de sortie 129 et ainsi de suite sont utilisés. C'est ainsi que pvp est conscient que crashdump/system_report doit être créé. En l'absence de crashdump/system_report, le code de sortie est normalement zéro. Tels que :

Étape 4

Après avoir identifié le processus coupable, accédez aux journaux btrace associés au processus et vérifiez pour plus de détails.

Temporisations/rechargements des membres de la pile - Étude de cas

Il est possible qu'un seul câble défectueux entre deux commutateurs provoque le rechargement de n'importe quel commutateur de la pile en raison de la perte de keepalive.

Symptômes

Les suivis de pile, ou commutateurs, qui rencontrent activement le problème génèrent les erreurs suivantes :

- 9300-1# show platform software trace message stack-mgr switch active R0 | inc ne répond pas

- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459] : UUID : 0, ra : 0, TID : 0 (remarque) : l'homologue 4 ne répond pas, pour 8000 <tel:8000> ms. Librairie=3EFD last_msg = 3EFD5

- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459] : UUID : 0, ra : 0, TID : 0 (remarque) : l'homologue 6 ne répond pas, pour 8000 <tel:8000> ms. Librairie=3EFDC last_msg = 3EFD4

La bibliothèque vérifie toutes les secondes la dernière fois qu'elle a entendu parler de chaque commutateur de la pile (du point de vue du commutateur qui exécute la bibliothèque). Après 8000 ms sans keepalive, nous commençons à imprimer des traces que les homologues n'ont pas entendues. À 16000 ms, les commutateurs en question se rechargent pour des keepalives perdus.

9300-1#sh switch stack-ports sum Load for five secs: 8%/4%; one minute: 9%; five minutes: 9% Time source is NTP, 11:53:11.196 EDT Thu May 17 2018 Sw#/Port# Port Status Neighbor Cable Length Link OK Link Active Sync OK #Changes to LinkOK In Loopback ------------------------------------------------------------------------------------------------------------------- 1/1 OK 2 100cm Yes Yes Yes 2 No 1/2 OK 8 300cm Yes Yes Yes 143 No <----------- 2/1 OK 3 50cm Yes Yes Yes 1 No 2/2 OK 1 100cm Yes Yes Yes 1 No 3/1 OK 4 50cm Yes Yes Yes 1 No 3/2 OK 2 50cm Yes Yes Yes 1 No 4/1 OK 5 50cm Yes Yes Yes 1 No 4/2 OK 3 50cm Yes Yes Yes 1 No 5/1 OK 6 50cm Yes Yes Yes 1 No 5/2 OK 4 50cm Yes Yes Yes 1 No 6/1 OK 7 50cm Yes Yes Yes 1 No 6/2 OK 5 50cm Yes Yes Yes 1 No 7/1 OK 8 50cm Yes Yes Yes 1 No 7/2 OK 6 50cm Yes Yes Yes 1 No 8/1 DOWN NONE 300cm No No Yes 116 No <---------------- 8/2 OK 7 50cm Yes Yes Yes 1 No

Ce délai a également été observé lorsque la liaison de pile entre deux commutateurs présentait une grande instabilité, ce qui a finalement amené un commutateur à penser que le port de pile était actif et capable de transmettre le trafic, alors que l'autre pensait qu'il était inactif.

L'anneau de pile fonctionne à la fois dans le sens des aiguilles d'une montre et dans le sens inverse. Le trafic sur l'anneau peut emprunter l'un ou l'autre chemin, quelle que soit sa destination. Cela signifie que si le commutateur 2 veut envoyer un keepalive au commutateur 1, il peut passer par les commutateurs 3, 4, 5, 6, 7, 8 puis 1, ou simplement de 2 directement à 1. Le trafic de retour du commutateur 1 vers le commutateur 2 qui se trouve être haché vers le commutateur 8 aurait été abandonné, ce qui a entraîné les dépassements de délai observés dans le script précédent.

Acronymes

- OOB : hors bande

- SIF : interface de pile

- RAC : contrôleur d'accès en anneau