Contents

Introduction

Informações de Apoio

Verificar atribuições de VQI

Introduction

Este documento descreve como verificar Índices de Filas Virtuais (VQIs) e atribuí-los corretamente no Cisco Express Forwarding (CEF) em um Roteador de Serviços Agregados 9000 (ASR9K).

Informações de Apoio

Para que os pacotes sejam encaminhados de uma interface para outra em um ASR9K, os pacotes devem atravessar a estrutura. Não há switching local em um ASR9K. Porém, como um pacote vai de uma interface a outra? Isso é feito com o uso de VQIs que são atribuídos a cada interface. Dessa forma, a estrutura sabe qual placa de linha (LC) e processador de rede (NP) rotear o pacote.

Às vezes, no entanto, como no caso de CSCvc83681 , um VQI incorreto pode ser atribuído e o tráfego pode ser bloqueado dentro do roteador.

Verificar atribuições de VQI

Consulte esta seção para verificar as atribuições de VQI.

Primeiro, identifique as interfaces de entrada e saída do fluxo, do endereço IP (Internet Protocol) de origem e de destino, com o comando show cef <prefix> detail.

Isso ajuda a identificar quais LCs precisam ser examinadas para as atribuições de VQI.

Aqui está o endereço de origem:

RP/0/RSP0/CPU0:ASR9006-H#show cef 123.29.62.12 detail

Tue May  1 10:54:50.356 EDT

123.29.62.12/32, version 325561, internal 0x1000001 0x0 (ptr 0x76a07a40) [1], 0x0 (0x73ffbf50), 0xa28 (0x75e3133c)

Updated May  1 10:26:51.592

remote adjacency to TenGigE0/1/0/5

Prefix Len 32, traffic index 0, precedence n/a, priority 1

gateway array (0x74bff484) reference count 3, flags 0x68, source lsd (5), 1 backups

[2 type 5 flags 0x8401 (0x7216f3d0) ext 0x0 (0x0)]

LW-LDI[type=5, refc=3, ptr=0x73ffbf50, sh-ldi=0x7216f3d0]

gateway array update type-time 1 May  1 10:26:51.592

LDI Update time May  1 10:26:51.592

LW-LDI-TS May  1 10:26:51.592

via 10.94.1.182/32, TenGigE0/1/0/5, 6 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0x7181cfc4 0x0]

next hop 10.94.1.182/32

remote adjacency

local label 24088      labels imposed {86}

via 10.94.1.150/32, TenGigE0/1/0/7, 6 dependencies, weight 0, class 0 [flags 0x0]

path-idx 1 NHID 0x0 [0x7181d018 0x0]

next hop 10.94.1.150/32

remote adjacency

local label 24088      labels imposed {86}

Load distribution: 0 1 (refcount 2)

Hash  OK  Interface                 Address

0     Y   TenGigE0/1/0/5            remote

1     Y   TenGigE0/1/0/7            remote

Aqui está o endereço destino:

RP/0/RSP0/CPU0:ASR9006-H#show cef 123.29.62.1 detail

Tue May  1 10:53:14.531 EDT

123.29.62.1/32, version 334286, internal 0x1000001 0x0 (ptr 0x74bf1a04) [1], 0x0 (0x73ffbeb0), 0xa20 (0x75e310d4)

Updated May  1 10:53:12.459

remote adjacency to TenGigE0/0/0/2

Prefix Len 32, traffic index 0, precedence n/a, priority 1

gateway array (0x74c025ec) reference count 27, flags 0x68, source lsd (5), 1 backups

[19 type 4 flags 0x8401 (0x7216f390) ext 0x0 (0x0)]

LW-LDI[type=1, refc=1, ptr=0x73ffbeb0, sh-ldi=0x7216f390]

gateway array update type-time 1 Apr 30 17:03:05.246

LDI Update time Apr 30 17:03:05.246

LW-LDI-TS Apr 30 17:03:05.247

via 10.94.0.10/32, TenGigE0/0/0/2, 4 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0x7181ce20 0x7181d06c]

next hop 10.94.0.10/32

remote adjacency

local label 24012      labels imposed {ImplNull}

via 10.94.2.9/32, TenGigE0/0/0/3, 4 dependencies, weight 0, class 0 [flags 0x0]

path-idx 1 NHID 0x0 [0x7181ce74 0x7181d0c0]

next hop 10.94.2.9/32

remote adjacency

local label 24012      labels imposed {ImplNull}

Load distribution: 0 1 (refcount 19)

Hash  OK  Interface                 Address

0     Y   TenGigE0/0/0/2            remote

1     Y   TenGigE0/0/0/3            remote

A partir dessas saídas, você verá que LC 1 é o LC de entrada e LC 0 é o LC de saída, ambos têm duas portas para fazer o balanceamento de carga do tráfego.

Em seguida, você precisa identificar quantos NPs estão no LC de entrada e saída com o comando show controller np ports all loc <LC>.

O LC de entrada tem 8 NPs:

RP/0/RSP0/CPU0:ASR9006-H#show controller np ports all loc 0/1/CPU0

Tue May  1 10:56:57.996 EDT

Node: 0/1/CPU0:

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

NP Bridge Fia                       Ports

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

0  --     0   TenGigE0/1/0/0 - TenGigE0/1/0/2

1  --     0   TenGigE0/1/0/3 - TenGigE0/1/0/5

2  --     1   TenGigE0/1/0/6 - TenGigE0/1/0/8

3  --     1   TenGigE0/1/0/9 - TenGigE0/1/0/11

4  --     2   TenGigE0/1/0/12 - TenGigE0/1/0/14

5  --     2   TenGigE0/1/0/15 - TenGigE0/1/0/17

6  --     3   TenGigE0/1/0/18 - TenGigE0/1/0/20

7  --     3   TenGigE0/1/0/21 - TenGigE0/1/0/23

O LC de saída tem 2 NPs:

RP/0/RSP0/CPU0:ASR9006-H#show controller np ports all loc 0/0/cPU0

Tue May  1 10:55:27.661 EDT

Node: 0/0/CPU0:

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

NP Bridge Fia                       Ports

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

0  --     0   TenGigE0/0/0/0 - TenGigE0/0/0/3

1  --     1   TenGigE0/0/1/0 - TenGigE0/0/1/3

Em seguida, verifique o LC de ingresso com o comando show cef <destination prefix> hardware ingress detail loc <ingress lc> | O comando I vqi e o LC de saída com o comando show cef <dst prefix> hardware egress detail loc <egress lc> I vqi.

Essas informações nos fornecem informações sobre como cada NP é programado para acessar as interfaces de saída. Nesse caso, como há oito NPs no LC de ingresso e dois enlaces ECMP (Equal Cost Multi-Path) no LC de saída, há 16 entradas. As primeiras oito entradas são para o primeiro link ECMP e as próximas oito entradas são para o segundo link ECMP. Cada conjunto de oito deve coincidir, e isso significa que cada NP está programado para fazer o mesmo. Cada conjunto deve ser diferente, embora haja duas interfaces separadas. Se eles forem iguais, você pode estar tendo um problema de má programação VQI CEF.

RP/0/RSP0/CPU0:ASR9006-H#show cef 123.29.62.1 hardware ingress loc 0/1/CPU0 | i vqi

Tue May  1 10:56:27.064 EDT

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x58

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

sfp/vqi         : 0x59

Verifique o LC de saída para garantir que ele esteja programado corretamente. Nesse caso, há dois NPs e dois links ECMP, portanto, há dois conjuntos de dois VQIs que precisam ser programados.

RP/0/RSP0/CPU0:ASR9006-H#show cef 123.29.62.1 hardware egress loc 0/0/CPU0 | i vqi

Tue May  1 10:57:29.221 EDT

out_lbl_invalid: 0               match: 0          vqi/lag-id: 0x0

out_lbl_invalid: 0               match: 0          vqi/lag-id: 0x0

sfp/vqi         : 0x58

sfp/vqi         : 0x58

out_lbl_invalid: 0               match: 0          vqi/lag-id: 0x0

out_lbl_invalid: 0               match: 0          vqi/lag-id: 0x0

sfp/vqi         : 0x59

sfp/vqi         : 0x59

A última coisa a verificar é a atribuição de VQI nas interfaces.

Aqui, você pode verificar a variável switch_fabric_port e converter de decimal para hexadecimal. 88 sendo 58 e 89 sendo 59, esses valores correspondem às atribuições de VQI desses comandos, o que significa que o CEF está programado corretamente para o transporte de VQI no ASR9K.

RP/0/RSP0/CPU0:ASR9006-H#show controller pm interface ten 0/0/0/2

Tue May  1 10:58:52.024 EDT

Ifname(1): TenGigE0_0_0_2, ifh: 0x4000140 :

iftype             0x1e

egress_uidb_index  0x7, 0x7

ingress_uidb_index 0x7, 0x7

port_num           0x2

subslot_num        0x0

ifsubinst          0x0

ifsubinst port     0x2

phy_port_num       0x2

channel_id         0x0

channel_map        0x0

lag_id             0x0

virtual_port_id    0x0

switch_fabric_port 88

in_tm_qid_fid0     0x20002

in_tm_qid_fid1     0xffffffff

in_qos_drop_base   0x690001

out_tm_qid_fid0    0x20022

out_tm_qid_fid1    0xffffffff

np_port            0x6

out_qos_drop_base  0x6900a1

bandwidth          10000000 kbps

ing_stats_ptrs     0x53016a, 0x0

egr_stats_ptrs     0x53017b, 0x0

l2_transport       0x0

ac_count           0x0

parent_ifh         0x0

parent_bundle_ifh  0x0

L2 protocols bmap  0x1000000

Cluster interface  0

RP/0/RSP0/CPU0:ASR9006-H#show controller pm interface ten 0/0/0/3

Tue May  1 10:59:08.886 EDT

Ifname(1): TenGigE0_0_0_3, ifh: 0x4000180 :

iftype             0x1e

egress_uidb_index  0x8, 0x8

ingress_uidb_index 0x8, 0x8

port_num           0x3

subslot_num        0x0

ifsubinst          0x0

ifsubinst port     0x3

phy_port_num       0x3

channel_id         0x0

channel_map        0x0

lag_id             0x0

virtual_port_id    0x0

switch_fabric_port 89

in_tm_qid_fid0     0x30002

in_tm_qid_fid1     0xffffffff

in_qos_drop_base   0x6e0001

out_tm_qid_fid0    0x30022

out_tm_qid_fid1    0xffffffff

np_port            0x7

out_qos_drop_base  0x6e00a1

bandwidth          10000000 kbps

ing_stats_ptrs     0x530183, 0x0

egr_stats_ptrs     0x530194, 0x0

l2_transport       0x0

ac_count           0x0

parent_ifh         0x0

parent_bundle_ifh  0x0

L2 protocols bmap  0x1000000

Cluster interface  0