Introducción
Este documento describe las causas y soluciones de los descartes de entrada para la tarjeta de línea Cisco Nexus serie 7000 F248 (F2/F2e). Un descarte de entrada indica el número de paquetes descartados en la cola de entrada debido a la congestión. Este número incluye caídas causadas por la caída de cola y la detección temprana aleatoria ponderada (WRED).
Antecedentes
La tarjeta de línea F2 pone en cola los paquetes de entrada en lugar de de salida e implementa las colas de salida virtuales (VOQ) en todas las interfaces de entrada, de modo que un puerto de salida congestionado no afecte al tráfico dirigido a otros puertos de salida. El amplio uso de VOQ en el sistema ayuda a garantizar el máximo rendimiento por egreso. La congestión en un puerto de salida no afecta al tráfico destinado a otras interfaces de salida, lo que evita el bloqueo de cabecera de línea (HOL) que, de lo contrario, provoca la propagación de la congestión.
Los VOQ también utilizan el concepto de tráfico acreditado y no acreditado. El tráfico unidifusión se clasifica como tráfico acreditado; el tráfico de difusión, multidifusión y unidifusión desconocida se clasifica como tráfico no acreditado. El tráfico no acreditado no utiliza VOQ y el tráfico se coloca en cola en la salida en lugar de en la entrada. Si un puerto de ingreso no tiene crédito para enviar tráfico a un puerto de egreso, el puerto de ingreso se almacena en el búfer hasta que obtiene crédito. Debido a que las memorias intermedias del puerto de ingreso no son profundas, pueden producirse caídas de entrada.
Causas comunes
Estas son causas comunes de descartes de entrada:
- La causa más común de descartes de entrada se produce cuando se tiene un analizador de puerto conmutado (SPAN) con el puerto de destino en una tarjeta de línea F2 y con tráfico SPAN que supera la velocidad de línea. Finalmente, el puerto de ingreso almacena en búfer los paquetes, lo que lleva a descartes de entrada.
Nota: {Los módulos de E/S de última generación como F2E, F3 y M3 no son susceptibles a los escenarios de sobresuscripción de puerto de destino SPAN que causan indescartes y HOLB en los puertos de ingreso. Esto también se observa en Pautas y Limitaciones para SPAN}
- Un diseño inapropiado (como 10G de ancho de banda de entrada y 1G de ancho de banda de salida) desencadena la limitación de hardware F2 (bloqueo HOL).
- Si el tráfico de varios puertos sale de la misma interfaz (interfaces de 1G a 1G o de 10G a 10G), si supera la velocidad de línea, puede dar lugar a descartes de entrada en los puertos de ingreso.
- Una discordancia de VLAN puede causar descartes de entrada. Utilice el comando show interface trunk para verificar que ambos switches reenvíen la misma VLAN.
Soluciones de comandos
En esta sección encontrará información que puede utilizar para solucionar problemas de configuración.
Notas: Use la Command Lookup Tool (clientes registrados solamente) para obtener más información sobre los comandos usados en esta sección.
La herramienta de interpretación de información de salida (disponible para clientes registrados únicamente) admite ciertos comandos show. Utilice la herramienta para ver una análisis de información de salida del comando show.
En estos ejemplos, Ethernet 2/1 (Eth2/1) tiene un host conectado que recibe dos flujos de 1 Gbps. Eth2/1 se ejecuta a 1G. Los dos flujos ingresan en Eth2/5 y Eth2/9.
show interface <ingress interface>
Utilice este comando para verificar la velocidad de las interfaces. Si la interfaz de ingreso se ejecuta a 10 Gbps y la interfaz de egreso se ejecuta a 1 Gbps, es probable que las caídas sean causadas por el bloqueo HOL.
N7K1# show int eth2/5
Ethernet2/5 is up
admin state is up, Dedicated Interface
------
full-duplex, 1000 Mb/s
------
30 seconds input rate 588237960 bits/sec, 73524 packets/sec
30 seconds output rate 216 bits/sec, 0 packets/sec
Load-Interval #2: 5 minute (300 seconds)
input rate 588.56 Mbps, 73.52 Kpps; output rate 156.11 Mbps, 19.45 Kpps
RX
221333142 unicast packets 0 multicast packets 0 broadcast packets
221333128 input packets 221333169400 bytes
0 jumbo packets 0 storm suppression packets
0 runts 0 giants 0 CRC 0 no buffer
0 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 11590977 input discard <-------
0 Rx pause
show hardware internal statistics module <x> pktflow drop
Ejecute este comando varias veces para determinar si el valor de congestion_drop_bytes aumenta; x es el número de módulo del puerto de ingreso.
attach module <x> y show hardware internal qengine
Ejecute estos comandos varias veces para identificar el número del índice de cola virtual (VQI):
attach module <x>
module-x# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0
or
module-x# show hardware internal qengine inst 2 voq-status no vacío
En el VQI, verá contadores que no son nulos en movimiento constantemente. En los puertos congestionados, los contadores suelen permanecer altos la mayor parte del tiempo.
N7K1# attach module 2
Attaching to module 2 ...
To exit type 'exit', to abort type '$.'
module-2# show hardware internal qengine inst 2 voq-status non-empty
VQI:CCOS BYTE_CNT PKT_CNT TAIL HEAD THR
-------- -------- ------- ---- ---- ---
0036:3 6154 3077 6804 14168 1 <------- VQI is 36 here
module-2# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"
VQI:CCOS CLP0 CLP1 CLP2 CLP3 CLP4 CLP5 CLP6 CLP7 CLP8 CLP9 CLPA CLPB
-------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
0036:3 0 0 0 0 0 0 0 1 0 0 0 0
VQI === 36
Una vez que tenga el número VQI, utilice el comando show hardware internal qengine vqi-map para buscar la tabla de mapa VQI. Revise el número de ranura y el número de interfaz de datos de baja velocidad (LDI) para determinar la interfaz de salida. (La ranura también se conoce como módulo y el LDI también se conoce como puerto.) El módulo se basa en cero y se puede utilizar una función de mapeo para determinar el LDI.
module-2# show hardware internal qengine vqi-map
VQI SUP SLOT LDI EQI FPOE NUM XBAR IN ASIC ASIC SV FEA_
NUM VQI NUM NUM NUM BASE DLS MASK ORD TYPE IDX ID TURE
---- --- ---- --- --- ---- --- ----- --- ---- ---- -- ----
--snip
36 no 1 0 0 8 1 0x155 0 CLP 0 0 0x81
--snip
Asignación de LDI a puerto físico:
LDI |
Puerto |
0 |
2 |
1 |
1 |
2 |
3 |
3 |
4 |
4 |
6 |
5 |
5 |
6 |
7 |
7 |
8 |
8 |
10 |
9 |
9 |
10 |
11 |
11 |
12 |
12 |
14 |
13 |
13 |
14 |
15 |
15 |
16 |
16 |
18 |
17 |
17 |
18 |
19 |
19 |
20 |
20 |
22 |
21 |
21 |
22 |
23 |
23 |
24 |
24 |
26 |
25 |
25 |
26 |
27 |
27 |
28 |
28 |
30 |
29 |
29 |
30 |
31 |
31 |
32 |
32 |
34 |
33 |
33 |
34 |
35 |
35 |
36 |
36 |
38 |
37 |
37 |
38 |
39 |
39 |
40 |
40 |
42 |
41 |
41 |
42 |
43 |
43 |
44 |
44 |
46 |
45 |
45 |
46 |
47 |
47 |
48 |
Puerto físico = Eth 2/2
Validar VQI y LDI a través de show system internal ethpm info interface Eth2/2 | incluir VQI
El puerto congestionado de la descripción de la prueba era 2/1 pero el VQI enumerado es e2/2. La razón de la discrepenacy es que las memorias intermedias de salida son compartidas por un grupo de puertos que es un grupo de 4 puertos para un módulo F2/F2e. Los puertos 1-4, 5-8 y así sucesivamente forman parte de cada grupo de puertos. Si cualquier puerto único en el grupo de puertos se congestiona en la dirección de salida, puede causar contrapresión en el puerto de ingreso, lo que resulta en descartes de entrada.
Comandos adicionales
Si continúa observando descartes de entrada, ejecute estos comandos varias veces:
- show interface | en Mbps|Ethernet
- show hardware internal statistics pktflow drop
- show hardware internal statistics pktflow drop congestion
- show hard internal statistics pktflow all
- show hardware internal error
- show hardware internal statistics device qengine
- show hard internal mac port 38 qos config
- show hard internal statis device mac all port 38
- attach module 1
- show hardware internal qengine voq-status
- show hardware internal qengine vqi-map
Información para F2e
En un F2e, hay un contador de errores interno de hardware que apunta a la VQI del primer puerto en el grupo de puertos/asic con la interfaz de salida congestionada.
show hardware internal errors mod <x>
Utilice este comando para verificar el módulo en cuanto a la cantidad de veces que se detecta congestión.
N7K2# show hardware internal errors mod 1
|------------------------------------------------------------------------|
| Device:Clipper XBAR Role:QUE Mod: 1 |
| Last cleared @ Wed Jul 10 14:51:56 2013
| Device Statistics Category :: CONGESTION
|------------------------------------------------------------------------|
Instance:1
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000001296 5-8 -
Instance:2
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000000590 9-12 -
Instance:3
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000001213 13-16 -
show hardware internal qengine vqi-map
Utilice este comando para asignar la VQI a la interfaz física. Este ejemplo utiliza VQI 48 del ejemplo anterior. Revise el número de slot y el número LDI para determinar la interfaz de salida. El módulo se basa en cero y se puede utilizar una función de mapeo para determinar el LDI.
module-1# show hardware internal qengine vqi-map
VQI SUP SLOT LDI EQI FPOE NUM XBAR IN ASIC ASIC SV FEA_
NUM VQI NUM NUM NUM BASE DLS MASK ORD TYPE IDX ID TURE
---- --- ---- --- --- ---- --- ----- --- ---- ---- -- ----
--snip
48 no 0 12 0 3 1 0x155 0 CLP 3 0 0x1
--snip
Module Number = SLOT NUM + 1 (zero-based)
Module Number = 0 + 1 = 1
Physical Port = Eth 1/14 (check the LDI to physical port mapping table)
Validate VQI and LDI via "show system internal ethpm info interface Eth1/14 | include VQI"
Aunque VQI 48 se mapea a Eth1/13, observe que se informa de congestión en el primer puerto en el grupo de puertos/asic. Debido a que hay cuatro puertos en un grupo de puertos/asic, utilice el siguiente comando para mostrar la interfaz real dentro de ese grupo de puertos/asic que ve la congestión.
show hardware queuing drops egress module <x> (aplicable sólo para F2e)
Utilice este comando para mostrar la interfaz de egreso real que ve congestión en el grupo de puertos/ASIC que es parte de VQI 48 del ejemplo anterior.
N7K2# show hardware queuing drops egress module 1
VQ Drops
--------------------------------------------------------------------------------
| Output | VQ Drops | VQ Congestion | Src | Src | Input |
| Interface | | | Mod | Inst | Interface |
--------------------------------------------------------------------------------
| Eth1/14 | 0000000000000000 | 0000000000001296 | 1 | 1 | Eth1/5-8 |
| Eth1/14 | 0000000000000000 | 0000000000000590 | 1 | 2 | Eth1/9-12 |
| Eth1/14 | 0000000000000000 | 0000000000001213 | 1 | 3 | Eth1/13-16 |
| Eth1/14 | 0000000000000000 | 0000000000000536 | 2 | 1 | Eth2/5-8 |
| Eth1/14 | 0000000000000000 | 0000000000000009 | 2 | 2 | Eth2/9-12 |
| Eth1/14 | 0000000000000000 | 0000000000000262 | 2 | 3 | Eth2/13-16 |
--------------------------------------------------------------------------------