Inhalt

Einführung

CEF-Verhalten auf der Cisco IOS XE-Plattform

CEF-Adjacency prüfen

Beobachtete gemeinsame Phänomene

Schlussfolgerung

Einführung

Dieses Dokument beschreibt die Cisco Express Forwarding (CEF)-Funktion auf Cisco IOS® XE-basierten Geräten. Im Gegensatz zu anderen Cisco Routern sind Cisco IOS XE-basierte Router nicht nur in Bezug auf Hardware, sondern auch in Bezug auf Software modular. Aufgrund dieser Art ist das Verhalten der meisten Features und Protokolle auch ein wenig anders. Außerdem wird gezeigt, wie CEF-Tabellen auf Cisco IOS XE-basierten Geräten verwaltet werden und wie Big Border Gateway Protocol (BGP)-Tabellen im Hinblick auf CEF-Updates auf Cisco IOS XE-Plattformen verwaltet werden.

CEF-Verhalten auf der Cisco IOS XE-Plattform

CEF-Tabellenupdate in der XE-Plattform

Auf Cisco IOS XE-Geräten wie dem ASR1000 ist die Kontrollebene von der Weiterleitungsebene getrennt. Wenn ein Update von der Kontrollebene an die Datenebene übergeben werden muss, muss es den im Flussdiagramm gezeigten Datenfluss durchlaufen. Im Fall von CEF beispielsweise, wenn ein Präfix auf der Kontrollebene erfasst wird, wird dieses Update von der Kontrollebene (IOSd) an den Weiterleitungsmanager der Kontrollebene (FMAN-RP) weitergeleitet. Der Weiterleitungsmanager auf der Kontrollebene verwendet Kernel-Dienstprogramme wie lsmpi, Hyper-transport (HT)-Verbindungen usw., um das Update an den Weiterleitungsebenen (ESPs) Forwarding Manager (FMAN-FP) weiterzuleiten. Der Forwarding Manager sendet das Update an den Quantum Flow Processor (QFP), der QFP-Mikrocode programmiert, um das QFP-Subsystem zu programmieren, das die tatsächliche Weiterleitung von Paketen in Cisco Aggregation Services Router (ASR)-Geräten durchführt.

Es gibt verschiedene Befehle, mit denen Sie das CEF-Update für jedes dieser Softwaremodule überprüfen können. Dies ist der schrittweise Prozess dafür.

So prüfen Sie CEF auf Kontrollebene:

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

So überprüfen Sie die CEF-Details auf der Weiterleitungsebene (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)

Diese Befehle können auch verwendet werden, wenn CEF-Probleme auf dem Gerät auftreten. Obwohl beispielsweise die Routen erfasst werden, sind die Präfixe nicht erreichbar. Sie können alle Module durchgehen, um festzustellen, ob alle CEF-Tabellen korrekt aktualisiert wurden oder nicht.

CEF-Adjacency prüfen

Auf ähnliche Weise können Sie in der CEF-Adjacency-Tabelle alle Layer-2-Informationen zu den benachbarten Präfixen überprüfen.

So überprüfen Sie die CEF-Adjacency auf der Kontrollebene:

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

Sie müssen die Adjacency-ID notieren, um die Einzelheiten dieser Adjacency auf der Weiterleitungsebene zu überprüfen. In diesem Fall ist die Adjacency-ID 16.

So überprüfen Sie die CEF-Adjacency auf der Weiterleitungsebene:

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)

Hier sehen Sie, dass die CEF-Adjacency-Informationen im Forwarding Manager (FMAN) des FP eingetragen werden. Der FMAN FP sendet diese Informationen an den QFP-Client-Treiber, der die QFP-Weiterleitungstabelle programmiert, die letztendlich für die Weiterleitung verwendet wird. Kopieren Sie aus dem vorherigen Befehl das Hardware-Handle, um die Weiterleitungsinformationen in QFP zu überprüfen.

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

Hier wissen Sie, dass alle Adjacency-Tabellen ordnungsgemäß aktualisiert wurden und der Router bereit für die Weiterleitung ist. Der gesamte Prozess der Isolation erfordert jedoch viele Befehle und erfordert Kenntnisse der modularen Architektur auf einer bestimmten Ebene. Um dies zu vereinfachen, wurde kürzlich ein Befehl eingeführt, der konsolidierte Informationen aus allen Modulen enthält.

Hinweis: Bei Geräten mit einer langen Routing-Tabelle kann die Ausführung dieses Befehls einige Minuten in Anspruch nehmen.

Der Befehl lautet show ip cef platform detail.

Beobachtete gemeinsame Phänomene

Für alle modularen Cisco IOX XE-Geräte in Situationen, in denen eine große Anzahl von Präfixen auf dem Router gelernt wird, dauert es normalerweise einige Zeit, alle Präfixe in allen Weiterleitungsmodulen zu programmieren. Dies ist bei den Routern, die sich am Provider Edge befinden und eine vollständige BGP-Routing-Tabelle vom ISP erlernen, sehr häufig der Fall.

Im Technical Assistance Center wurden nur wenige Fälle gemeldet, in denen festgestellt wurde, dass die Präfixe nach der Aktivierung der BGP-Sitzung und selbst der Aktualisierung der BGP-Route in der Routing-Tabelle eine Weile nicht erreichbar sind. Normalerweise dauert es 20-30 Sekunden, und es hängt von der Router-Plattform ab, diese Präfixe zu pingen. Hier ein Beispiel für ein Testszenario:

Pagent ist ein Traffic Generator-Tool, das verwendet wird, um eine Million BGP-Routen an den ASR1002HX-Router zu übertragen.

Hier sehen Sie, dass das interne Netzwerk selbst dann nicht in der Lage ist, die gelernten Präfixe für einige Sekunden zu pingen, wenn die BGP-Routen auf dem Gerät erfasst und die CEF-Tabelle auf der Kontrollebene aktualisiert wird. Auf der Grundlage der CEF-Diskussion ist klar, dass Sie CEF-Einträge auf jedem Softwaremodul aktualisieren müssen. Sie sehen eine Folge dieses Verhaltens in diesem speziellen Szenario, in dem die Präfixe nicht erreichbar sind, da sie in der ESP-Weiterleitungstabelle nicht aktualisiert wurden. Nachfolgend sind einige Ausgänge des ASR1002HX als Referenz aufgeführt.

BGP-Tabellen werden mit allen 1 Million Routen aktualisiert.

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

Obwohl die BGP-Tabelle über eine Million Präfixe verfügt, wurden in der CEF-Tabelle für den Weiterleitungsmanager bisher nur 48613 Präfixe erfasst.

Wenn Sie 20-30 Sekunden warten, sehen Sie die vollständig aktualisierte FP-CEF-Tabelle mit einer Million Präfixen.

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)

Schlussfolgerung

Wenn Sie mit Geräten der modularen Cisco IOS XE-Architektur arbeiten, um Probleme weiterzuleiten, müssen Sie die Informationen der Weiterleitungstabelle (Forwarding Table) aus allen Softwaremodulen überprüfen. Das erklärte BGP-Szenario kann als erwartetes Verhalten bei dieser Plattform betrachtet werden, da das Gerät einige Sekunden benötigt, um die Präfixe in allen Softwaremodulen zu aktualisieren.