That other other routing protocol – ODR

Standard

So now we talked about a somewhat more specialized routing protocol, let’s talk about a protocol that probably only a few of you would know about here.

On Demand Routing!

ODR is a CDP based routing protocol for hub and spoke networks. Do you need to know about it? Nope! Will you ever see it? Probably not! Why am I doing this? I’M DRUNK!

To show you this highly advanced protocol I setup a simple 3 router DMVPN like so. It was typically done with serial interfaces but VIRL doesn’t do serial interfaces so DMVPN it is. We’ll need to enable CDP on the tunnel as well.

R01

 R01(config)#interface Tunnel123
 R01(config-if)# ip address 10.0.123.1 255.255.255.0
 R01(config-if)# ip nhrp map multicast dynamic
 R01(config-if)# ip nhrp network-id 123
 R01(config-if)# cdp enable
 R01(config-if)# tunnel source GigabitEthernet0/1
 R01(config-if)# tunnel mode gre multipoint
 R01(config-if)# tunnel key 123
 R01(config-if)# tunnel vrf INET

R02

 R02(config)#interface Tunnel123
 R02(config-if)# ip address 10.0.123.2 255.255.255.0
 R02(config-if)# ip nhrp network-id 123
 R02(config-if)# ip nhrp nhs 10.0.123.1 nbma 200.1.1.1 multicast
 R02(config-if)# cdp enable
 R02(config-if)# tunnel source GigabitEthernet0/1
 R02(config-if)# tunnel mode gre multipoint
 R02(config-if)# tunnel key 123
 R02(config-if)# tunnel vrf INET

R03

 R03(config)#interface Tunnel123
 R03(config-if)# ip address 10.0.123.2 255.255.255.0
 R03(config-if)# ip nhrp network-id 123
 R03(config-if)# ip nhrp nhs 10.0.123.1 nbma 200.1.1.1 multicast
 R03(config-if)# cdp enable
 R03(config-if)# tunnel source GigabitEthernet0/1
 R03(config-if)# tunnel mode gre multipoint
 R03(config-if)# tunnel key 123
 R03(config-if)# tunnel vrf INET

Now that that boring DMVPN is setup lets get ODR moving! All we need to do is enable the protocol on the hub router. Though we can use the network command to just enable it on classful subnets.

R01(config)#router odr
 R01(config-router)#

And the spokes will automagically advertise the spoke routers to the hub

R01#show ip route odr | in ^o 
 o 192.168.2.0/24 [160/1] via 10.0.123.2, 00:00:29, Tunnel123
 o 192.168.3.0/24 [160/1] via 10.0.123.3, 00:00:13, Tunnel123
 o 200.2.2.0/24 [160/1] via 10.0.123.2, 00:00:29, Tunnel123
 o 200.3.3.0/24 [160/1] via 10.0.123.3, 00:00:13, Tunnel123

The spokes in turn will learn a default from the hub

R02#show ip route | in ^o
 o* 0.0.0.0/0 [160/1] via 10.0.123.1, 00:00:39, Tunnel123

4 thoughts on “That other other routing protocol – ODR

  1. The Count

    Both router R02 and R03 are configured with there tunnel interfaces having the address 10.0.123.2 and yet later R01 shows a route to 10.0.123.3 which isn’t otherwise mentioned anywhere in your configuration.

    Could this be a result of blogging while drunk?

  2. The Count

    Just for fun (while drinking Vodka and Mango/Tangerine juice) I tried setting this up on a set up Cisco 3725 routers running “Cisco IOS Software, 3700 Software (C3725-ADVENTERPRISEK9-M), Version 12.4(15)T14, RELEASE SOFTWARE (fc2)” in GNS3 2.0.2. I ran across the problem that there is no nbma parameter to the “ip nhrp nhs” command.

    Branch2(config-if)#ip nhrp nhs 10.0.123.1 ?
    A.B.C.D IP network served by this NHS

    Any ideas as to how to configure this on this particular set of hardware?

    • John Doe

      Use the older 2 line method.

      ip nhrp nhs 10.0.123.1 (<– private tunnel ip of hub)
      ip nhrp map multicast 200.1.1.1 (outside NBMA public ip of hub)
      – or –
      ip nhrp nhs 10.0.123.1 nbma 200.1.1.1 multicast (optional 1 liner config)

Leave a Reply to John DoeCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.