My CCIE basic notes are:
On-Demand Routing is a Cisco propriety way of propagating routes. The comparison for me is RIP in that its timer driven, but has fewer features and the ones it has are about manipulating routers, timers and metrics (much like RIP). The purpose is to propagate routes from a hub/s to connected stubs. Its low overhead, and runs over CDP. Only the hub/s runs the “Router ODR” process, and by default a spoke is a stub if it’s not running any routing protocol. Cisco FAQs here. I’ve not dealt with this in a production network, and I would need a good technical reason to implement this rather than a simple routing protocol, or a static route.
In my basic lab, R2 is the hub. CDP is enabled on all 3 routers, and interfaces configured (with R3 Loopback shut down). Below R1 and R3 have no routing configured. R2 has a single line…
R1#show run | sec router R3#show run | sec router R2#show run | sec router router odr
Now, CDP takes a while by default (this is changeable either as CDP or underr odr routing process)…
R1#show cdp Global CDP information: Sending CDP packets every 60 seconds Sending a holdtime value of 180 seconds Sending CDPv2 advertisements is enabled R1#
Next, I’m going to show R1’s routing table, try pinging R3’s loopback and view the output of CDP and IP Routing …
R1#show ip route Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP + - replicated route, % - next hop override Gateway of last resort is 10.1.2.2 to network 0.0.0.0 o* 0.0.0.0/0 [160/1] via 10.1.2.2, 00:00:51, FastEthernet0/0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.1.2.0/24 is directly connected, FastEthernet0/0 L 10.1.2.1/32 is directly connected, FastEthernet0/0 R1#ping 188.8.131.52 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 184.108.40.206, timeout is 2 seconds: UUUUU Success rate is 0 percent (0/5) R1# R1# *Aug 14 09:59:16.071: CDP-PA: Packet received from R2 on interface FastEthernet0/0 *Aug 14 09:59:16.075: **Entry found in cache** *Aug 14 09:59:16.075: RT: updating odr 0.0.0.0/0 (0x0): via 10.1.2.2 Fa0/0 1048578
Note the above default route pointing from R1 to R2 has an Administrative Distance of 160! This is quite high, and is only preferred to EIGRP External (170) and iBGP routes (200). So a route learnt by any other method would be preferred.
Finally, I’ll unshut R3 Loopback and ping from R1.
R3(config)#int lo 0 R3(config-if)#no shut R3(config-if)#end R1#ping 220.127.116.11 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 18.104.22.168, timeout is 2 seconds: UUUUU <<<Not ready yet, awaiting CDP updates! Success rate is 0 percent (0/5) R1# *Aug 14 10:01:54.615: CDP-PA: Packet received from R2 on interface FastEthernet0/0 *Aug 14 10:01:54.619: **Entry found in cache** *Aug 14 10:01:54.619: RT: updating odr 0.0.0.0/0 (0x0): via 10.1.2.2 Fa0/0 1048578 R1#ping 22.214.171.124 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 126.96.36.199, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 52/68/88 ms R1#
Sub-interfaces have cdp disabled, and will need to be re-enabled.
ODR isn’t suitable to a transit router, only stub ones!
If you enable a routing protocol on a stub, it’s no longer a stub and ODR stops working. Hubs can run routing protocols.
Multiple hubs can be run.
The documentation states ODR is not a routing protocol and thats probably important for an exam but …
- Its called On-Demand Routing
- Its given an Administrative distance
- Prefixes are shared between devices dynamically
- You can apply metrics to routes
- Prefixes can be filtered.
- Its configuration is done under a routing process within the CLI!