Inhalt

Einleitung

Fehlerbehebung/Befehle anzeigen

SifInfo

SifRacStatus

SifRacControl

SifExceptionInterruptA4

SifExceptionInterruptA8

Andere Stacking-Register

LesenRegister aus dem Linux-Kernel

ASIC in Dope.sh ändern

Probleme beim automatischen Neuladen

Schritt 1

Schritt 2

Schritt 3

Schritt 4

Timeouts/Neuladevorgänge bei Stack-Elementen - Anwenderbericht

Symptome

Abkürzungen

Einleitung

In diesem Dokument wird die Fehlerbehebung bei Befehlen/Registern für Probleme beschrieben, die speziell mit Stacking-Port-/Kabelproblemen und automatischen Neuladevorgängen zusammenhängen.

Fehlerbehebung/Befehle anzeigen

Erfassung und Analyse von nützlichen Registern (für jeden ASIC und Core). Es gibt drei Hauptkategorien:

- SifInfo

- SifRacStatus

- SifRacControl

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

SifInfo

Das erste Bit sagt uns, ob Basic verfügbar ist oder nicht. Er ist auf 0x1 festgelegt. Wenn 0x0 eingestellt ist, treten Weiterleitungsprobleme auf. Fehlerindikatoren oder Fehlerboxen können Pakete nicht richtig wiederherstellen.

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

Hinweis: Jedes Stack-Kabel hat sechs Rack-Ringe (Ringzugriffskontrolle), drei ausgehend/drei eingehend mit je 40Gig. WrappedAtRac 0 bis 5 gibt an, ob eine Stapelverbindung ausgefallen ist oder nicht. Wenn die Dinge gut sind, wird es als 0x0 angezeigt (sechs Verbindungen pro Basis, drei ausgehende, drei eingehende). Beispielsweise sind ungerade Nummern ausgehend und gerade Nummern eingehend oder umgekehrt).

SifRacStatus

Um jedes Racs detailliert zu überprüfen, werden kritische Aspekte angezeigt; active/linkOk/syncOk Bits, die uns sagen, ob ein bestimmter Rack eine Verbindung hergestellt hat oder nicht (wenn OK, wird es als 0x1 angezeigt).

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

Prüfen Sie, ob Rac ausgeschaltet ist oder nicht. Überprüfen Sie den Parameter greenPowerDisable. Dies zeigt 0x0 für alle Racs (mindestens für Nyquist-Plattform). Es gibt einige Ausnahmen, bei denen aufgrund der HW-Beschränkung des Stack-Kabels selbst erwartet wird, dass der Parameter "Racs power down" oder "greenPowerDisable" als 0x1 angezeigt wird, z. B. der Switch 3650, der die untere Endbox darstellt. Das Stack-Kabel unterstützt dann nur noch zwei Racs pro Basis. Die verbleibenden zwei Racs sind ausgeschaltet.

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

Dies wird ausgelöst, weil im System ein Linkwechsel stattfindet (Up/Down-Situation). Der Interrupt wird auf Softwareebene abgewickelt. Es wird verarbeitet, um zu sehen, ob es irgendwelche Link-bezogenen Änderungen, und dann wird es veröffentlicht (log generiert).

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

Dies ist der Hardware-Interrupt, der uns Details beim Abstimmen gibt (Abstimmen = Grundinitialisierung). Nachdem A8 abgeschlossen ist, prüft das System, ob ein grundlegendes verfügbares Bit richtig eingestellt ist. Ist dies nicht der Fall, wird die Stimmabgabe erneut durchgeführt.

Hinweis: Wenn die maximale Anzahl erreicht ist, wird der Switch mit einem Fehler neu geladen, der besagt, dass das verfügbare HW-Bit nicht gesetzt wurde oder Balloting nicht abgeschlossen wurde.

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

Mit dem nächsten Befehl werden SIF-Zähler angezeigt, die SDP- und SIF-Verwaltungsmeldungen enthalten. Konzentrieren Sie sich ggf. auf die fehlgeschlagenen Nachrichten.

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

Es gibt einen zusätzlichen Befehl, der ausgeführt werden könnte und nur dann Informationen anzeigt, wenn ein Interrupt den Schwellenwert überschreitet. Der Befehl lautet.show platform software sif switch active R0 exceptions Hier ist die Ausgabe, wenn keine Probleme auf den Interrupts vorhanden sind:

Switch#

Switch#show platform software sif switch active R0 exceptions

Switch#

Wenn Interrupts vorhanden sind, ist die Ausgabe ähnlich wie das nächste Skript. In einigen Szenarien (Bootvorgang, Plug-and-Unplug usw.) werden Interrupts erwartet. Wenn also ein echtes Problem vorliegt und es zu kontinuierlichen Interrupts kommt, führen Sie den Befehl wiederholt für einen Zeitraum von Sekunden/Minuten aus.

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

Diese Tabelle enthält die häufigsten SIF-Ausnahmen von show platform software sif switch active R0 exceptions:

Ausnahme#

Feldname

Schweregrad

Nutzung

Beschreibung

0

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

Major (Schwerwiegend)

Statistik

Dies wird ausgelöst, wenn der Push-Pull-FIFO zwischen der Systemuhr und der serdes-Uhr verschüttet wird. Das kann nicht passieren. Wenn dies der Fall ist, ist es wahrscheinlich ein Hinweis darauf, dass die Serdes-Uhr deaktiviert wurde (entweder durch Programmierung oder eine fehlerhafte Serdes.) Wenn dies nicht auf ein Programmierungsproblem zurückzuführen ist, ist es ein großes Problem. Aber der SIF heilt sich selbst. Und das Endergebnis eines kleinen Problems ist ein verlorenes Segment oder in extremen Fällen eine Neuinit. Wenn dies kein kleines Problem war, und es immer noch auftritt, dann nach der Verarbeitung dieses CHIEF, wird es wieder ausgelöst, und Ihnen sagen, dass der Zustand noch an diesem Punkt auftritt. Diese Übertragungsverbindung ist ein Toast.

1

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

Major (Schwerwiegend)

Statistik

Dies wird ausgelöst, wenn der Push-Pull-FIFO zwischen der Systemuhr und der serdes-Uhr verschüttet wird. Das kann nicht passieren. Wenn dies der Fall ist, ist es wahrscheinlich ein Hinweis darauf, dass die Serdes-Uhr deaktiviert wurde (entweder durch Programmierung oder eine fehlerhafte Serdes.) Wenn dies nicht auf ein Programmierungsproblem zurückzuführen ist, ist es ein großes Problem. Aber der SIF heilt sich selbst. Und das Endergebnis eines kleinen Problems ist ein verlorenes Segment oder in extremen Fällen eine Neuinit. Wenn dies kein kleines Problem war, und es immer noch auftritt, dann nach der Verarbeitung dieses CHIEF, wird es wieder ausgelöst, und Ihnen sagen, dass der Zustand noch an diesem Punkt auftritt. Diese Übertragungsverbindung ist ein Toast.

2

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

Major (Schwerwiegend)

Statistik

In Korrelation mit sifRac{0:5}PmaReceiveFifoSpill{0:3} zu verwenden, um über den Zustand der empfangenen Serdes-Uhren mit normalem Betriebszustand zu informieren. Wenn sie nicht den Spezifikationen entsprechen, kann der IdleDensity-Timer den Unterschied nicht ausgleichen. Im Allgemeinen ist dies ein Problem-Checker, um sicherzustellen, dass die Annahme, dass die Empfänger Serdes richtig funktionieren, tatsächlich wahr ist.

3

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

Major (Schwerwiegend)

Statistik

In Korrelation mit sifRac{0:5}PmaReceiveFifoSpill{0:3} zu verwenden, um über den Zustand der empfangenen Serdes-Uhren mit normalem Betriebszustand zu informieren. Wenn sie nicht den Spezifikationen entsprechen, kann der IdleDensity-Timer den Unterschied nicht ausgleichen. Im Allgemeinen ist dies ein Problem-Checker, um sicherzustellen, dass die Annahme, dass die Empfänger Serdes richtig funktionieren, tatsächlich wahr ist.

4

sifRac{0:5}syncOkChange

geringfügig

Überwachung

Anzeige der Lasche

sifRac{0:5}linkOkChange

geringfügig

Überwachung

Anzeige der Lasche

sifRac{0:5}linkedListSpill

Major (Schwerwiegend)

Überwachung

RAC-verknüpfte Listen, die Teil des Reorder-Algorithmus sind, haben die maximal möglichen Einträge überschritten. Dies ist sehr schlecht und bedeutet, dass die Neuordnung jetzt Tail-Dropping-Datensegmente und OOB-Nachrichten auf diesem RAC ist. Dies ist nur möglich, wenn der Stack falsch konfiguriert ist oder in der verknüpften Liste ein Soft-Fehler aufgetreten ist. Siehe Ausnahmen 9 und 10.

sifRac{0:5}transitFifoSpill

Major (Schwerwiegend)

Statistik

Der für das Verschieben von Daten durch das SIF an andere Knoten verantwortliche transitFifo hat dies wahrscheinlich aufgrund einer Fehlkonfiguration des IdleDensityTimer w.r.t. auf den tatsächlichen Serdes-Uhren-ppm-Offset (parts per million) für diesen Switch im Vergleich zum Nachbarn verschüttet.

5

sifRac{0:5}missingToken

Major (Schwerwiegend)

Statistik

Die Stack-Conch-Shell ist verloren gegangen, beschädigt, neu bereitgestellt usw. Dies ist wahrscheinlich ein Hinweis darauf, dass ein Bit-Hit auf dem Stapel einen SifTokenDesc erreicht hat. Das ist sehr unwahrscheinlich. Das SIF kann so konfiguriert werden, dass es auf verschiedene Weise damit umgeht. Neuabstimmung und Neustart, erneute Bereitstellung eines Tokens oder erneute Bereitstellung durch die SIF

sifRac{0:5}doubleToken

Major (Schwerwiegend)

Statistik

sifRac{0:5}tokenDeployed

Info

Statistik

6

sifRac{0:5}RwCrcErrorCntOverflow

geringfügig

Statistik

Wahrscheinlich sind alle Anzeichen für eine Kompromittierung des Stack-Kabels oder des benachbarten Gehäuses vorhanden. Im Wesentlichen zum Debuggen auf dieses Detail aufgeteilt. Im laufenden Betrieb sind syncOkChange und linkOkChange alles was Sie wissen müssen. Bei der Erfassung von LONG-TERM-BER müssen Sie diese überwachen und zählen, wenn die Zähler für die korrekte Zählung von Bitfehlern umgestellt werden. Wenn invalidRw oder pcsCodeWordError vorhanden ist, wird die CRC möglicherweise nicht überprüft. Auf diese Weise können Sie alle diese Register für BER summieren.

sifRac{0:5}DataCrcErrorCntOverflow

geringfügig

Statistik

sifRac{0:5}InvalidRwErrorCntOverflow

geringfügig

Statistik

sifRac{0:5}PcsCodeWordErrorCntOverflow

geringfügig

Statistik

7

sifRac{0:5}RdispErrorCntOverflow

geringfügig

Statistik

sifRac{0:5}PrbsUnLockErrorCntOverflow

Info

Statistik

Rufen Sie Statistiken auf, die Sie bei der Suche nach der besten Konfiguration der IBM HSS-Makros verwenden können, um die optimale Programmierung zu finden.

sifRac{0:5}PrbsBitErrorCntOverflow

Info

Statistik

sifRac{0:5}ErrorCaptureCntOverflow

Info

Labor

Statistiken zur Erfassung fehlerhafter RingWords anzeigen, um zu überprüfen, was auf dem Stack passiert.

8

sifRacInfoLinkedListInitDone{0:5}

Info

Überwachung

Die HW-Initialisierung der verknüpften RAC-Liste ist abgeschlossen.

sifDroppedSegmentCntOverflow

Info

Statistik

sifPbcInconsistentSopEopCntOverflow

Info

Statistik

Worst-Case-Szenario. Prüfen Sie, ob die Daten vom PBC gemäß Protokollformular eingehen.

sifPbcErrorCntOverflow

Info

Statistik

sifSupInconsistentSopEopCntOverflow

Info

Statistik

Worst-Case-Szenario. Überprüfen Sie, ob die Daten gemäß dem Protokollformular von SUP (OOBM) ankommen.

sifSupErrorCntOverflow

Info

Statistik

sifReorderInconsistentSopEopCntOverflow

Info

Statistik

Angabe, dass der fehlende Segmentindikator übernommen wurde.

sifDebuggenGesendet

Info

Labor

Anzeige zum Einfügen von Debugsegmenten in den Stapel aufrufen.

SifNachrichtGesendet

Info

Labor

Aufgrund der Automatisierung des OOBM sind diese nur in Laborsituationen sinnvoll.

SifNachrichtErhalten

Info

Labor

SifNachrichtAbgebrochen

Info

Labor

sifMessageReceiveBufferCreditsEmpty

geringfügig

Überwachung

Aktualisieren Sie die Gutschriften, wenn dies nicht möglich ist. Der Kreditniveau wird aktiv überwacht, damit dieses nicht stolpert.

sifNicht zugeordnetZielIndex

geringfügig

Statistik

Während des Copy/Strip konnte der destIndex nicht zugeordnet werden, und eine portCopy wurde auf '0' und portStrip auf '1' festgelegt. Dies weist auf ein Konfigurationsproblem hin.

sifSegmentBuffer{0:1}linkedListSpill

Major (Schwerwiegend)

Überwachung

Segmentverknüpfte Listen, die Teil der Neuordnung sind, haben die maximal möglichen Einträge überschritten. Dies ist ein Hinweis darauf, dass die Neuordnung jetzt Datensegmente und OOB-Nachrichten per Tail-Drop verwirft. Dies ist nur möglich, wenn der Stack falsch konfiguriert ist oder in der verknüpften Liste ein Soft-Error aufgetreten ist. Siehe Ausnahmen 9 und 10.

sifSegmentBufferLinkedListInitDone{0:1]

Info

Überwachung

HW-Initialisierung der Segment-Linkliste ist abgeschlossen.

sifAbstimmungFertig

Info

Überwachung

Indikationsabstimmung abgeschlossen.

sifBallotSpeedChangeErforderlich

Info

Überwachung

Seit dem letzten erfolgreichen Wahlgang ist eine neue Geschwindigkeit auf der Stack-Verbindung erforderlich. Dies bedeutet, dass ein Knoten in den Stack eingetreten ist, hat sich die Dynamik der Stack-Geschwindigkeit. Wenn der Stapel langsamer als die aktuelle Geschwindigkeit ist, muss er sich nach unten anpassen. Oder indem sie schneller sind als zuvor. Es kann das Ergebnis eines neuen kürzeren Kabels sein.

sifOstNachbarnÄndern

Info

Überwachung

Überwachung für Stack-Aktivierungs-, Zusammenführungs- und Wrap-Szenarien

sifWestNachbarnÄndern

Info

Überwachung

SifKnotenIDChanged

Info

Überwachung

Angabe, dass als Ergebnis des letzten Wahlgangs die SifInfo.nodeId geändert wurde.

sifStackTopologieänderung

Info

Überwachung

Überwachung für Stack-Aktivierungs-, Zusammenführungs- und Wrap-Szenarien

9

sifRacInfoBuffer{0:5}EccCorrected

Major (Schwerwiegend)

Überwachung

sifRacInfoBuffer{0:5} wurde mit einem weichen Fehler behoben. Dies ist nicht gut, im schlimmsten Fall jedoch können Pakete außerhalb der festgelegten Reihenfolge oder spätere Paketverluste im Ausgangsdatenpfad auftreten. Ein Zurücksetzen des Dopplers ist hier nicht erforderlich.

sifRacInfoBuffer{0:5}EccDetected

Major (Schwerwiegend)

Überwachung

sifRacInfoLinkedListBuffer{0:5}EccCorrected

Major (Schwerwiegend)

Überwachung

sifRacInfoLinkedListBuffer{0:5} wurde mit einem weichen Fehler getroffen. Je nach übergeordneter HA-Richtlinie für diese SW-Last müssen Sie den Doppler zurücksetzen. Dies kann zu Leistungsproblemen bei SifReorder führen.

sifRacInfoLinkedListBuffer{0:5}EccDetected

Major (Schwerwiegend)

Überwachung

sifSegmentLinkedListBuffer{0:1}EccCorrected

Major (Schwerwiegend)

Überwachung

sifRacInfoLinkedListBuffer{0:5} wurde mit einem weichen Fehler getroffen. Je nach übergeordneter HA-Richtlinie für diese SW-Last müssen Sie den Doppler zurücksetzen. Dies kann zu Leistungsproblemen bei SifReorder führen.

sifSegmentLinkedListBuffer{0:1}EccDetected

Major (Schwerwiegend)

Überwachung

10

ZielIndexTabelleParitätsfehler

Major (Schwerwiegend)

Überwachung

Der Speicher wurde mit einem Paritätsfehler behoben. Laden Sie Inhalte neu, und stellen Sie fest, dass einige Pakete fälschlicherweise kopiert oder entfernt wurden. Ein Zurücksetzen des Dopplers ist wahrscheinlich nicht erforderlich.

GlobalZuLokalPortTabelle

Major (Schwerwiegend)

Überwachung

CPU-IndexTabelle

Major (Schwerwiegend)

Überwachung

HashtabelleA

Major (Schwerwiegend)

Überwachung

HashtabelleB

Major (Schwerwiegend)

Überwachung

MessageQueueInfo

Major (Schwerwiegend)

Überwachung

Die Nachrichtenkontrollspeicher wurden mit einem weichen Fehler getroffen. Dieses vorübergehende Problem kann zu einer fehlgeleiteten oder ungeordneten OOB führen. Dies kann sich selbst heilen und erfordert kein Doppler-Reset, da neue Benutzer der Einträge hier die alten überschreiben können.

MessageQueueLinkBuffer

Major (Schwerwiegend)

Überwachung

Dies ist in EDCS-757121:NG3K SIF Driver Software Functional Specification enthalten.

Andere Stacking-Register

- SifRacStatus

- SifStatistik

- SifRacEingefügt

- SifRacCopiedCnt

- SifRacPmaControl

- SifBallotWatchDogTimer

- SifPbcSifErrorCnt

- SifMessageStatus

- SifControl

- SupStackInterfaceControl

- SifSifPbcCnt0

- SifSifPbcCnt1

- SifSifPbcDroppedCnt

- SifSerdesHssMakroStatus

- SifSerdesHssChannelStatusRx

- SifSerdesHssChannelStatusTx

um die Details für jedes Register zu verstehen.

CLI zur Überwachung des Zustands von Stack-Ports:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

show platform hardware fed switch <> fwd-asic register read registername 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 registername SifPbcDroppedCnt

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

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

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

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

show platform software sif switch <> R0 counters

show platform software sif switch <> R0 exception

Lesen von Registern aus dem Linux-Kernel

.

Wenn Sie sich in der Linux Shell befinden, fahren Sie mit dem nächsten Skript fort:

[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>

ASIC in Dope.sh ändern

Das vorherige Skript liest den Schalter 1, im Grunde Null. Ändern Sie diese Einstellung, indem Sie dieses Skript ausführen:

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

dope[1,0]>

Hinweis: Dope.sh (Doppler-Shell) ist die niedrigste Ebene in der Hardware-Programmierung. So lesen Sie die Klingelwerte direkt von der Hardware. Verwenden Sie die anderen Stapelregister im vorherigen Skript nach dem Befehl,rdsp um die detailliertesten Daten abzurufen (falls erforderlich).

Probleme beim automatischen Neuladen

Bei jedem automatischen Neuladen (kein Crashdump/system_report generiert) gibt es Crash-Trace-Protokolle, die bestimmte Dateien anzeigen, um weitere Informationen zu erhalten, was das Ereignis verursachen könnte.

Schritt 1

Zuerst können wir stack_mgr_R0 betrachten und aus seiner Perspektive den Grund für das Neuladen erkennen. Beispiele:

Schritt 2

Wir können jetzt zu pvp-Protokollen wechseln. Verwenden Sie die Zeitstempel, die aus stack_mgr_R0 extrahiert wurden (insbesondere, wenn ein Neuladen stattgefunden hat), und sehen Sie sich pvp_F0 und pvp_R0 an, um zu ermitteln, wann die Terminierungssequenz des Prozesses gestartet wurde, bevor die gesamte Neuladeorchestrierungssequenz ausgeführt wird. Beispiele:

Hinweis: Es kann pvp_F0 und pvp_R0 anzeigen.

Hinweis: Stellen Sie sicher, dass Sie beide überprüfen, da Sie sehen konnten, dass der linux_iosd_image-Prozess in pvp_R0 endet, aber ein anderer Prozess innerhalb von pvp_F0 zuvor beendet wurde. Dies ist ein Schlüsselfaktor, weil der erste Prozess, der getötet wird. Dann kann es auf den Auslöser des Problems verweisen.

Schritt 3

Innerhalb von pvp_F0 und pvp_R0 gibt es auch einen Exit-Code, der nach dem Prozess tot/niedergehalten wird. Bei realen Prozessabstürzen werden die Exitcodes 129 und so verwendet. Auf diese Weise erkennt pvp, dass crashdump/system_report erstellt werden muss. Ohne crashdump/system_report ist der Exitcode normalerweise Null. Beispiele:

Schritt 4

Nachdem Sie den verantwortlichen Prozess identifiziert haben, gehen Sie zu den prozessbezogenen btrace-Protokollen, und überprüfen Sie, ob weitere Details vorhanden sind.

Timeouts/Neuladevorgänge bei Stack-Elementen - Anwenderbericht

Ein fehlerhaftes Kabel zwischen zwei Switches kann dazu führen, dass ein beliebiger Switch im Stack aufgrund verlorener Keepalives neu geladen wird.

Symptome

Stack-Traces oder Switches, bei denen das Problem aktiv auftritt, führen zu folgenden Fehlern:

- 9300-1# show platform software trace message stack-mgr switch active R0 | inc reagiert nicht

- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (Hinweis): Peer 4 reagiert nicht, für 8000 <tel:80 00> ms Bookkeep=3EFDD last_msg = 3EFD5

- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0 (Hinweis): Peer 6 antwortet nicht, für 8000 <tel:80 00> ms Bookkeep=3EFDC last_msg = 3EFD4

Die Broschüre prüft jede Sekunde, wann sie das letzte Mal von jedem Switch im Stack gehört wurde (aus der Perspektive des Switches, auf dem die Broschüre ausgeführt wird). Nach 8000 ms ohne Keepalives drucken wir Spuren, die man noch nicht gehört hat. Bei einer Geschwindigkeit von 16000 ms werden die fraglichen Switches bei Verlust der Keepalives neu geladen.

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

Diese Zeitüberschreitung trat auch auf, wenn die Stack-Verbindung zwischen den beiden Switches sehr instabil war, was dazu führte, dass einer der Switches den Stack-Port als aktiv einstufte und den Datenverkehr weiterleitete, der andere jedoch für ausgefallen hielt.

Der Stapelring arbeitet sowohl im Uhrzeigersinn als auch im Gegenuhrzeigersinn. Der Datenverkehr im Ring kann über beide Pfade laufen, unabhängig vom Ziel. Das heißt, wenn der Switch 2 einen Keepalive an den Switch 1 senden möchte, kann er über die Switches 3, 4, 5, 6, 7, 8 und dann 1 oder einfach von 2 direkt zu 1 gelangen. Der Datenrückverkehr von Switch 1 zu Switch 2, der per Hash zu Switch 8 geleitet wird, wurde verworfen, was zu den im vorherigen Skript festgestellten Zeitüberschreitungen geführt hätte.

Abkürzungen

- OOB: Out-of-Band

- SIF: Stack-Schnittstelle

- RAC: Ring Access Controller