Introdução
Este documento descreve um guia abrangente sobre como identificar e solucionar problemas de quedas de pacotes com eficiência nas plataformas Cisco NCS55XX.
Pré-requisitos
Requisitos
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento se aplica a todas as plataformas NCS 5500 que utilizam arquiteturas Jericho1 ou Jericho2 ASIC.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Quedas de pacotes
O descarte de pacote refere-se à situação em que os pacotes de dados que passam pela rede são intencionalmente ou não descartados pelo dispositivo, impedindo-o de alcançar o destino pretendido.
Local de Destino
Para depurar qualquer tipo de queda de pacote, você precisa executar estas etapas:
1. Descubra qual Roteador na topologia está descartando pacotes.
2. Procure por contador de pacote de entrada ou contador de queda incrementando na interface.
Exemplo show interface <>
Note: Os comandos foram executados em um NCS 5500 em um ambiente de laboratório controlado para fins de teste e validação.
RP/0/RP0/CPU0:NCS-5500#show interfaces TenGigE0/0/0/14
TenGigE0/0/0/14 is up, line protocol is up
Interface state transitions: 3
Hardware is TenGigE, address is fce4.f6ad.b038 (bia fce4.f6ad.b038)
loopback not set,
Last link flapped 2w2d
ARP type ARPA, ARP timeout 04:00:00
Last input 00:00:00, output 00:00:17
Last clearing of "show interface" counters never
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
49129 packets input, 4286647 bytes, 153 total input drops << drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 49129 multicast packets
0 runts, 0 giants, 0 throttles, 0 parity
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
47637 packets output, 6144913 bytes, 0 total output drops
Output 4 broadcast packets, 47633 multicast packets
845 output errors, 0 underruns, 0 applique, 0 resets <<<< errors
0 output buffer failures, 0 output buffers swapped out
3 carrier transitions
RP/0/RP0/CPU0:NCS-5500#
Tip: Para interfaces e subinterfaces de pacote, certifique-se de executar esse comando na interface de pacote, subinterfaces e interfaces físicas correspondentes.
3. Uma vez confirmado que um contador de queda ou erro está aumentando, a próxima etapa é identificar a NPU (Network Processing Unit, unidade de processamento de rede) associada à interface afetada.
Exemplo: show controllers npu voq-usage interface all instance all location <>
RP/0/RP0/CPU0:NCS-5500#show controllers npu voq-usage interface all instance all location 0/0/cpu0
-------------------------------------------------------------------
Node ID: 0/0/CPU0
Intf Intf NPU NPU PP Sys VOQ Flow VOQ Port
name handle # core Port Port base base port speed
(hex) type
----------------------------------------------------------------------
Hu0/0/0/5 8 0 0 1 1 1272 8360 local 100G
Hu0/1/0/2 2000088 0 1 17 857 1528 7464 remote 100G
Te0/0/0/14 1088 2 1 17 297 1728 6568 local 10G << NPU2, PP Port:17
4. Capture pacotes na NPU que hospeda a interface. Localize a porta PP na saída, garantindo que ela corresponda à porta PP identificada na etapa 1.
Exemplo: show controllers fia diagshell "diag last" location
RP/0/RP0/CPU0:NCS-5500#show controllers fia diagshell 2 "diag last" location 0/0/CPU0
Node ID: 0/0/CPU0
R/S/I: 0/0/2
Core 0:
Last packet information: is_valid=0 tm_port=253
pp_port=240 src_syst_port=253 port_header_type=tm packet_size=0
Packet start, offset in bytes:
00: 4e415000 00134e41 50000001 8100e602 876f00fd 0606c00e 00000000 000180c2
20: 00000efc e4f6adb0 3888cc02 0704fce4 f6adb487 04100554 656e4769 6745302f
40: 302f302f 31340602 00780a0a 4e43532d 35353038 2d410c10 20372e39 2e322c20
60: 4e43532d 35353030 08000e04 00100010 100c0501 0a130101 02000000 d8001018
Core 1:
Last packet information: is_valid=1 tm_port=17
pp_port=17 src_syst_port=297 port_header_type=eth packet_size=83 << pp_port: 17
Packet start, offset in bytes:
00: 0180c200 000e40a6 b79e2552 88cc0207 0440a6b7 9e255204 070340a6 b79e2552
20: 06020079 fe190080 c2098000 00000064 00000000 00000002 00000000 000000fe
40: 060080c2 0b8800fe 080080c2 0c006189 06000000 00000000 00000000 00000000
60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
RP/0/RP0/CPU0:NCS-5500#
Tip: Você pode decodificar os dados hexadecimais usando uma ferramenta de decodificador de pacote para analisar e interpretar completamente o tráfego de rede.
5. Verifique o status da NPU: identifique o número da NPU associado à interface de saída ou de entrada e execute este comando para examinar os contadores de caminho de dados
Exemplo: show controllers fia diagshell "diag counter g c" location

Note: Monitore cuidadosamente se algum contador realçado está aumentando.
6. Revise as estatísticas de cada estágio de processamento da NPU:
Exemplo: show controller npu stats counters-all instance loc
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats counters-all instance 2 location 0/0/CPU0
FIA Statistics Rack: 0, Slot: 1, Asic instance: 0
Per Block Statistics:
Ingress:
NBI RX:
RX_TOTAL_BYTE_COUNTER = 987134
RX_TOTAL_PKT_COUNTER = 7117
IRE:
CPU_PACKET_COUNTER = 0
NIF_PACKET_COUNTER = 7117
OAMP_PACKET_COUNTER = 16976
OLP_PACKET_COUNTER = 0
RCY_PACKET_COUNTER = 23081
IRE_FDT_INTRFACE_CNT = 0
IDR:
MMU_IDR_PACKET_COUNTER = 3037
IDR_OCB_PACKET_COUNTER = 0
IQM:
ENQUEUE_PKT_CNT = 52073
DEQUEUE_PKT_CNT = 52073
DELETED_PKT_CNT = 0
ENQ_DISCARDED_PACKET_COUNTER = 0
IPT:
EGQ_PKT_CNT = 35207
ENQ_PKT_CNT = 52073
FDT_PKT_CNT = 16976
CFG_EVENT_CNT = 49036
CFG_BYTE_CNT = 5313772
FDT:
IPT_DESC_CELL_COUNTER = 16976
IRE_DESC_CELL_COUNTER = 0
TRANSMITTED_DATA_CELLS_COUNTER = 16976
Egress:
FDR:
P1_CELL_IN_CNT = 17538
P2_CELL_IN_CNT = 0
P3_CELL_IN_CNT = 0
CELL_IN_CNT_TOTAL = 17538
FDA:
CELLS_IN_CNT_P1 = 17538
CELLS_IN_CNT_P2 = 0
CELLS_IN_CNT_P3 = 0
CELLS_IN_TDM_CNT = 0
CELLS_IN_MESHMC_CNT = 0
CELLS_IN_IPT_CNT = 35317
CELLS_OUT_CNT_P1 = 17538
CELLS_OUT_CNT_P2 = 0
CELLS_OUT_CNT_P3 = 0
CELLS_OUT_TDM_CNT = 0
CELLS_OUT_MESHMC_CNT = 0
CELLS_OUT_IPT_CNT = 35317
EGQ_DROP_CNT = 0
EGQ_MESHMC_DROP_CNT = 0
EGQ:
FQP_PACKET_COUNTER = 52635
PQP_UNICAST_PKT_CNT = 52635
PQP_DSCRD_UC_PKT_CNT = 0
PQP_UC_BYTES_CNT = 5750183
PQP_MC_PKT_CNT = 0
PQP_DSCRD_MC_PKT_CNT = 0
PQP_MC_BYTES_CNT = 0
EHP_UNICAST_PKT_CNT = 52635
EHP_MC_HIGH_PKT_CNT = 0
EHP_MC_LOW_PKT_CNT = 0
DELETED_PKT_CNT = 0
EHP_MC_HIGH_DSCRD_CNT = 0
EHP_MC_LOW_DSCRD_CNT = 0
ERPP_LAG_PRUNING_DSCRD_CNT = 0
ERPP_PMF_DISCARDS_CNT = 0
ERPP_VLAN_MBR_DSCRD_CNT = 0
EPNI:
EPE_BYTES_COUNTER = 5459532
EPE_PKT_COUNTER = 52635
EPE_DSCRD_PKT_CNT = 0
NBI TX:
TX_TOTAL_BYTE_COUNTER = 2315363
TX_TOTAL_PKT_COUNTER = 15053
RP/0/RP0/CPU0:NCS-5500#
7. Consulte as estatísticas de desvio para determinar se um pacote foi descartado ou redirecionado para a CPU.
Exemplo: show controllers npu stats traps-all instance loc
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats traps-all instance 2 location 0/0/CPU0
Trap Type NPU Trap TrapStats Policer Packet Packet
ID ID ID Accepted Dropped
============================================================================================================================
RxTrapMimDiscardMacsaDrop (IRB) 2 1 0x1 32045 0 0
RxTrapMimDiscardMacsaSnoop(dot1x) 2 3 0x3 32020 0 53 <<< Drop
RxTrapMimSaMove(CFM_DOWM_MEP_DMM) 2 6 0x6 32039 0 0
RP/0/RP0/CPU0:NCS-5500#
8. Para pacotes que não estão marcados como descartados nos contadores de interceptação (trapping), revise os contadores SPP para verificar se há descartes potenciais.
Exemplo:show spp node-counters loc
RP/0/RP0/CPU0:NCS-5500#show spp node-counters location 0/0/CPU0
socket/rx
ether raw pkts: 4098990
-------------------------------
socket/tx
ce pkts: 923918
-------------------------------
fretta/classify
forwarded NPU packet to NetIO: 3536836
forwarded CPU packet to NetIO: 102051
forwarded NPU packet to SPIO: 360025
dropped in classify node: 1638 <<<
lnx l2 drop in classify node: 1637
port-mapper drop: 1
-------------------------------
client/inject
pkts injected into spp: 923728
NetIO->NPU injected into spp: 461604
NetIO->CPU injected into spp: 102132
LACP: 128529
LLDP: 231463
-------------------------------
cfm_off_tx_node
Hostname updated: 1
-------------------------------
pkt_classrx
Other punt traffic to XR: 3998476
LPTS: ICMPv4 to XR: 119
LPTS: ARP request: 127
Total Pkts to XR: 3998912
Total Pkts punted to RP Lnx: 190
LPTS: ARP reply: 190
Total Pkts to both dests: 190
-------------------------------
client/punt
punted to client: 3998861
no client found - send to defa: 51
-------------------------------
RP/0/RP0/CPU0:NCS-5500#
9. Se nenhum desvio for observado aumentando, continue examinando as estatísticas da Virtual Output Queue (VOQ).
Exemplo:
show controllers npu voq-usage interface instance loc
show controllers npu stats voq base instance location
RP/0/RP0/CPU0:NCS-5500#show controllers npu voq-usage interface tenGigE 0/0/0/14 instance 2 location 0/0/CPU0
-----------------------------------------------------------------
Node ID: 0/0/CPU0
Intf Intf NPU NPU PP Sys VOQ Flow VOQ Port
name handle # core Port Port base base port speed
(hex) type
----------------------------------------------------------------------
Te0/0/0/14 1088 2 1 17 297 1728 6568 local 10G
RP/0/RP0/CPU0:NCS-5500#
RP/0/RP0/CPU0:NCS-5500#show controllers npu stats voq base 1728 instance 2 loc 0/0/cpu0
Fri Jun 13 01:45:30.348 UTC
Location = 0/0/CPU0
Asic Instance = 2
VOQ Base = 1728
ReceivedPkts ReceivedBytes DroppedPkts DroppedBytes
-------------------------------------------------------------------
Core-0:
TC_0 = 0 0 0 0
TC_1 = 0 0 0 0
TC_2 = 0 0 0 0
TC_3 = 0 0 0 0
TC_4 = 0 0 0 0
TC_5 = 0 0 0 0
TC_6 = 0 0 0 0
TC_7 = 47929 7570783 0 0
RP/0/RP0/CPU0:NCS-5500#
Informações necessárias para abrir um caso no TAC
Tip: Execute os comandos mencionados várias vezes em intervalos regulares para monitorar e identificar ativamente se algum contador, como erros, quedas ou saturações, está aumentando.
Reúna todos os comandos mencionados neste documento, junto com os comandos adicionais para uma solução de problemas abrangente:
show descarta todos os locais em andamento
Caution: For certain versions of Jericho1, the command used is show drops-all ongoing location
show tech -support
show capture packets ingress location
Informações Relacionadas
NCS 5500: Vida útil de um pacote (Trânsito, Punt/Injeção, Caminho do ping)
Suporte técnico e downloads da Cisco