Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

ThePunt Debug Log File

De Linux Shared Memory Punt Interface (LSMPI)

The Punt Policer

Embedded Event Manager (EEM) voor gegevensverzameling

Een praktisch voorbeeld

Verbetering

Inleiding

In dit document wordt beschreven hoe u storingen in het punt kunt oplossen.

Voorwaarden

Vereisten

Basiskennis in Cisco IOS® XE.

Gebruikte componenten

Dit document is gebaseerd op Cisco IOS XE-routers zoals CSR800v, ASR1000 en ISR4000 Series.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Achtergrondinformatie

Het puntpad in op Cisco IOS XE gebaseerde systemen is een intern gegevenspad. Dit is het pad waar de communicatie tussen het bedieningsvlak en het gegevensvlak plaatsvindt.

Deze interne weg wordt gebruikt om de pakketten van het controlevliegtuig voor de routerconsumptie te verzenden.

Wanneer dit pad mislukt, kunt u dit type fout in het logbestand zien.

%IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 60 seconds

De "levensonderhoud"-berichten zijn berichten die de gezondheid van het pad tussen de QFP en de RP bewaken.

Dit pad is cruciaal voor de werking van het systeem.

Als deze levensvormen niet binnen 5 minuten ontvangen worden, kunt u een kritische log als deze zien:

%IOSXE_INFRA-2-FATAL_NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds resetting

Het systeem wordt opnieuw ingesteld om van deze toestand te herstellen.

Het Point Debug-logbestand

In het geval van punt houdt springlevend mislukkingen en resets vanwege het, het systeem maakt een bestand genaamd punt_debug.log dat relevante gegevens verzamelt om het gedrag in kwestie tijd te begrijpen.

Opmerking: Zorg ervoor dat het systeem up-to-date is met de nieuwste Cisco IOS XE-softwarerelease om het bestand punt_debug.log te genereren.

Dit bestand bevat deze opdrachten meerdere malen uitvoeren om verschillende tellers te begrijpen.

toon platform software infra punt-keepalive

toon platform software infra lsmpi

toon platform software infrastructuur lsmpi driver

toon platform software infra lsmpi bufused

show platform software punt-policer

toon platform software status controle-processor samenvatting

tonen proces cpu platform gesorteerd

Toon platform software infrastructuur punt

toon platform hardware qfp actieve statistieken drop

toon platform hardware qfp actieve infra punt statistieken type per-oorzaak

toon platform hardware qfp actieve infrastructuur bqs wachtrij uitvoer standaard alles

Opmerking: Binnen het punt_debug.log focust u op fout-indicatoren en grote hoeveelheid pakketten die het probleem kunnen veroorzaken.

De Linux Shared Memory Punt Interface (LSMPI)

Deze component wordt gebruikt om pakketten en berichten te verzenden van het door:sturen van processor aan het routing van processor.

The Punt Policer

De punt policer is een besturingsplantbeveiligingsmechanisme waarmee het systeem vliegtuigpakketten kan beschermen en controleren.

Met de opdracht toon platform software punt-policer, kunt u de conforme pakketten en de gevallen als gevolg van deze policer zien.

----------------- show platform software punt-policer ------------------

Per Punt-Cause Policer Configuration and Packet Counters

Punt                                Config Rate(pps)     Conform Packets                   Dropped Packets               Config Burst(pkts)  Config Alert

Cause  Description                   Normal   High     Normal           High             Normal           High             Normal   High     Normal   High

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

2    IPv4 Options                  874      655      0                0                0                0                874      655      Off      Off

3    Layer2 control and legacy     8738     2185     0                0                0                0                8738     2185     Off      Off

4    PPP Control                   437      1000     0                0                0                0                437      1000     Off      Off

—— snip : output omitted for brevity  ——

De opdracht toont platform software infrastructuur punt toont tegengegevens over punt oorzaken.

------------------ show platform software infrastructure punt ------------------

LSMPI interface internal stats:

enabled=0, disabled=0, throttled=0, unthrottled=0, state is ready

Input Buffers = 51181083

Output Buffers = 51150283

—— snip : output omitted for brevity  ——

EPC CP RX Pkt cleansed 0

Punt cause out of range 0

IOSXE-RP Punt packet causes:

3504959 ARP request or response packets

27 Incomplete adjacency packets

—— snip : output omitted for brevity  ——

FOR_US Control IPv4 protcol stats:

2369262 TCP packets

FOR_US Control IPv6 protcol stats:

6057 ICMPV6 packets

Packet histogram(500 bytes/bin), avg size in 119, out 95:

Pak-Size      In-Count        Out-Count

0+:      51108211         51144723

500+:         22069             2632

1000+:          2172                0

1500+:          3170                0

Deze data zijn relevant om te begrijpen wat invloed kan hebben op het punt om levendig pad te houden.

Embedded Event Manager (EEM) voor gegevensverzameling

In het geval dat het punt_debug.log niet genoeg gegevens verschaft om het probleem te diagnosticeren, kan EEM-scripting worden gebruikt om meer datapunten te verkrijgen in de tijd van het probleem.

event manager applet punt_script authorization bypass

event syslog pattern "IOSXE_INFRA-4-NO_PUNT_KEEPALIVE" maxrun 1000

action 0.0 cli command "enable"

action 0.1 set i "0"

action 0.2 cli command "test platform software punt-keepalive ignore-fault"

action 0.3 while $i lt 10

action 0.4 syslog msg "iteration $i"

action 0.9 cli command "show clock | append bootflash:qfp_lsmpi.txt"

action 1.0 cli command "show platform software infrastructure lsmpi | append bootflash:qfp_lsmpi.txt"

action 1.1 cli command "show platform software infrastructure lsmpi driver | append bootflash:qfp_lsmpi.txt"

action 1.2 cli command "show platform software infrastructure lsmpi driver 0 | append bootflash:qfp_lsmpi.txt"

action 1.3 cli command "show platform software infrastructure lsmpi bufusage | append bootflash:qfp_lsmpi.txt"

action 1.4 cli command "show platform software infrastructure lsmpi bufusage 0 | append bootflash:qfp_lsmpi.txt"

action 1.5 cli command "show platform software infrastructure punt-keepalive | append bootflash:qfp_lsmpi.txt"

action 1.6 cli command "show platform software infrastructure punt | append bootflash:qfp_lsmpi.txt"

action 1.7 cli command "show platform software punt-policer | append bootflash:qfp_lsmpi.txt"

action 1.8 cli command "show platform hardware qfp active infrastructure punt stat type per-cause | append bootflash:qfp_lsmpi.txt"

action 1.9 cli command "show platform hardware qfp active infrastructure punt statistics type punt-drop | append bootflash:qfp_lsmpi.txt"

action 1.a cli command "show platform hardware qfp active infrastructure punt statistics type inject-drop | append bootflash:qfp_lsmpi.txt"

action 1.b cli command "show platform hardware qfp active infrastructure bqs queue output default interface-string internal0/0/rp:0 hier detail | append bootflash:qfp_lsmpi.txt"

action 1.c cli command "show platform hardware qfp active statistics drop | append bootflash:qfp_lsmpi.txt"

action 1.d cli command "show platform hardware qfp active datapath utilization | append bootflash:qfp_lsmpi.txt"

action 1.e cli command "show platform hardware qfp active datapath infrastructure sw-hqf | append bootflash:qfp_lsmpi.txt"

action 1.f cli command "show platform hardware qfp active datapath infrastructure sw-distrib | append bootflash:qfp_lsmpi.txt"

action 1.g cli command "show platform hardware qfp active datapath infrastructure sw-pktmem | append bootflash:qfp_lsmpi.txt"

action 1.h cli command "show platform software status control-processor brief | append bootflash:qfp_lsmpi.txt"

action 2.0 increment i

action 2.1 wait 3

action 2.4 end

action 3.0 syslog msg "End of data collection. Please transfer the file at bootflash:qfp_lsmpi.txt"

action 5.0 cli command "debug platform hardware qfp active datapath crashdump"

Opmerking: De opdrachten in het script variëren afhankelijk van het platform waar het is geconfigureerd.

Dit script stelt u in staat om de lsmpi, resources en puntstatus te begrijpen tijdens de issue time.

Het EEM script bevat de opdracht debug platform hardware qfp actieve datapath crashdump die de qfp core dump, nodig door ontwikkelaarsteam en TAC genereert.

Opmerking: Als u een case indient bij Cisco TAC, dient u het kernbestand te leveren dat door het script wordt gegenereerd.

Als een pakketspoor nodig is, kan deze wijziging aan het script worden toegevoegd:

Stel eerst de configuratie van het pakketspoor in, die uit het EEM-script kan worden uitgevoerd:

debug platform pakkettraceerpakket 8192 fia-trace circulaire

debug platform voorwaarde zowel

debug platform packet-trace kopieerpakket voor beide L2-systemen

Begin en stop het vervolgens met deze acties in het EEM-script:

actie 6.2 cli opdracht "debug platform voorwaarde start"

actie 6.3 wachten 8

action 6.4 cli opdracht "debug platform voorwaarde stop"

Vervolgens dumpt u de gegevens met deze opdrachten in een afzonderlijk bestand:

action 6.5 cli opdracht "toon platform packet-trace statistieken | bootflash toevoegen:traceAll.txt"

action 6.6 cli opdracht "toon platform packet-trace samenvatting | bootflash toevoegen:traceAll.txt"

action 6.7 cli opdracht "toon platform packet-trace pakket alle decoderen | bootflash toevoegen:traceAll.txt"

Deze packet trace acties logica wordt direct na de eindverklaring van de while cyclus toegevoegd in het EEM script.

Met dit script kunt u begrijpen wat voor soort pakketten de oorzaak van het probleem kunnen zijn.

Packet trace is een functie die bij probleemoplossing met de IOS XE Datapath Packet Trace-functie wordt gedocumenteerd

Een praktisch voorbeeld

Een CSR8000v wordt voortdurend opnieuw opgestart.

Na het uitnemen van het systeemrapport, kunt u een crashdump, en een iosd-kernbestand waarnemen dat punt aanhoudt levendige functies binnen het stackspoor.

Opmerking: Voor het decoderen van het stackspoor is TAC-assistentie vereist.

Het bestand crashinformatie is echter in duidelijke tekst en u kunt deze symptomen zien:

Jan 15 14:29:41.756 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 160 seconds

Jan 15 14:30:01.761 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 180 seconds

Jan 15 14:30:21.766 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 200 seconds

Jan 15 14:30:41.776 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 220 seconds

Jan 15 14:31:01.780 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 240 seconds

Jan 15 14:31:41.789 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 280 seconds

Jan 15 14:32:01.791 AWST: %IOSXE_INFRA-4-NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds

Jan 15 14:32:01.791 AWST: %IOSXE_INFRA-2-FATAL_NO_PUNT_KEEPALIVE:  Keepalive not received for 300 seconds resetting

%Software-forced reload

Exception to IOS Thread:

Frame pointer 0x7F0AE0EE29A8, PC = 0x7F0B342C16D2

UNIX-EXT-SIGNAL: Aborted(6), Process = PuntInject Keepalive Process

-Traceback= 1#7b5996c3

Het beïnvloede proces is PuntInject Keepalive-proces.

Het systeem moet een afbreeksignaal activeren wanneer keepalive de drempelwaarde van 300 seconden bereikt.

Het punt_debug.log onthult enkele verzend fouten binnen de opdracht tonen platform software infrastructuur lmpi driver:

Reason for TX drops (sticky):

Bad packet len   : 0

Bad buf len      : 0

Bad ifindex      : 0

No device        : 0

No skbuff        : 0

Device xmit fail : 82541   >>>>>>>>>>>>>>>>>>>>> Tx failure

Dit is een algemene tekortkoming.

Deze teller stijgt binnen veelvoudige steekproeven die in het dossier worden genomen.

Het EEM script werd geleverd om meer gegevens te krijgen over de resources, punt data path en andere infrastructurele opdrachten.

Door de tellers van het de verkeerspunt van het flmpi te controleren ziet u dat de pakketten van het EIGRP controlevliegtuig opmerkelijk zijn. Dit zijn pakketten geïdentificeerd zoals voor ons pakketten:

17660574 For-us data packets

543616 RP<->QFP keepalive packets

1004 Glean adjacency packets

3260636 BFD control packets

122523839 For-us control packets<<<<

FOR_US Control IPv4 protcol stats:

153551 TCP packets

2663105 GRE packets

104394559 EIGRP packets<<<<

Later bleek dat de hypervisor overgeabonneerd was, wat gevolgen had voor de onderliggende computerbronnen.

De CSR8000v is ook in een andere hypervisor geïmplementeerd, en dit heeft geholpen het probleem te verhelpen.

Verbetering

Verbetering voor automatische qfp core file generation werd geïntroduceerd met Cisco IOS XE 17.15 versie via Cisco bug ID CSCwf85505