u/NetSchizo

▲ 2 r/Cisco

IOS-XR - ASR9K bit by "cef adjacency route override rib" ?

I ran into a really odd forwarding issue on IOS-XR (reproduced on XR 6.4, 6.8 and 7.0) on ASR9Ks and was curious if anyone else has seen something similar.

Scenario:

  • OSPF external route installed normally
  • RIB looked correct
  • CEF looked correct
  • show cef exact-route also pointed to the expected next-hop/interface
  • No recursive weirdness or obvious stale adjacency
  • Interfaces and adjacencies all healthy

Example:

ASR9K showed traffic for the destination should forward directly out BE20/BE21 toward router .209:

show cef exact-route <src> <dst>

via Bundle-Ether20
next-hop x.x.x.209
local adjacency

However, live traffic behavior did not match that forwarding path.

Traceroutes and interface counters showed the traffic was actually traversing an entirely different inter-router link to another XR/NCS router first, then returning, and only THEN forwarding toward the final destination.

Example path observed:

... -> x.x.x.252 -> x.x.x.240 -> x.x.x.241 -> x.x.x.209 -> destination

The .240/.241 link is an internal P2P between the ASR9K and an NCS box that should not have been in the forwarding path at all for this destination.

This was not just a traceroute artifact either. I confirmed the unexpected path by watching symmetric traffic counters on the inter-router link carrying the actual flow traffic.

What made this especially confusing:

  • The ASR9K routing table never showed the NCS as a next-hop
  • CEF never showed the NCS as a next-hop
  • show cef exact-route still showed the “correct” adjacency
  • Downstream routers also appeared to have sane FIB entries

Yet IPv4 traffic clearly traversed the wrong path before returning.

Even stranger:

  • IPv6 for the same destination family/path behaved correctly
  • Issue only appeared in IPv4

While digging around I found references to:

cef adjacency route override rib

possibly affecting this type of behavior, but I have not enabled/tested it yet until I better understand the implications.

Has anyone run into XR forwarding behavior where:

  • actual packet forwarding diverges from visible RIB/CEF output
  • traffic traverses a non-installed adjacency/path
  • or where adjacency override / distributed CEF programming caused unexpected transit paths?

Curious whether this is:

  • an XR forwarding quirk
  • stale distributed FIB programming
  • adjacency rewrite behavior
  • LC vs RP FIB inconsistency
reddit.com
u/NetSchizo — 2 days ago