7 mins read

ISIS Overload timeout – Testing the timeout knob

1. Intro

First of all, lets quickly review the what the official documentation is saying about the ISIS overload timeout knob:

You configure or disable overload mode in IS-IS with or without a timeout. Without a timeout, overload mode is set until it is explicitly deleted from the configuration. With a timeout, overload mode is set if the time elapsed since the IS-IS instance started is less than the specified timeout.

A timer is started for the difference between the timeout and the time elapsed since the instance started. If the time elapsed after the IS-IS instance is enabled is less than the specified timeout, overload mode is set. When the timer expires, overload mode is cleared. In overload mode, the routing device IS-IS advertisements are originated with the overload bit set. This causes the transit traffic to take paths around the routing device. However, the overloaded routing device’s own links are still accessible.

To understand the scenario for setting the overload bit, consider that BGP converges slowly. It is not very good at detecting that a neighbor is down because it has slow-paced keepalive timers. Once the BGP neighbor is determined to be down, it can take up to 2 minutes for a BGP router to declare the neighbor down. IS-IS is much quicker. IS-IS only takes 10-30 seconds to detect absent peers. It is the slowness of BGP that necessitates the use of the overload bit. IS-IS and BGP routing are mutually dependent on each other. If both do not converge at the same time, traffic is dropped without notification (black holed).

So, you might want to configure the routing device so that it appears to be overloaded when you are restarting routing on the device. Setting the overload bit for a fixed amount of time right after a restart of the routing protocol process (rpd) ensures that the router does not receive transit traffic while the routing protocols (especially BGP) are still converging.

For our practical example, we will continue from our previous post ‘ISIS Overload – Learn with a practical example‘, so this is currently the state of the network:

R3 output:
R1 output:

2. Configure the ISIS Overload timeout

We will configure the timeout knob on the R3 router and we will see the impact.

R3 output:
R1 output:

This is can be a little contra intuitive, but actually it makes sense if you think about it. Let’s read again the documentation:

“A timer is started for the difference between the timeout and the time elapsed since the instance started. If the time elapsed after the IS-IS instance is enabled is less than the specified timeout, overload mode is set.”

Because more than 300 seconds have passed since the ISIS instance has started, the overload bit is cleared as we already saw in the CLI output.

3. Restart the ISIS process

Lets now try restarting the ISIS process and see the impact.

R3 output
R1 output:

To conclude, the ISIS overload timeout is set after ISIS process is started, but not during normal operations.