Re: BGP-4+

Yakov Rekhter <yakov@cisco.com> Sun, 22 December 1996 15:04 UTC

Received: from cnri by ietf.org id aa22146; 22 Dec 96 10:04 EST
Received: from merit.edu by CNRI.Reston.VA.US id aa09085; 22 Dec 96 10:04 EST
Received: (from daemon@localhost) by merit.edu (8.8.4/merit-2.0) id JAA29935 for idr-outgoing; Sun, 22 Dec 1996 09:30:25 -0500 (EST)
Received: from interlock.ans.net (interlock.ans.net [147.225.5.5]) by merit.edu (8.8.4/merit-2.0) with SMTP id JAA29929 for <bgp@merit.edu>; Sun, 22 Dec 1996 09:30:22 -0500 (EST)
Received: by interlock.ans.net id AA28366 (InterLock SMTP Gateway 3.0 for bgp@ans.net); Sun, 22 Dec 1996 09:30:20 -0500
Received: by interlock.ans.net (Internal Mail Agent-1); Sun, 22 Dec 1996 09:30:20 -0500
Message-Id: <199612221429.GAA03193@puli.cisco.com>
To: Dennis Ferguson <dennis@jnx.com>
Cc: 6bone@isi.edu, bgp@ans.net
Subject: Re: BGP-4+
In-Reply-To: Your message of "Fri, 20 Dec 96 21:41:34 PST." <199612210541.VAA21920@skank.jnx.com>
Date: Sun, 22 Dec 96 06:29:18 PST
From: Yakov Rekhter <yakov@cisco.com>
Sender: owner-idr@merit.edu
Precedence: bulk

Dennis,

> This indeed seems like a fine hack to me.  

Thanks !!!

> Apart from the size-of-an-AS
> issue, which I think is orthogonal in any case, 

I agree that the size-of-an-AS issue is orthogonal.

> I have several minor comments:
> 
> (1) Would it be possible to specify explicitly that the MP_REACH_NLRI
>     attribute, when included in the path attributes, must always be inserted
>     at the end after everything else?  The reason is that (at least for the
>     implementation I'm familiar with) it is usually necessary that all
>     path attributes have been collected and internalized before one starts
>     to process the routes having those attributes.  If you can't rely on
>     the MP_REACH_NLRI being last in the list of attributes then you lose
>     the ability to process each message sequentially, instead having to
>     step around collecting the non-NLRI attributes before coming back
>     to process the routes.

That would be fine. We'll incorporate this in the next iteration
of the document.

> (2) It seems to me advantageous that IPv4 and IPv6 routes with the same path
>     attributes are able to be advertised in the same update message, rather
>     than replicating the same set of attributes in two messages.  The current
>     proposal does indeed allow this to happen.  Given that this may have even
>     been designed in rather than happy circumstance, however, I find the

It was intentional - not just "happy circumstance". 

>     `Address Family' field a bit annoying.  There seem to be only two
>     possibilities for its use:
> 
>     (i) BGP-4 never carries routes from an address family other than IPv4
>         and IPv6.  In this case the address family field is a constant in
>         attributes with type codes 0x14 and 0x15, and might just as well
> 	have not been present since 0x14 and 0x15 always imply IPv6.
> 
>     (ii) BGP-4 is used to carry routes from address families in addition
> 	to IPv4 and IPv6.  In this case the address family field is a
> 	variable, but the constraint on a path attribute type appearing
> 	twice in one message now prevents you from listing all routes with
> 	the same attributes in the same message, independent of family.
> 	That is, you get to advertise IPv4 and something in the same message,
> 	but only one something.

Yes, this is an undesirable restriction.

>     Given that the total number of protocol families there are to carry in
>     BGP-4 is relatively small anyway, that type codes are not in short
>     supply and that the `Address Family' seems more a constraint than a
>     generalization, might it not be better to do away with the address
>     family identifier and just use different attribute type codes to
>     identify the x_REACH_NRLI's and x_UNREACH_NLRI's for different
>     protocols?

This is certainly one possibility. Another possibility is to allow
MP_REACH_NLRI and MP_UNREACH_NLRI to carry NLRI for multiple address
families (this would require minor changes to the proposed encoding).

Yakov.