Contenido

Introducción

Comportamiento de CEF en la plataforma Cisco IOS XE

Comprobar adyacencia CEF

Fenómeno común observado

Conclusión

Introducción

Este documento describe la función Cisco Express Forwarding (CEF) en los dispositivos basados en Cisco IOS® XE. A diferencia de otros routers Cisco, los routers basados en Cisco IOS XE son de naturaleza modular no sólo en términos de hardware, sino también de software. Debido a esta naturaleza, el comportamiento de la mayoría de las características y protocolos también es un poco diferente. También verá cómo se mantienen las tablas CEF en los dispositivos basados en Cisco IOS XE y cómo se administran las tablas de protocolo de gateway fronterizo grande (BGP) en términos de actualizaciones CEF en las plataformas Cisco IOS XE.

Comportamiento de CEF en la plataforma Cisco IOS XE

Actualización de tabla CEF dentro de la plataforma XE

En los dispositivos Cisco IOS XE como ASR1000, el plano de control está separado del plano de reenvío. Siempre que sea necesario pasar cualquier actualización del plano de control al plano de datos, debe pasar por el flujo de datos que se muestra en el diagrama de flujo. Por ejemplo, en el caso de CEF siempre que se aprende cualquier prefijo en el plano de control, esta actualización pasa del plano de control (IOSd) al administrador de reenvío del plano de control (FMAN-RP). El administrador de reenvío del plano de control utiliza utilidades del núcleo como lsmpi, enlaces Hyper-transport (HT), etc. para pasar la actualización al administrador de reenvío de plano de reenvío (ESP) (FMAN-FP). El administrador de reenvío envía la actualización al procesador de flujo cuántico (QFP) que programa el microcódigo QFP para finalmente programar el subsistema QFP que realiza el reenvío real de paquetes en los dispositivos Cisco Aggregation Services Router (ASR).

Hay varios comandos que puede utilizar para verificar la actualización de CEF en cada uno de estos módulos de software. Este es el proceso paso a paso para ello.

Para verificar CEF en el plano de control:

Router#show ip cef

Prefix                     Next Hop             Interface

0.0.0.0/0                  no route

0.0.0.0/8                  drop

0.0.0.0/32                 receive

1.1.1.1/32                 10.10.10.1           GigabitEthernet0/0/0

2.2.2.2/32                 receive              Loopback1

10.10.10.0/24              attached             GigabitEthernet0/0/0

10.10.10.0/32              receive              GigabitEthernet0/0/0

Router#show platform software ip rp active cef summary

Forwarding Table Summary

Name             VRF id  Table id    Protocol         Prefixes    State

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

Default          0       0           IPv4             20          OM handle: 0x404a4df8

Router#show platform software ip rp active cef detail

Forwarding Table

0.0.0.0/0 -> OBJ_ADJ_NOROUTE (0), urpf: 5

Prefix Flags: Default, Default route handler

OM handle: 0x404a91e8

0.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13

Prefix Flags: unknown

OM handle: 0x404bd5e8

0.0.0.0/32 -> OBJ_ADJ_RECEIVE (0), urpf: 12

Prefix Flags: Receive

OM handle: 0x404bd298

1.1.1.1/32 -> OBJ_ADJACENCY (16), urpf: 20

Prefix Flags: unknown

OM handle: 0x404fec70

Para verificar los detalles de CEF en el plano de reenvío (ESP):

Router#show platform software ip fp active cef detail

Forwarding Table

0.0.0.0/0 -> OBJ_ADJ_NOROUTE (0), urpf: 5

Prefix Flags: Default, Default route handler

aom id: 73, HW handle: 0x4310df8 (created)

0.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13

Prefix Flags: unknown

aom id: 90, HW handle: 0x4362cd8 (created)

0.0.0.0/32 -> OBJ_ADJ_RECEIVE (0), urpf: 12

Prefix Flags: Receive

aom id: 86, HW handle: 0x4333568 (created)

127.0.0.0/8 -> OBJ_ADJ_DROP (0), urpf: 13

Prefix Flags: unknown

aom id: 91, HW handle: 0x4387048 (created)

224.0.0.0/4 -> OBJ_ADJ_DROP (0), urpf: 13

Prefix Flags: unknown

aom id: 92, HW handle: 0x43870d8 (created)

Router#show platform software ip fp active cef summary

Forwarding Table Summary

Name             VRF id  Table id    Protocol         Prefixes    State

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

Default          0       0           IPv4             20          hw: 0x43010a8 (created)

Estos comandos también se pueden utilizar cuando se enfrenta a problemas CEF en el dispositivo. Por ejemplo, aunque se aprenden las rutas, los prefijos no son accesibles. Puede buscar en todos los módulos para ver si todas las tablas CEF se actualizan correctamente o no.

Comprobar adyacencia CEF

De manera similar, puede verificar más a fondo la tabla de adyacencia CEF para toda la información de Capa 2 sobre los prefijos adyacentes.

Para verificar la adyacencia CEF en el plano de control:

Router#show adjacency gigabitEthernet 0/0/0 detail

Protocol Interface                 Address

IP       GigabitEthernet0/0/0      10.10.10.1(11)

72772 packets, 4622727 bytes

epoch 0

sourced in sev-epoch 0

Encap length 14

0062EC6B89000062EC6BEC000800

L2 destination address byte offset 0

L2 destination address byte length 6

Link-type after encap: ip

ARP

Router#show platform software adjacency rp active

Number of adjacency objects: 4

Adjacency id: 0x10 (16)

Interface: GigabitEthernet0/0/0, IF index: 8, Link Type: MCP_LINK_IP

Encap: 0:62:ec:6b:89:0:0:62:ec:6b:ec:0:8:0

Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500

Flags: no-l3-inject

Incomplete behavior type: None

Fixup: unknown

Fixup_Flags_2: unknown

Nexthop addr: 10.10.10.1

IP FRR MCP_ADJ_IPFRR_NONE 0

OM handle: 0x404ea1d8

Debe observar el ID de adyacencia para verificar los detalles de esta adyacencia en particular en el plano de reenvío. En este caso, el ID de adyacencia es 16.

Para verificar la adyacencia CEF en el plano de reenvío:

Router#show platform software adjacency fp active index 16

Number of adjacency objects: 4

Adjacency id: 0x10 (16)

Interface: GigabitEthernet0/0/0, IF index: 8, Link Type: MCP_LINK_IP

Encap: 0:62:ec:6b:89:0:0:62:ec:6b:ec:0:8:0

Encap Length: 14, Encap Type: MCP_ET_ARPA, MTU: 1500

Flags: no-l3-inject

Incomplete behavior type: None

Fixup: unknown

Fixup_Flags_2: unknown

Nexthop addr: 10.10.10.1

IP FRR MCP_ADJ_IPFRR_NONE 0

aom id: 114, HW handle: 0x43ae148 (created)

Aquí, verá que la información de adyacencia CEF se rellena en el administrador de reenvío (FMAN) en FP. FMAN FP envía esta información al controlador del cliente QFP que programa la tabla de reenvío QFP que se utilizará para reenviar eventualmente. Desde el comando anterior, copie el identificador de hardware para verificar la información de reenvío en QFP.

Router#show pla hard qfp act feature cef-mpls adjacency handle 0x43ae148

Adj Type: : IPV4 Adjacency

Encap Len: : 14

L3 MTU: : 1500

Adj Flags: : 0

Fixup Flags: : 0

Output UIDB: :

Interface Name: GigabitEthernet0/0/0

Encap: : 00 62 ec 6b 89 00 00 62 ec 6b ec 00 08 00

Next Hop Address: : 10.10.10.1

Lisp Fixup HW Ptr: : 0x767b28f0

Next HW OCE Ptr: : 00000000

CM   HW    Ptr:: 946947588

Fixup_Falgs_2: : 0

Aquí, sabe que todas las tablas de adyacencia se actualizan correctamente y que el router está reenviando listo. Sin embargo, todo el proceso de aislamiento requiere muchos comandos y conocimientos de la arquitectura modular a un cierto nivel. Por lo tanto, para simplificar esto, recientemente se introdujo un comando que brinda información consolidada de todos los módulos.

Nota: Para los dispositivos con una tabla de ruteo larga, este comando puede tardar varios minutos en ejecutarse.

El comando es show ip cef platform detail.

Fenómeno común observado

Para todos los dispositivos modulares Cisco IOX XE en las situaciones en las que se aprende un gran número de prefijos en el router, normalmente toma algún tiempo programar todos los prefijos en todos los módulos de reenvío. Esto se puede ver con mucha frecuencia en los routers que están sentados en el borde del proveedor aprendiendo la tabla de ruteo BGP completa desde el ISP.

En el Centro de Asistencia Técnica, hubo pocos casos recibidos en los que se vio que después de que se activa la sesión BGP e incluso la ruta BGP se actualiza en la tabla de ruteo, los prefijos no se pueden alcanzar durante un tiempo. Normalmente, toma 20-30 segundos y depende de la plataforma del router para hacer ping a esos prefijos. Por ejemplo, aquí hay un escenario de prueba:

Pagent es una herramienta de generación de tráfico que se utiliza para enviar un millón de rutas BGP al router ASR1002HX.

Aquí puede ver que, incluso si las rutas BGP se aprenden en el dispositivo y se actualiza la tabla CEF del plano de control, la red interna no puede hacer ping a los prefijos aprendidos durante unos segundos más. Sobre la base de la discusión de CEF, está claro que necesita que las entradas CEF se actualicen en cada módulo de software. Puede ver una consecuencia de este comportamiento en este escenario en particular donde los prefijos no son accesibles debido al hecho de que no se actualizó en la tabla de reenvío ESP. A continuación, se muestran algunas salidas del ASR1002HX como referencia.

Las tablas BGP se actualizan con todos los millones de rutas.

Router#show ip bgp summary

BGP router identifier 1.1.1.1, local AS number 100

BGP table version is 1, main routing table version 1

1000002 network entries using 248000496 bytes of memory

1000002 path entries using 128000256 bytes of memory

100002/0 BGP path/bestpath attribute entries using 26400528 bytes of memory

100000 BGP AS-PATH entries using 5402100 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 407803380 total bytes of memory

BGP activity 8355774/7355772 prefixes, 9438985/8438983 paths, scan interval 60 secs

Neighbor        V           AS  MsgRcvd MsgSent   TblVer  InQ OutQ             Up/Down                                 State/PfxRcd

10.10.10.2      4          100       5       2              1    0             0 00:00:58                                         1

20.20.20.2      4          100  100002       3              1    0             0 00:01:02                                   1000000

Aunque, la tabla BGP tiene un millón de prefijos, la tabla CEF del administrador de reenvío sólo tenía aprendidos 48613 prefijos.

Si espera entre 20 y 30 segundos, verá la tabla FP CEF completamente actualizada con un millón de prefijos.

Router#show platform software ip fp active cef summary

Forwarding Table Summary

Name             VRF id  Table id    Protocol         Prefixes    State

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

Default          0       0           IPv4             48613       hw: 0x2edce98 (created)

Conclusión

Cuando trata con dispositivos de arquitectura modular basados en Cisco IOS XE para reenviar problemas relacionados, debe verificar la información relacionada con la tabla de reenvío de todos los módulos de software. El escenario BGP explicado puede considerarse como comportamiento esperado con esta plataforma, ya que el dispositivo tarda unos segundos en actualizar los prefijos en todos los módulos de software.