목차

소개

Troubleshoot/Show 명령

Sif정보

SifRac상태

SifRac제어

SifExceptionInterruptA4

SifExceptionInterruptA8

기타 스태킹 레지스터

Linux 커널에서 레지스터 읽기

Dope.sh에서 ASIC 변경

자동 재로드 문제

1단계

2단계

3단계

4단계

스택 멤버 시간 초과/다시 로드 - 사례 연구

증상

약어

소개

이 문서에서는 스태킹 포트/케이블 문제 및 자동 재로드와 관련된 문제에 대한 명령/등록 문제를 해결하는 방법에 대해 설명합니다.

Troubleshoot/Show 명령

유용한 레지스터(각 ASIC 및 코어용)를 수집하고 분석합니다. 세 가지 주요 항목이 있습니다.

- Sif정보

- SifRac상태

- SifRac제어

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

Sif정보

첫 번째 비트는 asic이 사용 가능한지 여부를 알려줍니다. 0x1로 설정되어 있습니다. 0x0으로 설정된 경우 전달 문제가 있습니다. 오류 카운터 또는 상자에서 패킷을 제대로 복구할 수 없습니다.

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

참고: 각 스택 케이블에는 6개의 랙 링(링 액세스 제어)이 있으며, 각각 40Gig에서 3개의 발신/3개의 수신 링이 있습니다. WrappedAtRac 0부터 5까지는 스택 링크가 다운되었는지 여부에 따라 달라집니다. 상황이 좋으면 0x0(기본당 링크 6개, 발신 3개, 수신 3개)으로 표시됩니다. 예를 들어 홀수는 나가는 수이고 짝수는 들어오는 수이거나 그 반대의 경우도 마찬가지입니다.

SifRac상태

각 Rac를 자세히 확인하기 위해 확인할 중요 요소가 표시됩니다. active/linkOk/syncOk 비트는 특정 Rac가 연결되었는지 여부를 알려줍니다(OK이면 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

SifRac제어

Rac의 전원이 꺼졌는지 여부를 확인합니다. greenPowerDisable 매개 변수를 확인합니다. 이는 모든 Racs(적어도 Nyquist 플랫폼의 경우)에 대해 0x0을 보여줍니다. 하단 박스인 3650 스위치와 같이 스택 케이블 자체의 HW 제한으로 인해 Racs 전원 중단 또는 greenPowerDisable 매개변수가 0x1로 표시되는 몇 가지 예외가 있습니다. 그러면 스택 케이블은 기본당 2개의 Racs만 지원합니다. 나머지 2개의 Acl의 전원이 꺼집니다.

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

이는 시스템에 링크 변경(작동/중단 상황)이 있기 때문에 트리거됩니다. 인터럽트는 소프트웨어 레벨에서 처리됩니다. 링크 관련 변경 사항이 있는지 확인하기 위해 처리된 다음 게시됩니다(로그 생성).

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

이것은 하드웨어 인터럽트로, 투표 완료 시 세부사항을 알려줍니다 (투표 = 기본 초기화 프로세스). A8이 완료되면 시스템은 기본 가용 비트가 제대로 설정되었는지 확인합니다. 그렇지 않은 경우 투표가 다시 실행됩니다.

참고: 최대 개수에 도달하면 스위치가 다시 로드되고 사용 가능한 HW 비트가 설정되지 않았거나 투표가 완료되지 않았습니다.

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

다음 명령은 SDP 메시지와 SIF 관리 메시지를 포함하는 SIF 카운터를 표시합니다. 실패한 메시지가 있는 경우 해당 메시지에 초점을 맞춥니다.

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

추가 명령을 실행할 수 있으며 인터럽트가 임계값을 초과할 때만 정보를 표시합니다. 명령은 입니다show platform software sif switch active R0 exceptions. interrupts에 문제가 없을 때의 출력은 다음과 같습니다.

Switch#

Switch#show platform software sif switch active R0 exceptions

Switch#

인터럽트가 있을 때 출력은 다음 스크립트와 비슷합니다. 인터럽트는 몇 가지 시나리오(부팅, 플러그/플러그 해제 등)에서 예상되므로 실제 문제가 있고 인터럽트가 계속 발생하는 경우 초/분 동안 명령을 반복해서 실행하십시오.

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

이 표에서는 다음과 같은 가장 일반적인 SIF 예외에 대해 자세히 show platform software sif switch active R0 exceptions 설명합니다.

예외 번호

필드 이름

심각도

사용

설명

0

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

major(중요)

통계

이는 시스템 클록과 직렬 클록 사이의 푸시-풀 FIFO가 클록 스필을 초과할 경우 발생합니다. 이런 일이 일어날 수 없습니다. 이 경우, Serdes 클럭이 (프로그래밍 또는 잘못된 Serdes에 의해) 비활성화되었음을 나타내는 표시일 가능성이 높습니다. 프로그래밍 문제 때문이 아니라면 이는 중대한 사안이다. 하지만 SIF는 스스로 치유합니다. 작은 문제의 최종 결과는 분실 세그먼트이거나 극단적인 경우에는 재초기화 입니다. 이것이 작은 문제가 아니었다면, 그리고 그것이 여전히 발생하고 있다면, 그리고 나서 이 국장을 처리한 후에, 그것은 당신에게 그 상태가 이 시점에서 여전히 발생하고 있다고 말하면서, 재발사합니다. 이 전송 링크는 toast입니다.

1

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

major(중요)

통계

이는 시스템 클록과 직렬 클록 사이의 푸시-풀 FIFO가 클록 스필을 초과할 경우 발생합니다. 이런 일이 일어날 수 없습니다. 이 경우, Serdes 클럭이 (프로그래밍 또는 잘못된 Serdes에 의해) 비활성화되었음을 나타내는 표시일 가능성이 높습니다. 프로그래밍 문제 때문이 아니라면 이는 중대한 사안이다. 하지만 SIF는 스스로 치유합니다. 작은 문제의 최종 결과는 분실 세그먼트이거나 극단적인 경우에는 재초기화 입니다. 이것이 작은 문제가 아니었다면, 그리고 그것이 여전히 발생하고 있다면, 그리고 나서 이 국장을 처리한 후에, 그것은 당신에게 그 상태가 이 시점에서 여전히 발생하고 있다고 말하면서, 재발사합니다. 이 전송 링크는 toast입니다.

2

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

major(중요)

통계

수신된 Serdes 클럭의 상태를 알려주기 위해 sifRac{0:5}PmaReceiveFifoSplit{0:3}과(와) 상관관계에 사용됩니다. 정상 작동 조건입니다. 사양이 부족한 경우 IdleDensity Timer는 차이를 보상할 수 없습니다. 일반적으로, 이것은 수신기 Serdes가 제대로 작동 한다는 가정이 실제로 사실임을 보장하기 위한 문제 검사기입니다.

3

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

major(중요)

통계

수신된 Serdes 클럭의 상태를 알려주기 위해 sifRac{0:5}PmaReceiveFifoSplit{0:3}과(와) 상관관계에 사용됩니다. 정상 작동 조건입니다. 사양이 부족한 경우 IdleDensity Timer는 차이를 보상할 수 없습니다. 일반적으로, 이것은 수신기 Serdes가 제대로 작동 한다는 가정이 실제로 사실임을 보장하기 위한 문제 검사기입니다.

4

sifRac{0:5}syncOkChange

minor(경미)

모니터링

링크 플랩 표시

sifRac{0:5}링크OkChange

minor(경미)

모니터링

링크 플랩 표시

sifRac{0:5}linkedListSpill

major(중요)

모니터링

재정렬 알고리즘의 일부인 RAC 연결 목록이 가능한 최대 항목을 초과했습니다. 이는 재주문이 이 RAC에서 데이터 세그먼트 및 OOB 메시지를 테일 드롭하고 있음을 의미합니다. 이는 스택이 잘못 구성되었거나 연결된 목록에 소프트 오류가 발생하지 않은 경우 발생할 수 없습니다. 예외 9 및 10을 참조하십시오.

sifRac{0:5}transitFifoSpill

major(중요)

통계

SIF를 통해 다른 노드로 데이터를 이동하는 TransitFifo의 책임으로 인해 IdleDensityTimer w.r.t.가 이 스위치와 네이버의 실제 Serdes 클록 ppm(parts per million) 오프셋으로 잘못 구성되었기 때문일 가능성이 높습니다.

5

sifRac{0:5}missingToken

major(중요)

통계

Stack Conch 셸이 유실, 손상, 재배포되는 등의 문제가 발생했습니다. 이는 스택의 비트 히트가 SifTokenDesc에 도달했음을 나타내는 것일 수 있습니다. 이것은 일어날 가능성이 매우 희박한 일입니다. 이를 다양한 방법으로 처리하도록 SIF를 구성할 수 있습니다. 다시 투표하고 처음부터 다시 시작하거나, 토큰을 다시 배포하거나, SIF가 다시 배포하도록 허용합니다.

sifRac{0:5}duplicateToken

major(중요)

통계

sifRac{0:5}tokenDeployed

정보

통계

6

sifRac{0:5}RwCrcErrorCntOverflow

minor(경미)

통계

스택 케이블 또는 네이버 박스의 모든 표시기가 손상되었을 가능성이 높습니다. 주로 디버깅을 위해 이 세부 사항을 살펴봅니다. 정상 작동 과정에서 syncOkChange 및 linkOkChange는 사용자가 알아야 할 전부입니다. LONG-TERM-BER를 수집할 때, 비트 오류의 적절한 카운팅을 위해 카운터가 롤오버될 때 이들을 모니터링하고 카운트해야 합니다. invalidRw 또는 pcsCodeWordError가 있는 경우 CRC가 검사되지 않을 수 있습니다. 이렇게 하면 BER에 대한 이 모든 레지스터를 합산할 수 있습니다.

sifRac{0:5}데이터 Crc오류CntOverflow

minor(경미)

통계

sifRac{0:5}InvalidRwErrorCntOverflow

minor(경미)

통계

sifRac{0:5}PcsCodeWordErrorCntOverflow

minor(경미)

통계

7

sifRac{0:5}RdispErrorCntOverflow

minor(경미)

통계

sifRac{0:5}PrbsUnLockErrorCntOverflow

정보

통계

최적의 프로그램을 찾기 위해 IBM HSS 매크로의 최상의 구성을 찾는 데 사용할 수 있는 통계를 제공합니다.

sifRac{0:5}PrbsBitErrorCntOverflow

정보

통계

sifRac{0:5}오류 캡처CntOverflow

정보

실습

스택에서 무슨 일이 일어나고 있는지 확인하기 위해 검사를 위해 오류가 발생한 ringWords의 형식을 캡처하기 위한 통계를 표시합니다.

8

sifRacInfoLinkedListInitDone{0:5}

정보

모니터링

RAC 연결 목록의 HW 초기화가 완료되었습니다.

sifDropSegmentCntOverflow

정보

통계

sifPbcInconsistentSopEopCntOverflow

정보

통계

최악의 시나리오죠 PBC의 프로토콜 양식에 따라 데이터 도착을 확인합니다.

sifPbcErrorCntOverflow

정보

통계

sifSupInconsistentSopEopCntOverflow

정보

통계

최악의 시나리오죠 SUP(OOBM)의 프로토콜 양식에 따라 데이터 도착을 확인합니다.

sif수퍼바이저 오류CntOverflow

정보

통계

sifReorderInconsistentSopEopCntOverflow

정보

통계

누락된 세그먼트 표시기가 롤오버되었음을 나타냅니다.

sif디버그 전송됨

정보

실습

스택에 디버그 세그먼트를 삽입하라는 표시를 표시합니다.

sif메시지 전송됨

정보

실습

OOBM의 자동화된 특성으로 인해, 이들은 실습 상황에서만 유용하다.

sif메시지수신

정보

실습

sif메시지드랍됨

정보

실습

sifMessageReceiveBufferCreditsEmpty

minor(경미)

모니터링

크레딧이 발생하는 경우 이를 새로 고치십시오. 신용등급은 이것이 이탈되지 않도록 적극적으로 모니터링된다.

sif매핑되지 않은 대상 인덱스

minor(경미)

통계

복사/스트립 동안 destIndex를 매핑할 수 없으며 portCopy가 '0'으로 설정되고 portStrip이 '1'로 설정되었습니다. 이는 컨피그레이션 문제를 나타냅니다.

sifSegmentBuffer{0:1}linkedListSpill

major(중요)

모니터링

다시 주문의 일부인 세그먼트 연결 목록이 가능한 최대 항목을 초과했습니다. 다시 정렬이 이제 데이터 세그먼트 및 OOB 메시지를 테일 드롭하고 있음을 나타냅니다. 이는 스택이 잘못 구성되었거나 연결된 목록에 소프트 오류가 발생하지 않은 경우 발생할 수 없습니다. 예외 9 및 10을 참조하십시오.

sifSegmentBufferLinkedListInitDone{0:1]

정보

모니터링

세그먼트 연결 목록의 HW 초기화가 완료되었습니다.

sifVoteDone

정보

모니터링

기표 투표가 완료되었습니다.

sifVotingSpeedChangeNeeded

정보

모니터링

마지막 투표 성공 이후 스택 링크에서 새로운 속도가 필요합니다. 즉, 노드가 스택에 들어왔으므로 스택 속도의 동적인 상태가 변경되었습니다. 현재 속도보다 느리면 스택이 아래로 조정해야 합니다. 또는 이전보다 더 빨라진 것입니다. 이는 새로운 짧은 케이블의 결과일 수 있습니다.

sifEastNeighbor변경

정보

모니터링

스택 가동, 병합 및 랩 시나리오를 모니터링합니다.

sifWestNeighbor변경

정보

모니터링

sif노드 ID변경됨

정보

모니터링

마지막 투표의 결과로 SifInfo.nodeId가 변경되었음을 나타냅니다.

sifStack토폴로지변경

정보

모니터링

스택 가동, 병합 및 랩 시나리오를 모니터링합니다.

9

sifRacInfoBuffer{0:5}EccCorrected

major(중요)

모니터링

sifRacInfoBuffer{0:5}에 소프트 오류가 발생했습니다. 이 문제는 심각하지만 최악의 경우 일부 순서가 잘못된 패킷 또는 나중에 이그레스 데이터 경로에 패킷이 드롭됩니다. 여기서는 도플러 재설정이 필요하지 않습니다.

sifRacInfoBuffer{0:5}EccDetected

major(중요)

모니터링

sifRacInfoLinkedListBuffer{0:5}EccCorrected

major(중요)

모니터링

sifRacInfoLinkedListBuffer{0:5}에 소프트 오류가 발생했습니다. 이 SW 부하에 대한 과도한 HA 지침에 따라 Doppler를 재설정하고자 합니다. 이로 인해 SifReorder에 성능 문제가 발생할 수 있습니다.

sifRacInfoLinkedListBuffer{0:5}EccDetected

major(중요)

모니터링

sifSegmentLinkedListBuffer{0:1}EccCorrected

major(중요)

모니터링

sifRacInfoLinkedListBuffer{0:5}에 소프트 오류가 발생했습니다. 이 SW 부하에 대한 과도한 HA 지침에 따라 Doppler를 재설정하고자 합니다. 이로 인해 SifReorder에 성능 문제가 발생할 수 있습니다.

sifSegmentLinkedListBuffer{0:1}EccDetected

major(중요)

모니터링

10

대상 인덱스 테이블 패리티 오류

major(중요)

모니터링

메모리에 패리티 오류가 발생했습니다. 내용을 다시 로드하고 일부 패킷이 잘못 복사/제거될 수 있음을 인식합니다. Reset Doppler는 필요하지 않을 수 있습니다.

전역-로컬 포트 테이블

major(중요)

모니터링

Cpu인덱스테이블

major(중요)

모니터링

해시 테이블

major(중요)

모니터링

해시 테이블B

major(중요)

모니터링

메시지큐피포

major(중요)

모니터링

메시지 제어 메모리에 소프트 오류가 발생했습니다. 이는 잘못 전달되거나 순서가 잘못된 OOB로 이어질 수 있는 일시적인 문제입니다. 이것은 자체 치유가 될 수 있으며 여기 항목의 새 사용자가 이전 항목을 덮어쓸 수 있으므로 도플러 재설정이 필요하지 않습니다.

메시지 대기열 링크 버퍼

major(중요)

모니터링

이는 EDCS-757121:NG3K SIF 드라이버 소프트웨어 기능 사양에 나와 있습니다.

기타 스태킹 레지스터

- SifRac상태

- Sif통계

- SifRacInsertedCnt

- SifRacCopiedCnt

- SifRacPmaControl

- SifVotingWatchDogTimer

- SifPbcSifErrorCnt

- Sif메시지 상태

- Sif제어

- SupStack인터페이스제어

- SifSifPbcCnt0

- SifSifPbcCnt1

- SifSifPbcDroppedCnt

- SifSerdesHssMacroStatus

- SifSerdesHssChannelStatusRx

- SifSerdesHssChannelStatusTx

각 레지스터에 대한 세부 사항을 이해할 수 있습니다.

스택 포트의 상태를 모니터링하는 CLI:

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 SifPottingWatchDogTimer

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 <> R0 counters

show platform software sif switch <> R0 예외

Linux 커널에서 레지스터 읽기

.

Linux Shell로 이동한 후 다음 스크립트를 진행합니다.

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

Dope.sh에서 ASIC 변경

이전 스크립트는 switch one, asic zero를 읽고 있습니다. 이 스크립트를 수행하여 이 변경:

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

dope[1,0]>

참고: Dope.sh(Doppler shell)는 하드웨어 프로그래밍에서 가장 낮은 레벨입니다. 이는 하드웨어에서 벨소리 값을 직접 읽는 방법입니다. 가장 세분화된 데이터를 가져오려면 명령 뒤에rdsp 이전 스크립트의 기타 스태킹 레지스터를 사용합니다(필요한 경우).

자동 재로드 문제

무음 다시 로드(crashdump/system_report가 생성되지 않음)가 있을 때마다, 이벤트를 일으킬 수 있는 원인에 대한 자세한 정보를 얻기 위해 일부 특정 파일을 표시하는 크래시 추적 로그가 있습니다.

1단계

먼저 stack_mgr_R0을 살펴보고 그 관점에서 다시 로드하는 이유를 확인할 수 있습니다. 예:

2단계

이제 pvp 로그로 이동할 수 있습니다. stack_mgr_R0에서 추출된 타임스탬프(특히 다시 로드가 발생한 경우)를 사용하고 pvp_F0 및 pvp_R0을 검토하여 모든 다시 로드 오케스트레이션 시퀀스를 실행하기 전에 프로세스 종료 시퀀스가 시작된 시기를 확인합니다. 예:

참고: pvp_F0 및 pvp_R0을 표시할 수 있다.

참고: linux_iosd_image 프로세스가 pvp_R0에서 종료되는 것을 볼 수 있지만 이전에 pvp_F0 내에서 다른 프로세스가 종료되었기 때문에 두 가지를 모두 확인하십시오. 이것이 중요한 요인입니다. 왜냐하면 가장 첫 번째 과정이 살해되었기 때문입니다. 그런 다음 문제의 트리거를 가리킬 수 있습니다.

3단계

pvp_F0 및 pvp_R0 내에는, 프로세스 데드/홀드다운 후에 제공되는 종료 코드도 존재한다. 실제 프로세스 충돌의 경우 종료 코드 129 등이 사용됩니다. 이것이 바로 pvp가 crashdump/system_report를 생성해야 한다는 것을 인식하는 방법입니다. crashdump/system_report가 없으면 일반적으로 종료 코드는 0입니다. 예:

4단계

범인 프로세스를 식별한 후 프로세스 관련 추적 로그로 이동하여 자세한 내용을 확인합니다.

스택 멤버 시간 초과/다시 로드 - 사례 연구

두 스위치 간 불량 케이블 하나가 발생하여 스택의 모든 스위치가 킵얼라이브가 손실되어 다시 로드될 수 있습니다.

증상

스택 추적 또는 스위치에서 문제가 발생하면 다음과 같은 오류가 발생합니다.

- 9300-1# show platform software trace message stack-mgr switch active R0 | inc가 응답하지 않음

- 2018 <tel:2018>/05/10 13:57:30.397 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0(참고): 피어 4가 8000 <tel:8000>밀리초 동안 응답하지 않습니다. Bookkeep=3EFD last_msg = 3EFD5

- 2018 <tel:2018>/05/10 13:57:29.396 [stack_mgr] [24459]: UUID: 0, ra: 0, TID: 0(참고): 8000 <tel:8000>밀리초 동안 피어 6이 응답하지 않습니다. Bookkeep=3EFDC last_msg = 3EFD4

책갈피는 스택의 각 스위치에서 마지막으로 수신한 시간에 대해 1초마다 확인합니다(책갈피를 실행하는 스위치의 관점에서). 8000 msec의 킵얼라이브가 없는 후, 피어가 들리지 않은 흔적을 인쇄하기 시작합니다. 16000msec에 문제의 스위치가 손실된 keepalive를 위해 다시 로드됩니다.

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

이 시간 초과는 스위치 간 스택 링크에서 많은 양의 불안정성이 나타나는 부분에서도 발견되었으며, 결국 한 스위치에서는 스택 포트가 작동 중이고 트래픽을 전달할 수 있다고 생각하지만 다른 스위치에서는 중단되었다고 생각했습니다.

스택-링은 시계 방향 및 반-시계 방향 양쪽에서 작동한다. 링의 트래픽은 대상에 관계없이 두 경로 중 하나를 사용할 수 있습니다. 이는 스위치 2가 킵얼라이브를 스위치 1로 전송하려는 경우 스위치 3, 4, 5, 6, 7, 8, 1을 거치고, 2에서 1로 바로 전송할 수 있음을 의미합니다. 스위치 1에서 스위치 2로의 반환 트래픽이 스위치 8로 해시되면 삭제되어 이전 스크립트에 표시된 시간 초과가 발생합니다.

약어

- OOB: 대역 외

- SIF: 스택 인터페이스

- RAC: 링 액세스 컨트롤러