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 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.
Collecter et analyser des registres utiles (pour chaque ASIC et Core). Il y en a trois principales :
show platform hardware fed switch active fwd-asic register read register-name <name>
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).
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
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
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
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
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
27-Jun-2024 |
Première publication |