Route Flap Dampening

BGP route flap dampening is used to suppress routes that have been unstable due to misconfiguration, a rebooting router or module, or link flapping. For each route flap, a penalty is assessed to the route. When this route penalty reaches the cutoff threshold, the route is suppressed. The route penalty decays over time based upon a configured decay half-life value. Once the decaying penalty reaches the reuse threshold, or the hold-time timer has expired, the route is reinstalled into the routing table.

The route penalty starts with a value of 0. With each route instability, the route penalty is increased by 100. Route flap dampening provides for the following thresholds and timers that interact with the route penalty:

Route flap dampening configuration is contained in an administratively named flap table initially configured with default timer and threshold values. The flap table is assigned to a route-map. The route-map is assigned to the neighbor address to be monitored as an inbound route-map. When the first route instability occurs, the route penalty for this flap table is set to 100. This penalty immediately starts to decay at the rate set by the appropriate half-life timer. Upon the occurrence of a second route instability, the current route penalty is increased by 100. If the current penalty is now greater than the cutoff threshold (default penalty of 125) the route is suppressed. If no further instability occurs, the route penalty will eventually decay below the value of the reuse threshold, based upon the appropriate half-life timer setting. When the route penalty falls below the value of the reuse threshold, the route is unsuppressed. If route instability continues to occur, adding penalty points to the route penalty at a greater rate than the penalty can decay, it is possible for a route to stay suppressed until the hold-time timer expires. Once the hold-time timer expires, the route is unsuppressed, regardless of the current route penalty.

Route Flap Dampening Timing presents a default route flap dampening timing example. The route penalty starts at 0 and stays there until the first route flap. At the first route flap, route flap dampening sets the route penalty to 100. It immediately starts to decay based upon the default reachable half-life of 300 seconds. Approximately 20.5 seconds later, a second flap occurs. Route flap dampening adds 100 to the current route penalty of 96. The current route penalty is now greater than the cutoff value. The route is suppressed. No further route flaps occur.

Click to expand in new window
Route Flap Dampening Timing
Graphics/RoutePenaltyTimming.png

The route penalty immediately starts to decay. 300 seconds later the first reachable half-life is reached and the penalty is now 98. Because the route penalty is still greater than the reuse setting, route flap dampening continues to suppress the route. Route flap dampening unsuppresses the route when the route penalty decays to 50, the default reuse setting. Because no further route flaps occur, the route penalty continues to decay until it reaches 0.

The memory limit timers are used by route flap dampening for internal calculations. Half-life timers must be configured to a value less than the corresponding reachable or unreachable memory limit timer.

The flap table flap count or all flap statistics can be cleared. When clearing the flap count on a suppressed route, the route remains suppressed. When clearing all statistics on a suppressed route, the route is unsuppressed, regardless of the current route penalty value.

Use the dampen-flap command, in router configuration mode, to name the flap table and enter route flap dampening configuration mode.

The following example enters route flap dampening configuration mode for flap table flap1.

System(su-config)-> dampen-flap flap1
System(su-config-dampen-flap)->

Use the cutoff command, in route flap dampening configuration mode, to modify the route suppression threshold for this flap table context.

The following example modifies the cutoff threshold from the default value of 125 to 150 for the flap table flap1.

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->cutoff 150
System(su-config-dampen-flap)->

Use the half-life-reach command, in route flap dampening configuration mode, to specify the time in seconds after which a reachable route‘s penalty value decays to half of its current value, assuming no further route instability for this route.

The following example configures the half life reachable value to 250 seconds for the flap1 flap table.

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->half-life-reach 250
System(su-config-dampen-flap)->

Use the half-life-unreach command, in route flap dampening configuration mode, to specify the time in seconds after which an unreachable route‘s penalty value decays to half of its current value, assuming no further route instability for this route.

The following example configures the half life unreachable value to 600 seconds for the flap1 flap table.

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->half-life-unreach 600
System(su-config-dampen-flap)->

Use the hold-time command, in route flap dampening configuration mode, to specify the maximum amount of time, in seconds, a route can be suppressed for this route table context.

The following example configures the hold-time to 1000 seconds for flap table flap1:

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->hold-time 1000

Use the reuse command, in route flap dampening configuration mode, to specify the route penalty threshold under which a suppressed route is reused (unsuppressed).

The following example configures the reuse threshold to the route penalty value of 75 for flap table flap1:

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->reuse 75

Use the memory-limit-reach command, in route flap dampening configuration mode, to specify the maximum time, in seconds, any memory of a previous instability is retained for this route table.

The following example configures the memory limit reachable value to 800 seconds for the flap1 flap table.

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->memory-limit-reach 800
System(su-config-dampen-flap)->

Use the memory-limit-unreach command, in route flap dampening configuration mode, to specify the maximum time, in seconds, any memory of a previous instability is retained for this route table.

The following example configures the memory limit unreachable value to 1600 seconds for the flap1 flap table.

System(su-config)->dampen-flap flap1
System(su-config-dampen-flap)->memory-limit-unreach 1600
System(su-config-dampen-flap)->

See Configuring Flap Dampening for a BGP flap dampening configuration example.