OSPF Graceful Shutdown

OSPF Graceful Shutdown

Striving to reach that last 9? Looking for a way to increase your uptime while still being able to do maintenance on your network? Wish you could shutdown your OSPF neighbors like your BGP peers? Ok, enough sales talk. Achieving HA uptimes when you need to do maintenance is far from simple, even if you tweak your hello timers, or use some fast detection protocol like BFD it still takes time for your protocols to converge. A much better solution would be gracefully notifying a router’s neighbors of a dramatic cost increase on all of it’s interfaces which would force an SPF calculation while the router is still online forwarding packets.

Welcome RFC 3137 — OSPF Stub Router Advertisement (aka graceful shutdown) is a feature implemented in Cisco IOS release 12.2(4)T and 12.3. To force our router into stub status we can use the max-metric router-lsa router configuration command which changes the OSPF metric for all non-stub interfaces on the router to 65535.

The new metric in the LSA does not cause the path to be ignored, it just increases the cost. The other routers in the network will select any alternate paths (if available).

Here is an example of this technique being employed in the lab network.

R1#sh ip ospf database router 192.168.2.1           

            OSPF Router with ID (192.168.1.1) (Process ID 1)

                Router Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 1335
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 192.168.2.1
  Advertising Router: 192.168.2.1
  LS Seq Number: 8000002A
  Checksum: 0x2A65
  Length: 60
  AS Boundary Router
  Number of Links: 3

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.4.2
     (Link Data) Router Interface address: 10.2.4.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.3.2
     (Link Data) Router Interface address: 10.2.3.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.1.2.2
     (Link Data) Router Interface address: 10.1.2.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 10

R1#sh ip route
Codes: 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

Gateway of last resort is not set

O E2 192.168.4.0/24 [110/20] via 10.1.3.3, 00:00:01, Ethernet0/1
                    [110/20] via 10.1.2.2, 00:00:01, Ethernet0/0
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C       10.1.3.0/29 is directly connected, Ethernet0/1
C       10.1.2.0/30 is directly connected, Ethernet0/0
O       10.2.3.0/29 [110/20] via 10.1.3.3, 00:00:01, Ethernet0/1
                    [110/20] via 10.1.2.2, 00:00:01, Ethernet0/0
O       10.2.4.0/29 [110/20] via 10.1.2.2, 00:00:01, Ethernet0/0
O       10.3.4.0/29 [110/20] via 10.1.3.3, 00:00:01, Ethernet0/1
C    192.168.1.0/24 is directly connected, Loopback0
O E2 192.168.2.0/24 [110/20] via 10.1.2.2, 00:00:01, Ethernet0/0
O E2 192.168.3.0/24 [110/20] via 10.1.3.3, 00:00:01, Ethernet0/1

As you can see there are currently three routes exiting via Eth0/0 which is a direct connection to R2 in our lab. Next we’re going to implement the OSPF Stub Advertisement on R2.

R2#
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#router ospf 1
R2(config-router)#max-metric router-lsa
R2(config-router)#end
R2#

Ok, now lets see what happened to those routes when we now that we’ve changed our LSAs.

R1#sh ip ospf database router adv-router 192.168.2.1

            OSPF Router with ID (192.168.1.1) (Process ID 1)

                Router Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 6
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 192.168.2.1
  Advertising Router: 192.168.2.1
  LS Seq Number: 8000002B
  Checksum: 0xA00C
  Length: 60
  AS Boundary Router
  Number of Links: 3

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.4.2
     (Link Data) Router Interface address: 10.2.4.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 65535

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.2.3.2
     (Link Data) Router Interface address: 10.2.3.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 65535

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 10.1.2.2
     (Link Data) Router Interface address: 10.1.2.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 65535

R1#sh ip route
Codes: 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

Gateway of last resort is not set

O E2 192.168.4.0/24 [110/20] via 10.1.3.3, 00:00:05, Ethernet0/1
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C       10.1.3.0/29 is directly connected, Ethernet0/1
C       10.1.2.0/30 is directly connected, Ethernet0/0
O       10.2.3.0/29 [110/20] via 10.1.3.3, 00:00:05, Ethernet0/1
O       10.2.4.0/29 [110/30] via 10.1.3.3, 00:00:05, Ethernet0/1
O       10.3.4.0/29 [110/20] via 10.1.3.3, 00:00:05, Ethernet0/1
C    192.168.1.0/24 is directly connected, Loopback0
O E2 192.168.2.0/24 [110/20] via 10.1.2.2, 00:00:05, Ethernet0/0
O E2 192.168.3.0/24 [110/20] via 10.1.3.3, 00:00:05, Ethernet0/1

As you can see the routes for 10.2.3.0/29 and 10.2.4.0/29 have changed and the only route still directed at R2 is actually R2’s loopback address – 192.168.2.0/24. Since that is a directly connected interface we would expect that behavior.

Conclusion

This is an extremely handy feature for anyone working on a network with decent redundancy and high uptime requirements. Anytime you can bring a router down in the middle of the day to perform maintenance saves you valuable time, and still lets you brag about your network uptime!

comments powered by Disqus

Related Posts

Cisco Live 2011

Cisco Live 2011

It’s been a tough week since I left Las Vegas. I must say that my Cisco Live withdrawal has been pretty bad, and with the week we’ve been having here in Indiana, I’m certainly …

Read More
Cisco VOIP Basics

Cisco VOIP Basics

This is the first part of my Cisco voip basics series. ( Parts 2 , Read More

Nexus Virtual Port Channel (vPC)

Nexus Virtual Port Channel (vPC)

The Nexus 7000 and 5000 series have taken port-channel functionality to the next level by enabling port-channels to exist between links that are connected to different devices. …

Read More