OSPF Default-Information Originate w/ Route Maps: Part#1 The Clues

 

Saw something the other day I had never tripped across before.  Had to do with the advertising of a default route in OSPF with a route policy applied.  I was confused as to why something was happening, so I asked two co-workers (Steve and Robert) to join me in trying to figure it out.

Ready to play?

pic2

 

 

 

 

 

 

 

ASR9K – IOS XR 4.3(4),   ASR1K – IOS XE 15.4(2)S

As you can see above their design was that the ASR9K would send a default route, tagged with a 510, if and only if there was already a 0.0.0.0 in the routing information base (RIB). No 0.0.0.0 in the RIB? No sending default route.

 PASS #1

When I’m trying to figure out “whodunnit” I tend to make multiple “passes”.  The goal of the first pass is really to get a good solid foundational look at the “crime scene”. Nature of the “crime”, the facts, the clues, the suspects.

The FACTS

  • ASR9K has no 0.0.0.0/0 in the RIB
  • ASR1K is getting the 0.0.0.0/0

9K_configs_with_RP

 

 

 

 

routepolicy

 

 

Admittedly I was expecting to find a quick “smoking gun”. For example, a “default-information originate always” in the configs OR that there really was a 0.0.0.0/0 in the RIB somehow.

Nope. So let’s dig in a little deeper.

 

PASS #2

Since I troubleshoot in a lab environment, I have the luxury of playing with the configs.  So since I honestly have no idea why this is happening…

  • Remove default-information originate route-policy ospf-default(510)
    • Result: As expected…. no 0.0.0.0/0 on ASR1K
  • Add default-information originateto ASR9K but don’t include the route-policy
    • Result: As expected…. no 0.0.0.0/0 on ASR1K
  • Put default-information originate route-policy ospf-default(510) back in
    • Result: ARG! 0.0.0.0/0 show up on ASR1K.

 

Solution?

You now have all the facts and clues needed to solve this “whodunnit”.   Thoughts? Ideas? 🙂

 

 

 

  • Santino Rizzo

    The route-policy controls injection of the default route and without a match condition, it passes. Add a match condition, checking the RIB for a default route.

    • Denise “Fish” Fishburne

      Very good! I’ll explain this in more detail for others in Part 2.

      • Santino Rizzo

        You work with BGP long enough, you understand the perils of route maps and policies with no match statements. 🙂