Suggestion for healed partitions.

Robert Woody Woodburn <woody@sparta.com> Fri, 01 May 1992 20:30 UTC

Received: from nri.nri.reston.va.us by ietf.NRI.Reston.VA.US id aa03070; 1 May 92 16:30 EDT
Received: from nri.reston.va.us by NRI.Reston.VA.US id aa09890; 1 May 92 16:35 EDT
Received: from PARK-STREET.BBN.COM by NRI.Reston.VA.US id aa09886; 1 May 92 16:35 EDT
Received: from park-street by PARK-STREET.bbn.COM id aa06811; 1 May 92 16:17 EDT
Received: from BBN.COM by PARK-STREET.BBN.COM id aa06807; 1 May 92 16:15 EDT
Received: from SPARTA.COM by BBN.COM id aa11603; 1 May 92 16:14 EDT
Received: by sparta.com (5.65/1.34) id AA20061; Fri, 1 May 92 16:18:40 -0400
Date: Fri, 1 May 92 16:18:40 -0400
From: Robert Woody Woodburn <woody@sparta.com>
Message-Id: <9205012018.AA20061@sparta.com>
To: idpr-wg@bbn.com
Subject: Suggestion for healed partitions.

Martha, 

If all the PGs in an AD are brought up around the same time,
say during some hardware/software upgrade, it is possible that
several components will exist for a few minutes until everybody
determines reachability.  This will result in a large number
of duplicate updates tagged with different components
throughout the route servers.  Because synthesis uses all
components, this will complicate the computation.  I propose 
a very simple mechanism for removal of extra components as
an AD heals (as alluded to in section 4.1.3, page 44).

For the implementation, a simple hold-down mechanism is probably
not enough, since updates persist for many hours, although a
hold-down of, say CMTP_NEW or so would probably be wise.

When a PG who once was the AD rep determines it is no longer
an AD rep, it should issue config and dynamic messages as follows
after having waited for the hold-down:

Configuration:

	 0               8              16              24            31
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	|             AD CMP            |              SEQ              |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	|             NUM TP            |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

	AD CMP := The old AD component
	SEQ    := 0 /* can't think when it wouldn't be zero */
	NUM TP := 0

Dynamic:
	
	 0               8              16              24            31
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	|             AD CMP            |              SEQ              |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
	|            UNAVL VG           |             NUM PS            |
	+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

	AD CMP   := The old AD component
	SEQ      := 0 /* can't think when it wouldn't be zero */
	UNAVL VG := 0 (although this value probably is a don't care)
	NUM PS   := 0

The appropriate action for a PG receiving such updates would be to
take the usual action of removing the old updates, storing the new ones 
(which would never be used by route synthesis), and flood as usual.

This is extraordinarily easy to implement and serves a useful function.
It also doesn't require a new message type.

Any comments?

wood y