Exponential Port Dampening

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.

Figure 1. Exponential port dampening example

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.

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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