Exponential Port Dampening (EPD) provides the ability to automatically block a port from re-use for a period of time after physical link-down and physical link-up events. If a series of link-down and -up events occur close together, EPD keeps the port’s operational state down for a longer period than if only one down-up event occurred. This keeps the router from using that port if there are external events causing the link state to fluctuate. The more events that occur, the longer the port is kept down and avoided by the routing protocols.
EPD behavior uses a fixed penalty amount per link-down event and a half-life decay equation to reduce these penalties over time. Exponential decay is defined by the following equation:
where:
N(t) is the quantity that still remains after a time t
N0 is the initial quantity
t½ is the half-life
In dampening, N0 refers to the starting penalties from the last link-down event. The quantity N(t) refers to the decayed penalties at a specific time, and is calculated starting from the last link-down event (that is, from the time when N0 last changed).
This equation can also be used on a periodic basis by updating the initial quantity value N0 each period and then computing the new penalty over the period (t).
An example of the use of this feature is shown in Figure 1.
At time (t = 0), the initial condition has the link up, the accumulated penalties are zero, the dampening state is idle, and the port operational state is up. The following series of events and actions occur.
t = 5: link-down event
the accumulated penalties are incremented by 1000
the accumulated penalties now equal 1000, which is less than the suppress threshold (of 1500), so the dampening state is idle
because the dampening state is idle, link-down is passed to the upper layer
link-down triggers the port operational state to down
t = 9: link-up event
the accumulated penalties equal 869, which is less than the suppress threshold, so the dampening state remains as idle
because the dampening state is idle, link-up is passed to the upper layer
link-up triggers the port operational state to up
t = 13: link-down event
the accumulated penalties are incremented by 1000
the accumulated penalties now equal 1755, which is greater than the suppress threshold, so the dampening state is changed to active
because the dampening state just transitioned to active, link-down is passed to the upper layer
link-down triggers the port operational state to down
t = 17: link-up event
the accumulated penalties equal 1527, which is above the reuse threshold (of 1000) and greater than the suppress threshold, so the dampening state remains as active
because the dampening state is active, link-up is not passed to the upper layer
the port operational state remains down
t = 21: link-down event
the accumulated penalties are incremented by 1000
the accumulated penalties now equal 2327, which is above the reuse threshold, so the dampening state remains as active
because the dampening state is active, link-down is not passed to the upper layer
the port operational state remains down
t = 25: link-up event
the accumulated penalties equal 2024, which is above the reuse threshold, so dampening state remains as active
because the dampening state is active, link-up is not passed to the upper layer
the port operational state remains down
t = 46: accumulated penalties drop below the reuse threshold
the accumulated penalties drop below the reuse threshold, so the dampening state changes to idle
because the dampening state is idle and the current link state is up, link-up is passed to the upper layer
the port operational state changes to up
t = 94 to 133: link-down and link-up events every second
similar to previous events, the accumulated penalties increment on every link-down event
the dampening state transitions to active at t = 96, and link state events are not sent to the upper layer after that time
the upper layer keeps the port operational state down after t = 96
the accumulated penalties increment to a maximum of 4000
t = 133: final link event of link-up
the accumulated penalties equal 3863
the dampening state remains active and link state events are not sent to the upper layer
the upper layer keeps the port operational state down
t = 172: accumulated penalties drop below the reuse threshold
the accumulated penalties drop below the reuse threshold, so the dampening state changes to idle
because the dampening state is idle and the current link state is up, link-up is passed to the upper layer
the port operational state changes to up