Subject: RIP garbage-collection

From: Nariyasu Hirata <[email-masked]>
Date: Mon, 05 Jul 1999 15:25:06 +0900

Hi.

Which is the desired action on receiving an advertisement of a route
under garbage-collection?

(a) accept the advertisement and stop the garbage-collection timer.
(b) ignore the advertisement until the garbage-collection timer expires.
(c) accept the advertisement, but re-advertise it with an infinite
metric until the garbage-collection timer expires.

Quote from RFC 2453, section 3.8:
> Should a new route to this network be established while the garbage-
> collection timer is running, the new route will replace the one that
> is about to be deleted.  In this case the garbage-collection timer
> must be cleared.

RFC 2453 seems suggest the first, however, other materials/protocols
suggest the send or the third, since the advertisement can be stale and
harmful in a complex topology.

I also wonder how differ garbage-collection and hold-down.

Thank you.

- Hirata

---

From: Vernon Schryver <[email-masked]>
Date: Mon, 5 Jul 1999 00:49:17 -0600 (MDT)

> From: Nariyasu Hirata <[email-masked]>

> harmful in a complex topology.

No, #1 is the right answer.  The garbage-collection timer is about noticing
that no recent advertisements have been received for a route, and getting
ready to throw the route away.  The garbage timer has nothing to do with
guessing whether some other systems are advertising stale, bogus, or
harmful next-hops.  By definition, a route for which a recent advertisement
has been received is never stale.

Any mechanism that ignores valid advertisement necessarily slows the
convergence of RIP, and can cause permanent oscillations.  Look at the
proof that the distance-vector algorithm converges, and notice it depends
critically on all parties playing by the rules and accepting all
advertisements.  Discard advertisements, and you break RIP.

> I also wonder how differ garbage-collection and hold-down.

Hold-down, not garbage collection, is about guessing that advertised routes
are harmful.  The idea of a hold-down is that a route that is changing 
frequently, and it can be less harmful to change slowly.  Unfortunately,
hold-downs are also a good way to create and extend blackholes and loops.

Note that the hold-downs advocated by the technical support people of some
large router vendors would be completely wrong, if not for implementation
and installation bugs and mistates.  If your RIP installation involves
only systems that do the right things, including not having any long,
manual hold-downs and using flash-updates and poison-reverse correctly
(including the timers on flash-updates), and you don't have any stupid
constant-metric translations in and out of other protocols, you do not
need hold-downs.  In that case, hold-downs only cause "stale and harmful"
advertisements of routes.

Hold-downs are a leading cause of RIP not converging.

Vernon Schryver    [email-masked]