La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come risolvere un problema che si verifica quando più DPC (Data Processing Card) vengono arrestate in un periodo di tempo molto breve a causa di arresti anomali di npumgr.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi
| SPGW | Gateway di rete per server e pacchetti |
| DPC | Scheda per l'elaborazione dati |
| VLAN | Virtual Local Area Network |
| NPU | Unità di elaborazione di rete |
Come parte di un'attività pianificata, nelle VLAN le nuove interfacce vengono associate sotto le porte configurate. La seconda parte dell'attività consiste nella creazione di route statiche tramite queste interfacce. Non appena la VLAN viene aperta al traffico, npumgr si blocca e successivamente tutte le schede DPC vengono chiuse più volte.
In questa sezione vengono fornite informazioni per risolvere il problema di arresto di più schede DPC in un periodo di tempo molto breve a causa di arresti anomali di npumgr.
Di seguito sono illustrati i registri delle attività e i syslog raccolti che illustrano i dettagli del supporto (SSD) relativi al problema. In primo luogo, vengono controllati gli stati di rct per verificare il motivo di questi arresti. Si può vedere qui che sono chiusi a causa di troppi incidenti di npumgr.
******** show rct stats verbose *******
Thursday September 19 03:57:04 IST 2019
RCT stats details (Last 18 Actions)
# Action Type From To Start Time Duration Status
--- ------------- --------- ---- ---- ------------------------ ----------- -------
7 Shutdown N/A 2 10 2019-Sep-19+00:09:51.587 2.322 sec Success
8 Shutdown N/A 1 0 2019-Sep-19+00:10:14.541 0.005 sec Success
9 Shutdown N/A 3 0 2019-Sep-19+00:10:44.625 0.005 sec Success
10 Shutdown N/A 4 0 2019-Sep-19+00:11:03.428 0.005 sec Success
11 Shutdown N/A 7 0 2019-Sep-19+00:11:34.771 0.478 sec Success
12 Shutdown N/A 8 0 2019-Sep-19+00:11:54.328 0.005 sec Success
13 Shutdown N/A 9 0 2019-Sep-19+00:12:19.656 0.005 sec Success
14 Shutdown N/A 10 0 2019-Sep-19+00:12:39.706 0.004 sec Success
15 Shutdown N/A 1 9 2019-Sep-19+00:32:30.567 0.005 sec Success
16 Shutdown N/A 2 0 2019-Sep-19+00:32:36.282 0.031 sec Success
17 Shutdown N/A 3 0 2019-Sep-19+00:32:56.456 0.005 sec Success
18 Shutdown N/A 4 0 2019-Sep-19+00:33:30.426 0.005 sec Success
RCT stats summary
-----------------
Migrations = 2, Average time = 10.890 sec
Management Card = 2, Average time = 10.890 sec
Packet Card = 0
Switchovers = 2, Average time = 18.526 sec
RCT stats verbose
-----------------
Stats 7:
Action : Shutdown
Type : N/A
From : 2
To : 10
Start Time : 2019-Sep-19+00:09:51.587
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 2.322 sec
Graceful : Enabled
Stats 8:
Action : Shutdown
Type : N/A
From : 1
To : 0
Start Time : 2019-Sep-19+00:10:14.541
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 9:
Action : Shutdown
Type : N/A
From : 3
To : 0
Start Time : 2019-Sep-19+00:10:44.625
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 10:
Action : Shutdown
Type : N/A
From : 4
To : 0
Start Time : 2019-Sep-19+00:11:03.428
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 11:
Action : Shutdown
Type : N/A
From : 7
To : 0
Start Time : 2019-Sep-19+00:11:34.771
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.478 sec
Graceful : Enabled
Stats 12:
Action : Shutdown
Type : N/A
From : 8
To : 0
Start Time : 2019-Sep-19+00:11:54.328
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 13:
Action : Shutdown
Type : N/A
From : 9
To : 0
Start Time : 2019-Sep-19+00:12:19.656
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 14:
Action : Shutdown
Type : N/A
From : 10
To : 0
Start Time : 2019-Sep-19+00:12:39.706
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.004 sec
Graceful : Enabled
Stats 15:
Action : Shutdown
Type : N/A
From : 1
To : 9
Start Time : 2019-Sep-19+00:32:30.567
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 16:
Action : Shutdown
Type : N/A
From : 2
To : 0
Start Time : 2019-Sep-19+00:32:36.282
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.031 sec
Graceful : Enabled
Stats 17:
Action : Shutdown
Type : N/A
From : 3
To : 0
Start Time : 2019-Sep-19+00:32:56.456
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Stats 18:
Action : Shutdown
Type : N/A
From : 4
To : 0
Start Time : 2019-Sep-19+00:33:30.426
Failure Reason : NPUMGR_TOO_MANY_CRASHES
Failure Device : CARD
Is Card Usable : Yes
Recovery Status : Success
Facility : N/A
Instance : N/A
Duration : 0.005 sec
Graceful : Enabled
Quindi, controllare i dettagli di npumgr crash. In questo esempio si verifica un arresto anomalo di npumgr in corrispondenza della funzione nexthop_get. Di conseguenza, quando si cerca di ottenere l'hop successivo, vengono visualizzati alcuni problemi.
********************* CRASH #09 ***********************
SW Version : 21.9.7
Similar Crash Count : 16
Time of First Crash : 2019-Sep-19+00:08:16
Assertion failure at npu/npumgr/ares_npumgr_forwarding_handler.c:1829
Function: ares_npumgr_nexthop_get()
Expression: (nh_id) >= 0 && (nh_id) < ares_npumgr_db_get_count(SN_NPUSHM_TABREC_NH, (ares_inst)->profile)
Proclet: npumgr (f=103000,i=30)
Process: card=3 cpu=0 arch=X pid=7066 cpu=~0% argv0=npumgr
Crash time: 2019-Sep-18+19:01:11 UTC
Recent errno: 11 Resource temporarily unavailable
Build_number: 71001
Stack (18024@0x0xffff0000):
[ffffe430/X] __kernel_vsyscall() sp=0xffff0428
[0c7df834/X] sn_assert() sp=0xffff0468
[002fcedb/X] ares_npumgr_nexthop_get() sp=0xffff04b8
[002feb23/X] ares_npumgr_fwd_ddf2_tcam_entry_update() sp=0xffff0948
[00301896/X] ares_npumgr_lpm_add() sp=0xffff0e98
[003c4345/X] ares_npumgr_fwd_add() sp=0xffff1768
[003e38fa/X] ares_npumgr_fwd_func() sp=0xffff1bf8
[003e444a/X] ares_sn_npumgr_forwarding_add_del_mod_handler() sp=0xffff2048
[0c892918/X] sn_msg_arriving_handle() sp=0xffff4138
[0c8713a6/X] sn_loop_run() sp=0xffff45e8
[0c55a3b5/X] main() sp=0xffff4658
*******************************************************
********************* CRASH #10 ***********************
SW Version : 21.9.7
Similar Crash Count : 1
Time of First Crash : 2019-Sep-19+00:31:22
Assertion failure at npu/npumgr/ares_npumgr_port_handler.c:8409
Note: failed to find index of created lport 5/11#11-65: status=SN_STATUS_FAILURE[1]
Function: ares_sn_npumgr_port_lp_create_func()
Expression: 0
Code: CRASH
Proclet: npumgr (f=103000,i=11)
Process: card=1 cpu=1 arch=X pid=7181 argv0=npumgr
Crash time: 2019-Sep-18+19:01:22 UTC
Recent errno: 11 Resource temporarily unavailable
Build_number: 71001
Stack (14728@0x0xffcb8000):
[ffffe430/X] __kernel_vsyscall() sp=0xffcb8a48
[0c7df834/X] sn_assert() sp=0xffcb8a88
[003bd590/X] ares_sn_npumgr_port_lp_create_func() sp=0xffcb8f18
[003c10d4/X] ares_sn_npumgr_port_lp_create_handler() sp=0xffcb9368
[0c892918/X] sn_msg_arriving_handle() sp=0xffcbb458
[0c8713a6/X] sn_loop_run() sp=0xffcbb908
[0c55a3b5/X] main() sp=0xffcbb978
*******************************************************
********************* CRASH #11 ***********************
SW Version : 21.9.7
Similar Crash Count : 107
Time of First Crash : 2019-Sep-19+00:09:03
Assertion failure at npu/npumgr/ares_npumgr_forwarding_handler.c:1829
Function: ares_npumgr_nexthop_get()
Expression: (nh_id) >= 0 && (nh_id) < ares_npumgr_db_get_count(SN_NPUSHM_TABREC_NH, (ares_inst)->profile)
Proclet: npumgr (f=103000,i=80)
Process: card=8 cpu=0 arch=X pid=9130 cpu=~98% argv0=npumgr
Crash time: 2019-Sep-18+19:03:35 UTC
Recent errno: 115 Operation now in progress
Build_number: 71001
Stack (10360@0x0xffe58000):
[ffffe430/X] __kernel_vsyscall() sp=0xffe58618
[0c7df834/X] sn_assert() sp=0xffe58658
[002fcedb/X] ares_npumgr_nexthop_get() sp=0xffe586a8
[002feb23/X] ares_npumgr_fwd_ddf2_tcam_entry_update() sp=0xffe58b38
[00301896/X] ares_npumgr_lpm_add() sp=0xffe59088
[003c4345/X] ares_npumgr_fwd_add() sp=0xffe59958
[003e1191/X] fwddb_import_add_entry() sp=0xffe59dd8
[003e2452/X] ares_npumgr_fwddb_import() sp=0xffe5a2c8
[0025e4ea/X] npumgr_rx_db_evt() sp=0xffe5a2f8
[0c8660d4/X] sn_epoll_run_events() sp=0xffe5a348
[0c872bca/X] sn_loop_run() sp=0xffe5a7f8
[0c55a3b5/X] main() sp=0xffe5a868
*******************************************************
È possibile controllare i registri delle attività ed ecco la cronologia degli eventi che si sono verificati. Come parte di un'attività, le interfacce vengono create seguite da route statiche.
show ipv6 interface summary
Thursday September 19 00:09:16 IST 2019
Interface Name Address/Mask Port Status
============================== =================== ================== ======
SGi_LAG100_vlan50 2401:4900:c:f::201/126 5/10 vlan 50 UP [sec]
SGi_LAG100_vlan64_VO4G_SBC 2401:4900:c:10::1/126 5/10 vlan 64 UP
SGi_LAG200_vlan51 2401:4900:c:f::205/126 5/11 vlan 51 UP [sec]
SGi_LAG200_vlan65_VO4G_SBC 2401:4900:c:10::5/126 5/11 vlan 65 UP
Total interface count: 4
(config-ctx)# ipv6 route a:b:c:d:1/128 next-hop x:y:z:w::2 interface A
Thursday September 19 00:07:13 IST 2019
(config-ctx)#
(config-ctx)# ipv6 route a:b:c:d:1/128 next-hop x:y:z:w::2 interface B
Thursday September 19 00:07:21 IST 2019
Failure: Invalid Nexthop address!
(config-ctx)#
(config-ctx)# ipv6 route a:b:c:d:1/128 next-hop x:y:z:w::6 interface C
Thursday September 19 00:07:36 IST 2019
(config-ctx)# exit
Thursday September 19 00:07:50 IST 2019
[SGi]MOH-C25-SPG-04(config)#
La VLAN viene quindi configurata all'interno della porta e aperta al traffico intorno alle 19.00.08.16 di settembre.
(config)# port ethernet 5/10
Thursday September 19 00:08:01 IST 2019
(config-port-5/10)# vla
(config-port-5/10)# vlan 64
Thursday September 19 00:08:05 IST 2019
(config-port-5/10-vlan-64)# bind interface C SGi
Thursday September 19 00:08:14 IST 2019
(config-port-5/10-vlan-64)# no shu
(config-port-5/10-vlan-64)# no shutdown
Thursday September 19 00:08:17 IST 2019
(config-port-5/10-vlan-64)# exit
Thursday September 19 00:08:19 IST 2019
(config-port-5/10)# exit
Thursday September 19 00:08:21 IST 2019
In questa sezione, i passaggi e le configurazioni dell'attività pianificata per la creazione di interfacce e route statiche sono seguiti dal binding all'interno della VLAN. Subito dopo, però, si è visto che npumgr ha iniziato a bloccarsi, seguito da un arresto delle schede DPC a causa di troppi incidenti di npumgr.
show snmp trap history verbose | grep -i mgr
Thursday September 19 00:20:22 IST 2019
Thu Sep 19 00:08:18 2019 Internal trap notification 73 (ManagerFailure) facility npumgr instance 30 card 3 cpu 0
Thu Sep 19 00:08:18 2019 Internal trap notification 150 (TaskFailed) facility npumgr instance 30 on card 3 cpu 0
Thu Sep 19 00:08:18 2019 Internal trap notification 73 (ManagerFailure) facility npumgr instance 40 card 4 cpu 0
Thu Sep 19 00:08:18 2019 Internal trap notification 150 (TaskFailed) facility npumgr instance 40 on card 4 cpu 0
Per risolvere immediatamente il problema, le VLAN vengono rimosse dalla porta. Presto, dopo aver rimosso le VLAN, il npumgr si blocca.
configure
Thursday September 19 00:29:31 IST 2019
(config)# port eth
(config)# port ethernet 5/10
Thursday September 19 00:33:13 IST 2019
(config-port-5/10)# no vlan 64
Thursday September 19 00:33:23 IST 2019
(config-port-5/10)# exit
Thursday September 19 00:33:38 IST 2019
(config)# port ethernet 5/11
Thursday September 19 00:33:42 IST 2019
(config-port-5/11)# no vlan 65
Thursday September 19 00:33:50 IST 2019
(config-port-5/11)# end
Thursday September 19 00:33:52 IST 2019
******** show crash list *******
Thursday September 19 03:54:39 IST 2019
=== ==================== ======== ========== =============== =======================
# Time Process Card/CPU/ SW HW_SER_NUM
PID VERSION MIO / Crash Card
=== ==================== ======== ========== =============== =======================
9 2019-Sep-19+00:31:11 npumgr 03/0/07066 21.9.7 FLM221503A5/FLM221404FF
10 2019-Sep-19+00:31:22 npumgr 01/1/07181 21.9.7 FLM221503A5/FLM221404FH
11 2019-Sep-19+00:33:35 npumgr 08/0/09130 21.9.7 FLM221503A5/FLM221404FU
Se si controlla ulteriormente i syslog, si osserverà che il sistema ha tentato di ottenere l'hop successivo, ma l'operazione non è riuscita in corrispondenza del set 19 00:08:16, ossia poco dopo l'apertura della VLAN al traffico.
Sep 19 00:08:16 10.107.211.36 evlogd: [local-60sec16.758] [npumgr-fwd 168001 error] [3/2/7024
rding_handler.c:7739] [software internal system syslog] ECMP create fail - no nexthop ARP: vpnid=6, type=ip[0], action=add[1], ip=2401:4900:c:f::408/128, tb_ver=3 ifentry-flag=0, ifroute-flag=0, updatettl-flag=1, nh=2401:4900:c:10::1 dpti=0 priority=0, tos=0, ttl-decr=1, nhlfe_ix=0, lport=0x050a000a
Sep 19 00:08:18 10.107.211.36 evlogd: [local-60sec18.448] [sitmain 4103 warning] [1/0/7008
sitproc.c:2653] [software internal system critical-info syslog] [npumgr pid 7102] async core transfer and proclet recovery is not set!
Sep 19 00:08:18 10.107.211.36 evlogd: [local-60sec18.852] [sitmain 4027 critical] [2/0/6993
crash_mini.c:602] [software internal system callhome-crash] Process Crash Info: time 2019-Sep-18+18:38:16(hex time 5d827998) card 02 cpu 00 pid 07146 procname npumgr crash_details Assertion failure at npu/npumgr/ares_npumgr_forwarding_handler.c:1829 Function: ares_npumgr_nexthop_get() Expression: (nh_id) >= 0 && (nh_id) < ares_npumgr_db_get_count(SN_NPUSHM_TABREC_NH, (ares_inst)->profile) Proclet: npumgr (f=103000,i=20) Process: card=2 cpu=0 arch=X pid=7146 cpu=~0% argv0=npumgr Crash time: 2019-Sep-18+18:38:16 UTC Recent errno: 11 Resource temporarily unavailable Build_number: 71001 Stack (20600@0x0xffce5000): [ffffe430/X] __kernel_vsyscall() sp=0xffce5e38 [0c7df834/X] sn_assert() sp=0xffce5e78 [002fcedb/X] ares_npumgr_nexthop_get() sp=0xffce5ec8 [002feb23/X] ares_npumgr_fwd_ddf2_tcam_entry_update() sp=0xffce6358 [00301896/X] ares_npumgr_lpm_add() sp=0xffce68a8 [003c4345
Sep-18+18:38:16(hex time 5d827998) card 02 cpu 00 pid 07146 procname npumgr crash_details Assertion failure at npu/npumgr/ares_npumgr_forwarding_handler.c:1829 Function: ares_npumgr_nexthop_get() Expression: (nh_id) >= 0 && (nh_id) < ares_npumgr_db_get_count(SN_NPUSHM_TABREC_NH, (ares_inst)->profile) Proclet: npumgr (f=103000,i=20) Process: card=2 cpu=0 arch=X pid=7146 cpu=~0% argv0=npumgr Crash time: 2019-Sep-18+18:38:16 UTC Recent errno: 11 Resource temporarily unavailable Build_number: 71001 Stack (20600@0x0xffce5000): [ffffe430/X] __kernel_vsyscall() sp=0xffce5e38 [0c7df834/X] sn_assert() sp=0xffce5e78 [002fcedb/X] ares_npumgr_nexthop_get() sp=0xffce5ec8 [002feb23/X] ares_npumgr_fwd_ddf2_tcam_entry_update() sp=0xffce6358 [00301896/X] ares_npumgr_lpm_add() sp=0xffce68a8 [003c4345
Se si controlla ulteriormente la configurazione da SSD, si osserverà inoltre che esiste già una route statica prima dell'inizio dell'attività pianificata (configurazione di interfaccia e route statica).
context SGi
ipv6 route a:b:c:d:1/128 next-hop x:y:z:w::1 interface C
#exit
Dalla configurazione, è possibile notare che era già presente una route statica per l'indirizzo IP a:b:c:d:1/128 tramite l'hop successivo dell'interfaccia C come hop x:y:z:w:1. Tuttavia, come parte dell'attività, è stato definito un ulteriore route statico con l'hop successivo come hop x:y:z:w:2.
Quindi, quando le VLAN sono aperte per il traffico, il sistema non può ottenere l'hop successivo x:y:z:w:1 come definito per primo. Inoltre, alcuni log indicavano che il routing ECMP (Equal-Cost Multi-Path) all'hop successivo non era riuscito perché non era raggiungibile. Di conseguenza, non è stato possibile inoltrare i pacchetti del traffico delle VLAN e questo può causare arresti anomali di npumgr.
Il passaggio a più schede è un sottoprodotto di troppi arresti anomali di npumgr sul sistema.
Sono presenti più route statiche alla stessa destinazione tramite la stessa interfaccia, ma un hop successivo diverso non consente a npumgr di inoltrare i pacchetti seguiti da arresti anomali di npumgr.
Pertanto, la route statica errata viene rimossa dalla configurazione. Le stesse configurazioni vengono quindi applicate correttamente in un'altra finestra di manutenzione senza alcun problema.
Feedback