EIGRP graceful shutdown is one of those features that you don’t really think about. It’s not something you have to configure, and it’s something that EIGRP does for us behind the scenes. Graceful shutdown allows your neighbors to quickly convergence when your router stops running EIGRP globally or on a specific interface.
Let’s look at an example. We have two routers:
Let’s configure EIGRP on both routers; I’ll use named mode:
R1 & R2 (config)#router eigrp MY_EIGRP (config-router)#address-family ipv4 unicast autonomous-system 12 (config-router-af)#network 192.168.12.0
EIGRP uses the hold time to decide when to drop a neighbor adjacency. As long as you keep receiving hello packets, the hold time resets:
R1#show ip eigrp neighbors EIGRP-IPv4 VR(MY_EIGRP) Address-Family Neighbors for AS(12) H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 192.168.12.2 Gi0/1 14 00:00:50 1 3000 0 1
Above you can see that the hold time is currently 14 seconds. If R1 doesn’t receive a hello packet from R2 within 14 seconds, it will drop the neighbor adjacency.
Let’s see what happens when I shut the interface on R2:
R2(config)#interface GigabitEthernet 0/1 R2(config-if)#shutdown
R2 knows immediately that there is no neighbor adjacency anymore since its own interface went down:
R2# %DUAL-5-NBRCHANGE: EIGRP-IPv4 12: Neighbor 192.168.12.1 (GigabitEthernet0/1) is down: interface down
It took R1 a bit longer to figure this out though. After a maximum of 15 seconds (hold timer), you see this message on the console:
R1# %DUAL-5-NBRCHANGE: EIGRP-IPv4 12: Neighbor 192.168.12.2 (GigabitEthernet0/1) is down: holding time expired
R1 loses the neighbor adjacency after the hold timer expired. This means that for a maximum of 15 seconds, R1 kept using R2 as a valid neighbor and perhaps kept sending traffic to R2.
This is something we can speed up, and it’s where graceful shutdown comes in place. First, let’s restore the interface on R2:
R2(config)#interface GigabitEthernet 0/1 R2(config-if)#no shutdown
Let me show you what happens when I remove a network command on R2:
R2(config)#router eigrp MY_EIGRP R2(config-router)#address-family ipv4 unicast autonomous-system 12 R2(config-router-af)#no network 192.168.12.0
Right away, you see this message on R1:
R1# %DUAL-5-NBRCHANGE: EIGRP-IPv4 12: Neighbor 192.168.12.2 (GigabitEthernet0/1) is down: Interface PEER-TERMINATION received
Instead of waiting for the hold time to expire, R1 receives this nice peer termination message. R2 is letting R1 know right away that it stops using EIGRP on its GigabitEthernet 0/1 interface. This allows R1 to converge much faster.
This peer termination message is sent by using a hello packet with K values that are all set to 255. Here’s a Wireshark capture:
I did a graceful shutdown by removing a network command, but another option is to use the shutdown command: