RFC 2439, "BGP Route Flap Damping", November 1998Source of RFC: idr (rtg)
Errata ID: 3964
Publication Format(s) : TEXT
Reported By: Gunjan Bansal
Date Reported: 2014-04-15
Rejected by: Alia Atlas
Date Rejected: 2014-05-07
Section 4.8.2 says:
In either case then: 1. set t-updated = t-now 2. insert into a reuse list (see Section 4.8.6)
It should say:
In either case then: 1. set t-updated = t-now
The route which is unreachable should NOT be inserted into the reuse-list. reuse-list (as per explanation in Section 4.8.7) is used for fast evaluation of routes which have been suppressed long enough and can be potentially used again. The "unreachability/withdrawal" of route is never suppressed and never needs to be re-evaluated in future.
RFC 2439 isn't the easiest to read, but this erratum is not correct. Despite its name, the "reuse list" as described in S. 4.8.7 is used for processing timer-driven events in general, including freeing up damping structures ("histories"). Quoting from S. 4.8.7, "Handling Reuse Timer Events":
all of the routes in the first queue will be
available for immediate reuse if reachable or the history entry could
be disposed of if unreachable.
If you have any doubt that "history" means "damping structure", take a look at S. 4.8.2:
If there is no previous stability history (the damping structure
pointer is zero), then:
Presumably, you're clear on why histories for unreachable routes need to be maintained to begin with.