Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Informações de Apoio

Usar a ferramenta Netdr

Opções

Troubleshoot

Introduction

Este documento descreve uma ferramenta disponível, Netdr, nos switches Cisco Catalyst 6500 Series que executam os Supervisor Engines 720 ou 32 que permite capturar pacotes no caminho interno da banda para a CPU do Route Processor (RP) ou CPU do Switch Processor (SP).

Prerequisites

Requirements

Não existem requisitos específicos para este documento.

Componentes Utilizados

As informações neste documento são baseadas nos switches Cisco Catalyst 6500 Series que executam o Supervisor Engine 720.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Informações de Apoio

A CPU RP é normalmente usada para lidar com o tráfego de controle de Camada 3 (L3), bem como o tráfego de dados de L3 que não pode ser comutado por hardware. Alguns exemplos de tráfego de controle de L3 são pacotes OSPF (Open Shortest Path First), EIGRP (Enhanced Interior Gateway Routing Protocol), BGP (Border Gateway Protocol) e PIM (Protocol Independent Multicast). Alguns exemplos de tráfego de dados L3 que não podem ser comutados por hardware são pacotes com opções IP definidas, pacotes com valores de Time To Live (TTL) de 1 e pacotes que exigem fragmentação.

A CPU da controladora de armazenamento é normalmente usada para tratar o tráfego de controle da Camada 2 (L2). Alguns exemplos disso são os pacotes Spanning Tree Protocol (STP), Cisco Discovery Protocol (CDP) e VLAN Trunking Protocol (VTP).

A ferramenta Netdr é usada para capturar os pacotes de transmissão (Tx) e recepção (Rx) no caminho interno de switching do software da CPU na banda interna. Esta ferramenta não pode ser usada para capturar o tráfego que é comutado por hardware.

O Netdr é útil em tentativas de solucionar problemas de cenários de uso de CPU alta. Para verificar o quanto a CPU RP está ocupada, execute o comando show process cpu ou show process cpu history. Para verificar o quanto a CPU do SP está ocupada, emita o comando remote command switch show process cpu ou remote command switch show process cpu history.

O Netdr é útil apenas para solucionar problemas de utilização elevada e orientada por interrupções. A utilização da CPU orientada por interrupções é o resultado do processamento de pacotes recebidos enviados à CPU.

Cat6500#show process cpu

CPU utilization for five seconds: 90%/81%; one minute: 89%; five minutes: 80%

No exemplo anterior:

- 90% é a utilização total da CPU.

- 81% é a utilização da CPU devido a interrupções, que constitui o tráfego processado pela CPU.

- 9% (90 - 81) é a utilização da CPU devido ao Cisco IOS? processos de software.

Usar a ferramenta Netdr

Esta seção descreve como usar a ferramenta Netdr.

Note: O Netdr é seguro para uso em condições de uso de CPU alta em versões mais recentes do software Cisco IOS, como a versão 12.2(33)SXH e posterior. Em algumas versões antigas do software, o Netdr pode utilizar mais CPU e pode não ser seguro executar em um switch que já detecta alta utilização da CPU. Se o switch executar uma versão de software mais antiga, é recomendável usar esse recurso sob a supervisão do Cisco Technical Assistance Center (TAC).

Para capturar pacotes no caminho da CPU de RP na banda, use esta sintaxe:

Cat6500#debug netdr capture ?

acl                     (11) Capture packets matching an acl

and-filter               (3) Apply filters in an and function: all must match

continuous               (1) Capture packets continuously: cyclic overwrite

destination-ip-address  (10) Capture all packets matching ip dst address

dstindex                 (7) Capture all packets matching destination index

ethertype                (8) Capture all packets matching ethertype

interface                (4) Capture packets related to this interface

or-filter                (3) Apply filters in an or function: only one must match

rx                       (2) Capture incoming packets only

source-ip-address        (9) Capture all packets matching ip src address

srcindex                 (6) Capture all packets matching source index

tx                       (2) Capture outgoing packets only

vlan                     (5) Capture packets matching this vlan number

Note: Várias opções estão disponíveis e os números entre parênteses à direita de cada opção indicam a ordem na qual as opções devem ser especificadas.

Para capturar pacotes no caminho da CPU na banda do SP, você deve executar todos os comandos do console do SP.

Cat6500#remote login switch

Trying Switch ...

Entering CONSOLE for Switch

Type "^C^C^C" to end this session

Cat6500-sp#debug netdr capture ?

Note: Insira exit para retornar ao prompt de comando regular da CPU RP.

Quando os pacotes são capturados, eles são exibidos com o comando show netdr capture.

Opções

Aqui estão algumas das opções disponíveis para o Netdr:

- Quando você usa a opção contínua, o switch tem pacotes no caminho da CPU em banda que preenchem continuamente todo o buffer de captura (4096 pacotes) e começam a sobrescrever o buffer de forma FIFO (first-in, first-out, primeiro a entrar, primeiro a sair).

- As opções tx e rx capturam pacotes que vêm da CPU e vão para a CPU, respectivamente.

- A opção interface é usada para capturar pacotes para ou da interface especificada. A interface é uma interface virtual do switch (SVI) ou uma interface L3 no switch.

- A opção vlan é usada para capturar todos os pacotes na VLAN especificada. A VLAN especificada pode ser uma das VLANs internas associadas a uma interface L3. O comando show vlan internal usage é usado para ver a VLAN interna para o mapeamento de interface L3.

- LTL (local target logic) é uma representação de software interna de uma interface. As opções src_indx (índice de origem) e dst_indx (índice de destino) são usadas para capturar todos os pacotes que correspondem aos índices LTL de origem e LTL de destino, respectivamente. Observe que a opção interface permite somente a captura de pacotes de ou para uma interface L3 (SVI ou física). O uso das opções src_indx ou dst_indx permite a captura de pacotes Tx ou Rx em uma interface L2. As opções src_indx e dst_indx funcionam com índices de interface L2 ou L3.

Troubleshoot

Note: O Netdr é seguro para uso em condições de uso de CPU alta em versões mais recentes do software Cisco IOS, como a versão 12.2(33)SXH e posterior. Em algumas versões antigas do software, o Netdr pode utilizar mais CPU e pode não ser seguro executar em um switch que já detecta alta utilização da CPU. Se o switch executar uma versão de software mais antiga, é recomendável usar esse recurso sob a supervisão do Cisco TAC.

Conclua estes passos para solucionar problemas com o Netdr:

1. Inicie uma captura Netdr para o tráfego que vem na CPU RP:
Cat6500#debug netdr capture rx

2. Exibir os pacotes capturados:
Cat6500#show netdr capture

A total of 4096 packets have been captured

The capture buffer wrapped 0 times

Total capture capacity: 4096 packets

------- dump of incoming inband packet -------

interface NULL, routine mistral_process_rx_packet_inlin, timestamp 06:35:39.498

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

bpdu 0, index_dir 1, flood 0, dont_lrn 1, dest_indx 0x387(903)

05000018 03F16000 01020000 40000000 00117F00 00157F00 00100000 03870000

mistral hdr: req_token 0x0(0), src_index 0x102(258), rx_offset 0x76(118)

requeue 0, obl_pkt 0, vlan 0x3F1(1009)

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

protocol ip: version 0x04, hlen 0x05, tos 0x00, totlen 46, identifier 8207

df 0, mf 0, fo 0, ttl 32, >src 127.0.0.16, dst 127.0.0.21

udp src 68, dst 67 len 26 checksum 0xB8BC

3. Revise os pacotes para identificar os principais talkers e tendências. Você pode usar a opção "| include" para pesquisar com base em campos como o endereço MAC de origem (srcmac), o endereço MAC de destino (destmac), os endereços IP de origem e destino (src e dst) e o índice de origem (src_indx).

Cat6500#show netdr capture | include srcmac

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 0800

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

destmac 00.1A.A2.2D.B3.A4, srcmac 00.00.00.00.AA.AA, protocol 86DD

Cat6500#show netdr capture | inc src_indx

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x40(64)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

dbus info: src_vlan 0x3F1(1009), src_indx 0x102(258), len 0x54(84)

4. Decodificar o src_indx e o dest_indx para descobrir as interfaces origem e destino do pacote.

Cat6500#remote command switch test mcast ltl-info index 102

index 0x102 contain ports 5/3

! This is the physical interface sourcing the packet going to the CPU.

Cat6500#remote command switch test mcast ltl-info index 387

index 0x387 contain ports 5/R

!5/R refers to RP CPU on the supervisor engine in slot 5