Re: Graceful restart comment
Jeffrey Haas <jhaas@nexthop.com> Tue, 30 April 2002 14:28 UTC
Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA22288 for <idr-archive@ietf.org>; Tue, 30 Apr 2002 10:28:57 -0400 (EDT)
Received: by trapdoor.merit.edu (Postfix) id CC00791236; Tue, 30 Apr 2002 10:28:41 -0400 (EDT)
Delivered-To: idr-outgoing@trapdoor.merit.edu
Received: by trapdoor.merit.edu (Postfix, from userid 56) id 95D1391238; Tue, 30 Apr 2002 10:28:41 -0400 (EDT)
Delivered-To: idr@trapdoor.merit.edu
Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 9BD1991236 for <idr@trapdoor.merit.edu>; Tue, 30 Apr 2002 10:28:40 -0400 (EDT)
Received: by segue.merit.edu (Postfix) id 6E16C5DFDA; Tue, 30 Apr 2002 10:28:40 -0400 (EDT)
Delivered-To: idr@merit.edu
Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id E002E5DFD1 for <idr@merit.edu>; Tue, 30 Apr 2002 10:28:39 -0400 (EDT)
Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3UESSE44462; Tue, 30 Apr 2002 10:28:28 -0400 (EDT) (envelope-from jhaas@nexthop.com)
Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3UESNO44443; Tue, 30 Apr 2002 10:28:23 -0400 (EDT) (envelope-from jhaas@nexthop.com)
Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3UESN802914; Tue, 30 Apr 2002 10:28:23 -0400 (EDT)
Date: Tue, 30 Apr 2002 10:28:23 -0400
From: Jeffrey Haas <jhaas@nexthop.com>
To: Enke Chen <enke@redback.com>
Cc: idr@merit.edu
Subject: Re: Graceful restart comment
Message-ID: <20020430102823.C2745@nexthop.com>
References: <jhaas@nexthop.com> <20020429195659.4509F15D3C1@popserv1.redback.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
In-Reply-To: <20020429195659.4509F15D3C1@popserv1.redback.com>; from enke@redback.com on Mon, Apr 29, 2002 at 12:56:58PM -0700
X-Virus-Scanned: by AMaViS perl-11
Sender: owner-idr@merit.edu
Precedence: bulk
Enke, On Mon, Apr 29, 2002 at 12:56:58PM -0700, Enke Chen wrote: > A NOTIFICATION message has traditionally meant the "non-graceful" > restart, and both the sender and the receiver of the message would > clear the related RIB. I do not think that we should change the > semantics of NOTIFICATION. With all respect, closing the transport connection is far less graceful and the BGP spec barely distinguishes between the two cases. IIRC, the only distinction in the (original) FSM is transitions in the Active state and also version negotiation. Otherwise, a transport connection close in the Established state is indistinguishable from a NOTIFICATION. > -- Enke -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA25936 for <idr-archive@nic.merit.edu>; Tue, 30 Apr 2002 10:29:11 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id CC00791236; Tue, 30 Apr 2002 10:28:41 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 95D1391238; Tue, 30 Apr 2002 10:28:41 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 9BD1991236 for <idr@trapdoor.merit.edu>; Tue, 30 Apr 2002 10:28:40 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 6E16C5DFDA; Tue, 30 Apr 2002 10:28:40 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id E002E5DFD1 for <idr@merit.edu>; Tue, 30 Apr 2002 10:28:39 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3UESSE44462; Tue, 30 Apr 2002 10:28:28 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3UESNO44443; Tue, 30 Apr 2002 10:28:23 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3UESN802914; Tue, 30 Apr 2002 10:28:23 -0400 (EDT) Date: Tue, 30 Apr 2002 10:28:23 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Enke Chen <enke@redback.com> Cc: idr@merit.edu Subject: Re: Graceful restart comment Message-ID: <20020430102823.C2745@nexthop.com> References: <jhaas@nexthop.com> <20020429195659.4509F15D3C1@popserv1.redback.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20020429195659.4509F15D3C1@popserv1.redback.com>; from enke@redback.com on Mon, Apr 29, 2002 at 12:56:58PM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk Enke, On Mon, Apr 29, 2002 at 12:56:58PM -0700, Enke Chen wrote: > A NOTIFICATION message has traditionally meant the "non-graceful" > restart, and both the sender and the receiver of the message would > clear the related RIB. I do not think that we should change the > semantics of NOTIFICATION. With all respect, closing the transport connection is far less graceful and the BGP spec barely distinguishes between the two cases. IIRC, the only distinction in the (original) FSM is transitions in the Active state and also version negotiation. Otherwise, a transport connection close in the Established state is indistinguishable from a NOTIFICATION. > -- Enke -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA25608 for <idr-archive@nic.merit.edu>; Tue, 30 Apr 2002 10:17:46 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 27E0291232; Tue, 30 Apr 2002 10:16:34 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id EE11C91236; Tue, 30 Apr 2002 10:16:33 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id AADC391232 for <idr@trapdoor.merit.edu>; Tue, 30 Apr 2002 10:16:32 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 7E2EB5DFB6; Tue, 30 Apr 2002 10:16:32 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id E325F5DDB3 for <idr@merit.edu>; Tue, 30 Apr 2002 10:16:31 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3UEGKY43714; Tue, 30 Apr 2002 10:16:20 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3UEGHO43706; Tue, 30 Apr 2002 10:16:17 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3UEGH502855; Tue, 30 Apr 2002 10:16:17 -0400 (EDT) Date: Tue, 30 Apr 2002 10:16:17 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Pedro Roque Marques <roque@juniper.net> Cc: idr@merit.edu Subject: Re: Graceful restart comment Message-ID: <20020430101617.B2745@nexthop.com> References: <20020429195659.4509F15D3C1@popserv1.redback.com> <3CCDA914.92FE8548@cisco.com> <20020429162659.F21276@nexthop.com> <200204292058.g3TKw4r95825@roque-bsd.juniper.net> <20020429172231.G21276@nexthop.com> <200204292204.g3TM4f697665@roque-bsd.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204292204.g3TM4f697665@roque-bsd.juniper.net>; from roque@juniper.net on Mon, Apr 29, 2002 at 03:04:41PM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk On Mon, Apr 29, 2002 at 03:04:41PM -0700, Pedro Roque Marques wrote: > There have been several incidents in the past related to information > that was propagated incorrectly and/or crashed the receivers... do you > mind providing a pointer to the specific incident that you want to > refer to... ? also in some of those incidents, the "rumor" explanation > tends to sometimes differ from reality. IDR list, approximately last week of June 2001. Subject of "Re: RFC 3065, confeds.." In this particular case, the rumor was "private as's were killing peering sessions". In reality, confederation AS segments were leaking outside of a confederation boundary due to someone's bug, propagating across the entire Internet, and killing the peering session of some implementations that chose to read the specification as saying "if you're not a confederation peer, I should never see confederation segments from you". > So, if you detect that your peer is sending you semantically incorrect > information shouldn't you discard all information that the peer sent > you ? In some cases, no. The confed case above is one example. Another example would be an ORIGIN of value 4 or higher. > If the peer is leaking you bad attributes of some kind how do you know > which attributes to accept... ? That is the challenge. > The tradeoff here is that while by droping the session one may be > rejecting NLRI that would otherwise have a valid path, by resseting it > one makes sure that you don't accept information that may poison other > valid routes. In pratice i believe that the worse incidents that we > have faced have been the ones related to poison information... thus my > preference to err on the side of reseting the session. I would tend to agree with the exception of the fact that stuff from "far away" that is propagated may kill your session with your peer, just because they chose to propagate it. Discarding bad PDU's blackholes some reachability for you. Killing your peering session blackholes it all. > > RFC 2858, section 6, paragraph 1. :-) > > Which suggests that one 'may' zap the other guy... imho, one should do > it if the routers support capability negociation. If one doesn't support dynamic capabilities, one should probably drop the entire peering session. Otherwise you start discarding routes and you may not know why - exactly the scenario you were worried about. > imho, the best way to keep OAM people happy is to make things fail in > a detectable and most predictable way... having an information msg hit > the logs somewhere while you are propagating bogus information would > be an unfriendly thing to do. The point is that one should discard the reachability that is questionable and not propagate it. > However pesonally i'm very sceptic of the informational message > concept... The big motivator is the ability to tell your peer that they're doing something you don't like without dropping the peering session. > Pedro. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id HAA20437 for <idr-archive@nic.merit.edu>; Tue, 30 Apr 2002 07:17:51 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 3771B91227; Tue, 30 Apr 2002 07:16:03 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id D46AA91228; Tue, 30 Apr 2002 07:16:02 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 6275591227 for <idr@trapdoor.merit.edu>; Tue, 30 Apr 2002 07:16:01 -0400 (EDT) Received: by segue.merit.edu (Postfix) id EC6245DE44; Tue, 30 Apr 2002 07:16:00 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ietf.org (odin.ietf.org [132.151.1.176]) by segue.merit.edu (Postfix) with ESMTP id 517E45DDB7 for <idr@merit.edu>; Tue, 30 Apr 2002 07:15:55 -0400 (EDT) Received: from CNRI.Reston.VA.US (localhost [127.0.0.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA13151; Tue, 30 Apr 2002 07:15:52 -0400 (EDT) Message-Id: <200204301115.HAA13151@ietf.org> Mime-Version: 1.0 Content-Type: Multipart/Mixed; Boundary="NextPart" To: IETF-Announce: ; Cc: idr@merit.edu From: Internet-Drafts@ietf.org Reply-To: Internet-Drafts@ietf.org Subject: I-D ACTION:draft-ietf-idr-aspath-orf-01.txt Date: Tue, 30 Apr 2002 07:15:52 -0400 Sender: owner-idr@merit.edu Precedence: bulk --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Inter-Domain Routing Working Group of the IETF. Title : Aspath Based Outbound Route Filter for BGP-4 Author(s) : K. Patel, S. Hares Filename : draft-ietf-idr-aspath-orf-01.txt Pages : Date : 29-Apr-02 This document defines a new Outbound Router Filter type for BGP, termed 'Aspath Outbound Route Filter', that can be used to perform aspath based route filtering. This ORF-type supports aspath based route filtering as well as regular expression based matching, for address groups. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-idr-aspath-orf-01.txt To remove yourself from the IETF Announcement list, send a message to ietf-announce-request with the word unsubscribe in the body of the message. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-idr-aspath-orf-01.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-idr-aspath-orf-01.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <20020429151404.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-idr-aspath-orf-01.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-idr-aspath-orf-01.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <20020429151404.I-D@ietf.org> --OtherAccess-- --NextPart-- Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id SAA09734 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 18:05:37 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id BCA9591206; Mon, 29 Apr 2002 18:04:59 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 92B6691233; Mon, 29 Apr 2002 18:04:59 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 456A791206 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 18:04:58 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 2C4BE5DE4C; Mon, 29 Apr 2002 18:04:58 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id CAF3F5DDA4 for <idr@merit.edu>; Mon, 29 Apr 2002 18:04:57 -0400 (EDT) Received: from roque-bsd.juniper.net (roque-bsd.juniper.net [172.17.12.183]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3TM4fT11967; Mon, 29 Apr 2002 15:04:41 -0700 (PDT) (envelope-from roque@juniper.net) Received: (from roque@localhost) by roque-bsd.juniper.net (8.11.1/8.9.3) id g3TM4f697665; Mon, 29 Apr 2002 15:04:41 -0700 (PDT) (envelope-from roque) Date: Mon, 29 Apr 2002 15:04:41 -0700 (PDT) Message-Id: <200204292204.g3TM4f697665@roque-bsd.juniper.net> From: Pedro Roque Marques <roque@juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Jeffrey Haas <jhaas@nexthop.com> Cc: Gargi Nalawade <gargi@cisco.com>, Enke Chen <enke@redback.com>, idr@merit.edu Subject: Re: Graceful restart comment In-Reply-To: <20020429172231.G21276@nexthop.com> References: <20020429195659.4509F15D3C1@popserv1.redback.com> <3CCDA914.92FE8548@cisco.com> <20020429162659.F21276@nexthop.com> <200204292058.g3TKw4r95825@roque-bsd.juniper.net> <20020429172231.G21276@nexthop.com> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Sender: owner-idr@merit.edu Precedence: bulk Jeffrey Haas writes: > On Mon, Apr 29, 2002 at 01:58:04PM -0700, Pedro Roque Marques wrote: >> If you have errors in a PDU the best thing to do is to tear down >> the session not to selectivly ignore bits... if you can't trust >> your peer to format updates correctly then you can't trust any of >> the nlri that it has sent you. > Pedro, > Turn your wayback machine to the IDR list when we had the leaking > confederation segments incident killing parts of the Internet. :-) There have been several incidents in the past related to information that was propagated incorrectly and/or crashed the receivers... do you mind providing a pointer to the specific incident that you want to refer to... ? also in some of those incidents, the "rumor" explanation tends to sometimes differ from reality. > The specific circumstances I have in mind are where we have a > well-formed packet, but the information is semantically incorrect, > discard the PDU. So, if you detect that your peer is sending you semantically incorrect information shouldn't you discard all information that the peer sent you ? If the peer is leaking you bad attributes of some kind how do you know which attributes to accept... ? The tradeoff here is that while by droping the session one may be rejecting NLRI that would otherwise have a valid path, by resseting it one makes sure that you don't accept information that may poison other valid routes. In pratice i believe that the worse incidents that we have faced have been the ones related to poison information... thus my preference to err on the side of reseting the session. > Can you think of circumstances where your implementation will drop > an update where it doesn't drop the peering session? Drop ? nope... not that i can't think of. >> I can't think of any scenario where it is reasonable to discard >> packets from the neighbor while maintaining the session up... if >> your neighbor is sending you packets for an NLRI that it hasn't >> negociated, chances are that there is something else wrong with it. > RFC 2858, section 6, paragraph 1. :-) Which suggests that one 'may' zap the other guy... imho, one should do it if the routers support capability negociation. > Mind you, I don't really have a problem with the portion I just > cited, but implementing that without having dynamic capabilities imho, dynamic capabilities introduce much more uncertainty (you can't know for sure what is enabled on the session anymore) than what their worth. At least i wouldn't expect people to be changing their NLRI often enought that this feature will actually be worthwhile vs the introduced complexity... i.e. imho it fails the KISS criteria. > nor > some sort of informational pushback is asking for your OAM people to > put your head on a plate. :-) imho, the best way to keep OAM people happy is to make things fail in a detectable and most predictable way... having an information msg hit the logs somewhere while you are propagating bogus information would be an unfriendly thing to do. There are no guarantees that indeed the draconian scenario that i'm suggesting will happen... However pesonally i'm very sceptic of the informational message concept... Pedro. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA08899 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 17:23:11 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 2780C91232; Mon, 29 Apr 2002 17:22:47 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id EDB1B91233; Mon, 29 Apr 2002 17:22:46 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id DF44C91232 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 17:22:45 -0400 (EDT) Received: by segue.merit.edu (Postfix) id B209D5DED4; Mon, 29 Apr 2002 17:22:45 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 5A95C5DDAD for <idr@merit.edu>; Mon, 29 Apr 2002 17:22:45 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TLMYh13885; Mon, 29 Apr 2002 17:22:34 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TLMVO13878; Mon, 29 Apr 2002 17:22:31 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TLMVw00585; Mon, 29 Apr 2002 17:22:31 -0400 (EDT) Date: Mon, 29 Apr 2002 17:22:31 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Pedro Roque Marques <roque@juniper.net> Cc: Gargi Nalawade <gargi@cisco.com>, Enke Chen <enke@redback.com>, idr@merit.edu Subject: Re: Graceful restart comment Message-ID: <20020429172231.G21276@nexthop.com> References: <20020429195659.4509F15D3C1@popserv1.redback.com> <3CCDA914.92FE8548@cisco.com> <20020429162659.F21276@nexthop.com> <200204292058.g3TKw4r95825@roque-bsd.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204292058.g3TKw4r95825@roque-bsd.juniper.net>; from roque@juniper.net on Mon, Apr 29, 2002 at 01:58:04PM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk On Mon, Apr 29, 2002 at 01:58:04PM -0700, Pedro Roque Marques wrote: > If you have errors in a PDU the best thing to do is to tear down the > session not to selectivly ignore bits... if you can't trust your peer > to format updates correctly then you can't trust any of the nlri that > it has sent you. Pedro, Turn your wayback machine to the IDR list when we had the leaking confederation segments incident killing parts of the Internet. :-) The specific circumstances I have in mind are where we have a well-formed packet, but the information is semantically incorrect, discard the PDU. > Accepting bad routing information is usually much harder to debug than > not accepting information... Hence the reason for telling your peer that you're doing this. Can you think of circumstances where your implementation will drop an update where it doesn't drop the peering session? > I can't think of any scenario where it is reasonable to discard > packets from the neighbor while maintaining the session up... if your > neighbor is sending you packets for an NLRI that it hasn't negociated, > chances are that there is something else wrong with it. RFC 2858, section 6, paragraph 1. :-) Mind you, I don't really have a problem with the portion I just cited, but implementing that without having dynamic capabilities nor some sort of informational pushback is asking for your OAM people to put your head on a plate. :-) > Pedro. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA08594 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 17:08:22 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 0E30391231; Mon, 29 Apr 2002 17:07:54 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id CC42891232; Mon, 29 Apr 2002 17:07:53 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8919891231 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 17:07:52 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 764C85DEEF; Mon, 29 Apr 2002 17:07:52 -0400 (EDT) Delivered-To: idr@merit.edu Received: from hotmail.com (f66.law4.hotmail.com [216.33.149.66]) by segue.merit.edu (Postfix) with ESMTP id 1E72E5DEE2 for <idr@merit.edu>; Mon, 29 Apr 2002 17:07:52 -0400 (EDT) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Mon, 29 Apr 2002 14:07:51 -0700 Received: from 65.194.140.2 by lw4fd.law4.hotmail.msn.com with HTTP; Mon, 29 Apr 2002 21:07:51 GMT X-Originating-IP: [65.194.140.2] From: "Bruno Rijsman" <bwarijsman@hotmail.com> To: idr@merit.edu Subject: Re: Graceful restart comment Date: Mon, 29 Apr 2002 17:07:51 -0400 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: <F6671GmFs40SIqAbUaM0000348e@hotmail.com> X-OriginalArrivalTime: 29 Apr 2002 21:07:51.0486 (UTC) FILETIME=[EC4695E0:01C1EFC1] Sender: owner-idr@merit.edu Precedence: bulk Pedro> if your neighbor is sending you packets for an NLRI that Pedro> it hasn't negociated, chances are that there is something Pedro> else wrong with it. However, keep in mind that if dynamic capability negotiation is used you must be prepared to receive (and ignore) an UPDATE for an address-family which you withdrew recently. This scenario can occur if a CAPABILITY message withdrawing the Multi-Protocol capability for an address-family and an UPDATE message for that same address family cross each other. (I still agree with the more general point Pedro was making in his e-mail: don't trust a peer which is advertising bogus information to you). _________________________________________________________________ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id QAA08410 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 16:59:00 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 51F1691230; Mon, 29 Apr 2002 16:58:22 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 13A4991231; Mon, 29 Apr 2002 16:58:21 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id D0DD991230 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 16:58:20 -0400 (EDT) Received: by segue.merit.edu (Postfix) id ABBA25DEE5; Mon, 29 Apr 2002 16:58:20 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 5405B5DEE2 for <idr@merit.edu>; Mon, 29 Apr 2002 16:58:20 -0400 (EDT) Received: from roque-bsd.juniper.net (roque-bsd.juniper.net [172.17.12.183]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3TKw4T07099; Mon, 29 Apr 2002 13:58:04 -0700 (PDT) (envelope-from roque@juniper.net) Received: (from roque@localhost) by roque-bsd.juniper.net (8.11.1/8.9.3) id g3TKw4r95825; Mon, 29 Apr 2002 13:58:04 -0700 (PDT) (envelope-from roque) Date: Mon, 29 Apr 2002 13:58:04 -0700 (PDT) Message-Id: <200204292058.g3TKw4r95825@roque-bsd.juniper.net> From: Pedro Roque Marques <roque@juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Jeffrey Haas <jhaas@nexthop.com> Cc: Gargi Nalawade <gargi@cisco.com>, Enke Chen <enke@redback.com>, idr@merit.edu Subject: Re: Graceful restart comment In-Reply-To: <20020429162659.F21276@nexthop.com> References: <20020429195659.4509F15D3C1@popserv1.redback.com> <3CCDA914.92FE8548@cisco.com> <20020429162659.F21276@nexthop.com> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Sender: owner-idr@merit.edu Precedence: bulk Jeffrey Haas writes: > On Mon, Apr 29, 2002 at 01:12:04PM -0700, Gargi Nalawade wrote: >> I agree. The semantics of the NOTIFICATION message shouldnt be >> changed. We seem to need a new message type, say an INFORMATIONAL >> message that sends out information (notifies actually) to the peer, >> but doesnt necessarily cause a session reset. > Other things this would be useful for is when packets are discarded > by an implementation where it is unnecessary to actually tear down > the peering session. A good example is when a peer sends you an > MP_REACH_NLRI that you don't support, or you're going to start > ignoring a given AFI/SAFI because of errors in the PDU, but are > going to leave the peering session up. Jeff, If you have errors in a PDU the best thing to do is to tear down the session not to selectivly ignore bits... if you can't trust your peer to format updates correctly then you can't trust any of the nlri that it has sent you. Accepting bad routing information is usually much harder to debug than not accepting information... I can't think of any scenario where it is reasonable to discard packets from the neighbor while maintaining the session up... if your neighbor is sending you packets for an NLRI that it hasn't negociated, chances are that there is something else wrong with it. The "be liberal in what you accept" principle is a very good idea when we are talking about encoding formats but personally i don't think it applies when your peer demonstrates that it's internal state is fubar. Pedro. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id QAA08158 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 16:48:45 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 37AE09122F; Mon, 29 Apr 2002 16:48:29 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 09A3591230; Mon, 29 Apr 2002 16:48:28 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 0D9099122F for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 16:48:28 -0400 (EDT) Received: by segue.merit.edu (Postfix) id D99705DEE1; Mon, 29 Apr 2002 16:48:27 -0400 (EDT) Delivered-To: idr@merit.edu Received: from sj-msg-core-1.cisco.com (sj-msg-core-1.cisco.com [171.71.163.11]) by segue.merit.edu (Postfix) with ESMTP id 8EB3B5DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 16:48:27 -0400 (EDT) Received: from gargi-u5.cisco.com (gargi-u5.cisco.com [128.107.162.118]) by sj-msg-core-1.cisco.com (8.12.2/8.12.2) with ESMTP id g3TKmQTZ008702; Mon, 29 Apr 2002 13:48:26 -0700 (PDT) Received: from cisco.com (localhost [127.0.0.1]) by gargi-u5.cisco.com (8.8.8-Cisco List Logging/CISCO.WS.1.2) with ESMTP id NAA27135; Mon, 29 Apr 2002 13:48:26 -0700 (PDT) Message-ID: <3CCDB199.D712A59B@cisco.com> Date: Mon, 29 Apr 2002 13:48:25 -0700 From: Gargi Nalawade <gargi@cisco.com> X-Mailer: Mozilla 4.75 [en] (X11; U; SunOS 5.6 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: "Natale, Jonathan" <JNatale@celoxnetworks.com> Cc: "'Jeffrey Haas'" <jhaas@nexthop.com>, Enke Chen <enke@redback.com>, idr@merit.edu Subject: Re: Graceful restart comment References: <1117F7D44159934FB116E36F4ABF221B01B140BF@celox-ma1-ems1.celoxnetworks.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-idr@merit.edu Precedence: bulk "Natale, Jonathan" wrote: > > Please excuse my ignorance, but is there an INFORMATIONAL msg type? Type 6? No there isnt one yet. But work in progress on introducing that. > I though all notifications kill the session? yes they do. And hence the need for the above, so a peer can be *notified*, oops lets call it *informed*, without the session being reset. -Gargi > > -----Original Message----- > From: Jeffrey Haas [mailto:jhaas@nexthop.com] > Sent: Monday, April 29, 2002 4:27 PM > To: Gargi Nalawade > Cc: Enke Chen; idr@merit.edu > Subject: Re: Graceful restart comment > > On Mon, Apr 29, 2002 at 01:12:04PM -0700, Gargi Nalawade wrote: > > I agree. The semantics of the NOTIFICATION message shouldnt be changed. > > We seem to need a new message type, say an INFORMATIONAL message that > > sends out information (notifies actually) to the peer, but doesnt > > necessarily cause a session reset. > > Other things this would be useful for is when packets are discarded > by an implementation where it is unnecessary to actually tear > down the peering session. A good example is when a peer sends > you an MP_REACH_NLRI that you don't support, or you're going to > start ignoring a given AFI/SAFI because of errors in the PDU, but > are going to leave the peering session up. > > > -Gargi > > -- > Jeff Haas > NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id QAA07560 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 16:28:13 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 160BE9122C; Mon, 29 Apr 2002 16:27:50 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id D816A9122F; Mon, 29 Apr 2002 16:27:49 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id C7B909122C for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 16:27:48 -0400 (EDT) Received: by segue.merit.edu (Postfix) id AB7555DED8; Mon, 29 Apr 2002 16:27:48 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 24FE35DE90 for <idr@merit.edu>; Mon, 29 Apr 2002 16:27:48 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TKR3O11293; Mon, 29 Apr 2002 16:27:03 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TKR0O11283; Mon, 29 Apr 2002 16:27:00 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TKR0H22628; Mon, 29 Apr 2002 16:27:00 -0400 (EDT) Date: Mon, 29 Apr 2002 16:26:59 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Gargi Nalawade <gargi@cisco.com> Cc: Enke Chen <enke@redback.com>, idr@merit.edu Subject: Re: Graceful restart comment Message-ID: <20020429162659.F21276@nexthop.com> References: <20020429195659.4509F15D3C1@popserv1.redback.com> <3CCDA914.92FE8548@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3CCDA914.92FE8548@cisco.com>; from gargi@cisco.com on Mon, Apr 29, 2002 at 01:12:04PM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk On Mon, Apr 29, 2002 at 01:12:04PM -0700, Gargi Nalawade wrote: > I agree. The semantics of the NOTIFICATION message shouldnt be changed. > We seem to need a new message type, say an INFORMATIONAL message that > sends out information (notifies actually) to the peer, but doesnt > necessarily cause a session reset. Other things this would be useful for is when packets are discarded by an implementation where it is unnecessary to actually tear down the peering session. A good example is when a peer sends you an MP_REACH_NLRI that you don't support, or you're going to start ignoring a given AFI/SAFI because of errors in the PDU, but are going to leave the peering session up. > -Gargi -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id QAA07178 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 16:12:38 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 439C191227; Mon, 29 Apr 2002 16:12:07 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 19A8E9122C; Mon, 29 Apr 2002 16:12:07 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 2197D91227 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 16:12:06 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 065495DED8; Mon, 29 Apr 2002 16:12:06 -0400 (EDT) Delivered-To: idr@merit.edu Received: from sj-msg-core-2.cisco.com (sj-msg-core-2.cisco.com [171.69.24.11]) by segue.merit.edu (Postfix) with ESMTP id 7FA6A5DEB7 for <idr@merit.edu>; Mon, 29 Apr 2002 16:12:05 -0400 (EDT) Received: from gargi-u5.cisco.com (gargi-u5.cisco.com [128.107.162.118]) by sj-msg-core-2.cisco.com (8.12.2/8.12.2) with ESMTP id g3TKC4p6024265; Mon, 29 Apr 2002 13:12:05 -0700 (PDT) Received: from cisco.com (localhost [127.0.0.1]) by gargi-u5.cisco.com (8.8.8-Cisco List Logging/CISCO.WS.1.2) with ESMTP id NAA27096; Mon, 29 Apr 2002 13:12:04 -0700 (PDT) Message-ID: <3CCDA914.92FE8548@cisco.com> Date: Mon, 29 Apr 2002 13:12:04 -0700 From: Gargi Nalawade <gargi@cisco.com> X-Mailer: Mozilla 4.75 [en] (X11; U; SunOS 5.6 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: Enke Chen <enke@redback.com> Cc: Jeffrey Haas <jhaas@nexthop.com>, idr@merit.edu Subject: Re: Graceful restart comment References: <20020429195659.4509F15D3C1@popserv1.redback.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-idr@merit.edu Precedence: bulk I agree. The semantics of the NOTIFICATION message shouldnt be changed. We seem to need a new message type, say an INFORMATIONAL message that sends out information (notifies actually) to the peer, but doesnt necessarily cause a session reset. -Gargi Enke Chen wrote: > > Hi, Jeffrey: > > > Date: Mon, 29 Apr 2002 12:00:08 -0400 > > From: Jeffrey Haas <jhaas@nexthop.com> > > To: idr@merit.edu > > Subject: Graceful restart comment > > Message-ID: <20020429120008.A21737@nexthop.com> > > > > One of the cirumstances that a graceful restart would be useful is > > for a software upgrade where the box is really "gracefully" going down. > > However, the graceful restart specification requires a TCP reset > > to signal that the peer is going down and graceful restart is to > > be applied. > > > > Wouldn't it be cleaner if a NOTIFICATION with a particular subcode > > is used for the case where the speaker is intentionally requesting > > a graceful restart? > > A NOTIFICATION message has traditionally meant the "non-graceful" > restart, and both the sender and the receiver of the message would > clear the related RIB. I do not think that we should change the > semantics of NOTIFICATION. > > --------------------- > 6. BGP Error Handling > > When any of the conditions described here are detected, a > NOTIFICATION message with the indicated Error Code, Error Subcode, > and Data fields is sent, and the BGP connection is closed. If no > Error Subcode is specified, then a zero must be used. > > The phrase "the BGP connection is closed" means that the transport > protocol connection has been closed, the associated Adj-RIB-In has > been cleared, and that all resources for that BGP connection have > been deallocated. Entries in the Loc-RIB associated with the remote > peer are marked as invalid. The fact that the routes have become > invalid is passed to other BGP peers before the routes are deleted > from the system. > --------------------- > > -- Enke Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id PAA06738 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 15:57:57 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id EBD889122A; Mon, 29 Apr 2002 15:57:30 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id B7C679122C; Mon, 29 Apr 2002 15:57:29 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 60CEE9122A for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 15:57:27 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 5378E5DED7; Mon, 29 Apr 2002 15:57:27 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id C6C625DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 15:57:26 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TJvON09445; Mon, 29 Apr 2002 15:57:24 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TJvIO09425; Mon, 29 Apr 2002 15:57:18 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TJvIB16388; Mon, 29 Apr 2002 15:57:18 -0400 (EDT) Date: Mon, 29 Apr 2002 15:57:18 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Yakov Rekhter <yakov@juniper.net> Cc: idr@merit.edu Subject: Re: cooperative route filtering questions and comments Message-ID: <20020429155718.E21276@nexthop.com> References: <20020429130529.A3341@nexthop.com> <200204291949.g3TJnYT02348@merlot.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204291949.g3TJnYT02348@merlot.juniper.net>; from yakov@juniper.net on Mon, Apr 29, 2002 at 12:49:34PM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk Yakov, Thanks for all of the clarifications. Looking forward to seeing the next revision. On Mon, Apr 29, 2002 at 12:49:34PM -0700, Yakov Rekhter wrote: [...] -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id PAA06732 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 15:57:26 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 6FF7591228; Mon, 29 Apr 2002 15:57:02 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 45FCA9122A; Mon, 29 Apr 2002 15:57:02 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 47E2F91228 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 15:57:01 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 2CFB05DED7; Mon, 29 Apr 2002 15:57:01 -0400 (EDT) Delivered-To: idr@merit.edu Received: from prattle.redback.com (prattle.redback.com [155.53.12.9]) by segue.merit.edu (Postfix) with ESMTP id E1FBB5DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 15:57:00 -0400 (EDT) Received: from popserv1.redback.com (popserv1.redback.com [155.53.12.56]) by prattle.redback.com (Postfix) with ESMTP id 383F0F2C52; Mon, 29 Apr 2002 12:57:00 -0700 (PDT) Received: from redback.com (fall.redback.com [155.53.36.220]) by popserv1.redback.com (Postfix) with ESMTP id 4509F15D3C1; Mon, 29 Apr 2002 12:56:59 -0700 (PDT) To: Jeffrey Haas <jhaas@nexthop.com> Cc: idr@merit.edu, enke@redback.com Subject: Re: Graceful restart comment In-Reply-To: Message from Jeffrey Haas <jhaas@nexthop.com> of "Mon, 29 Apr 2002 12:00:08 EDT." <20020429120008.A21737@nexthop.com> Date: Mon, 29 Apr 2002 12:56:58 -0700 From: Enke Chen <enke@redback.com> Message-Id: <20020429195659.4509F15D3C1@popserv1.redback.com> Sender: owner-idr@merit.edu Precedence: bulk Hi, Jeffrey: > Date: Mon, 29 Apr 2002 12:00:08 -0400 > From: Jeffrey Haas <jhaas@nexthop.com> > To: idr@merit.edu > Subject: Graceful restart comment > Message-ID: <20020429120008.A21737@nexthop.com> > > One of the cirumstances that a graceful restart would be useful is > for a software upgrade where the box is really "gracefully" going down. > However, the graceful restart specification requires a TCP reset > to signal that the peer is going down and graceful restart is to > be applied. > > Wouldn't it be cleaner if a NOTIFICATION with a particular subcode > is used for the case where the speaker is intentionally requesting > a graceful restart? A NOTIFICATION message has traditionally meant the "non-graceful" restart, and both the sender and the receiver of the message would clear the related RIB. I do not think that we should change the semantics of NOTIFICATION. --------------------- 6. BGP Error Handling When any of the conditions described here are detected, a NOTIFICATION message with the indicated Error Code, Error Subcode, and Data fields is sent, and the BGP connection is closed. If no Error Subcode is specified, then a zero must be used. The phrase "the BGP connection is closed" means that the transport protocol connection has been closed, the associated Adj-RIB-In has been cleared, and that all resources for that BGP connection have been deallocated. Entries in the Loc-RIB associated with the remote peer are marked as invalid. The fact that the routes have become invalid is passed to other BGP peers before the routes are deleted from the system. --------------------- -- Enke Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id PAA06444 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 15:50:18 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 1BD8191203; Mon, 29 Apr 2002 15:49:38 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id E600E91228; Mon, 29 Apr 2002 15:49:37 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id C15CA91203 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 15:49:36 -0400 (EDT) Received: by segue.merit.edu (Postfix) id A42E25DE82; Mon, 29 Apr 2002 15:49:36 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 177DE5DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 15:49:36 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3TJnYT02348; Mon, 29 Apr 2002 12:49:34 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204291949.g3TJnYT02348@merlot.juniper.net> To: Jeffrey Haas <jhaas@nexthop.com> Cc: idr@merit.edu Subject: Re: cooperative route filtering questions and comments In-Reply-To: Your message of "Mon, 29 Apr 2002 13:05:29 EDT." <20020429130529.A3341@nexthop.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <15651.1020109774.1@juniper.net> Date: Mon, 29 Apr 2002 12:49:34 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Jeff, > I'm reviewing the ORF documents and several questions have occured to me: > > When you receive a given ORF, the action type may be ADD, REMOVE or > REMOVE-ALL. However, it is unstated whether or not an ADD is also > an implicit replace. Consider the following: in the context of community-based ORFs ADD is also an implicit replace. > The BGP Speaker receives an ADD with a match of PERMIT for a community > ORF of community set C1 and then it later (but not necesarily immediately) > followed by another ADD of PERMIT for the same C1 without an intervening > REMOVE, are there now two C1's in the ORF list? Just C1. > Similarly, if one receives an ADD with a match of PERMIT for C1 and > then receives an ADD with a many of DENY for C1, the behavior should > be to PERMIT for C1, correct? > > However, if the behavior of ADD is to replace or ignore, then > the second ADD of C1 as a DENY may result in either the PERMIT > (sent first) to be replaced or the later DENY (sent second) to be ignored. The result is DENY for C1. > Thanks to the communities specification being ambiguous, we also have > the issue of ordering and duplicate communities within a given ORF. > If one receives an ADD for a community set C1 and then a REMOVE > for C2 where the elements of C1 and C2 are the same but in a > different order, should the REMOVE still take place or should C2 > fail to match unless C2 was explicitly sent? The REMOVE still takes place (as C1 and C2 are sets, and the order of elements within a set doesn't matter). > I believe that this implies that the receiving BGP Speaker must > store the exact ORF received for purposes of ORF list manipulation > regardless of internal implementation. > > The current ORF specification has room for a BGP Speaker to advertise > both the cooperative route filtering capability and route refresh > at the same time. Since ORFs overload the RouteRefresh message > type, this now means that a receiving speaker must now determine > if the message is an ORF message or a plain RouteRefresh message > from the length of the message. A sentence in the specification > that spells this out would be nice. we'll add this to the next revision of the text. > When one specifies REMOVE-ALL, this Action is encoded in the > ORF along with a Match bit. This seems to imply (currently) > that one can do a REMOVE-ALL on all PERMITs and a REMOVE-ALL > on DENYs separately. I suspect that REMOVE-ALL was intended > to reflect removing all ORFs of a particular type. As such, > it should be noted as ignoring the Match bit when being processed. ditto. > Would this also apply to an explicit REMOVE? I.e., if ADD is > not an replace operation, does a Speaker need to look for > the Match bit when processing REMOVEs? in the context of community-based ORFs ADD is a replace operation. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id NAA01671 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 13:05:59 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 1865C91226; Mon, 29 Apr 2002 13:05:39 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id DA71691227; Mon, 29 Apr 2002 13:05:38 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id D84F591226 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 13:05:37 -0400 (EDT) Received: by segue.merit.edu (Postfix) id C86975DEAE; Mon, 29 Apr 2002 13:05:37 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 3E8D25DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 13:05:37 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TH5Xe01832 for idr@merit.edu; Mon, 29 Apr 2002 13:05:33 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TH5UO01825 for <idr@merit.edu>; Mon, 29 Apr 2002 13:05:30 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TH5Tm10894 for idr@merit.edu; Mon, 29 Apr 2002 13:05:29 -0400 (EDT) Date: Mon, 29 Apr 2002 13:05:29 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: idr@merit.edu Subject: cooperative route filtering questions and comments Message-ID: <20020429130529.A3341@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk I'm reviewing the ORF documents and several questions have occured to me: When you receive a given ORF, the action type may be ADD, REMOVE or REMOVE-ALL. However, it is unstated whether or not an ADD is also an implicit replace. Consider the following: The BGP Speaker receives an ADD with a match of PERMIT for a community ORF of community set C1 and then it later (but not necesarily immediately) followed by another ADD of PERMIT for the same C1 without an intervening REMOVE, are there now two C1's in the ORF list? Similarly, if one receives an ADD with a match of PERMIT for C1 and then receives an ADD with a many of DENY for C1, the behavior should be to PERMIT for C1, correct? However, if the behavior of ADD is to replace or ignore, then the second ADD of C1 as a DENY may result in either the PERMIT (sent first) to be replaced or the later DENY (sent second) to be ignored. Thanks to the communities specification being ambiguous, we also have the issue of ordering and duplicate communities within a given ORF. If one receives an ADD for a community set C1 and then a REMOVE for C2 where the elements of C1 and C2 are the same but in a different order, should the REMOVE still take place or should C2 fail to match unless C2 was explicitly sent? I believe that this implies that the receiving BGP Speaker must store the exact ORF received for purposes of ORF list manipulation regardless of internal implementation. The current ORF specification has room for a BGP Speaker to advertise both the cooperative route filtering capability and route refresh at the same time. Since ORFs overload the RouteRefresh message type, this now means that a receiving speaker must now determine if the message is an ORF message or a plain RouteRefresh message from the length of the message. A sentence in the specification that spells this out would be nice. When one specifies REMOVE-ALL, this Action is encoded in the ORF along with a Match bit. This seems to imply (currently) that one can do a REMOVE-ALL on all PERMITs and a REMOVE-ALL on DENYs separately. I suspect that REMOVE-ALL was intended to reflect removing all ORFs of a particular type. As such, it should be noted as ignoring the Match bit when being processed. Would this also apply to an explicit REMOVE? I.e., if ADD is not an replace operation, does a Speaker need to look for the Match bit when processing REMOVEs? -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA01546 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 12:59:38 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id BEBE691222; Mon, 29 Apr 2002 12:59:00 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 8EBE491226; Mon, 29 Apr 2002 12:59:00 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8A96D91222 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 12:58:59 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 6B5BF5DEB7; Mon, 29 Apr 2002 12:58:59 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id DB8C75DEAE for <idr@merit.edu>; Mon, 29 Apr 2002 12:58:58 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TGwvg01461; Mon, 29 Apr 2002 12:58:57 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TGwsO01454; Mon, 29 Apr 2002 12:58:54 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TGwss18700; Mon, 29 Apr 2002 12:58:54 -0400 (EDT) Date: Mon, 29 Apr 2002 12:58:53 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Yakov Rekhter <yakov@juniper.net> Cc: idr@merit.edu Subject: Re: Graceful restart comment Message-ID: <20020429125853.B21276@nexthop.com> References: <20020429120008.A21737@nexthop.com> <200204291655.g3TGt2T89840@merlot.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204291655.g3TGt2T89840@merlot.juniper.net>; from yakov@juniper.net on Mon, Apr 29, 2002 at 09:55:02AM -0700 X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk On Mon, Apr 29, 2002 at 09:55:02AM -0700, Yakov Rekhter wrote: > The scenario you described above could be handled *without* a > NOTIFICATION with a particular subcode. With this in mind, what > are the *practical* benefits that a NOTIFICATION with a particular > subcode is going to bring ? Strictly an operational benefit. It would be nice for an operator to know that the other side restarted because a human did it rather than the box was crashing. > Yakov. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA01463 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 12:55:49 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 6158391221; Mon, 29 Apr 2002 12:55:11 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 397D791222; Mon, 29 Apr 2002 12:55:11 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 0EBD991221 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 12:55:10 -0400 (EDT) Received: by segue.merit.edu (Postfix) id EE9DD5DE96; Mon, 29 Apr 2002 12:55:09 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 62A555DE4C for <idr@merit.edu>; Mon, 29 Apr 2002 12:55:09 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3TGt2T89840; Mon, 29 Apr 2002 09:55:02 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204291655.g3TGt2T89840@merlot.juniper.net> To: Jeffrey Haas <jhaas@nexthop.com> Cc: idr@merit.edu Subject: Re: Graceful restart comment In-Reply-To: Your message of "Mon, 29 Apr 2002 12:00:08 EDT." <20020429120008.A21737@nexthop.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <39757.1020099302.1@juniper.net> Date: Mon, 29 Apr 2002 09:55:02 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Jeff, > One of the cirumstances that a graceful restart would be useful is > for a software upgrade where the box is really "gracefully" going down. > However, the graceful restart specification requires a TCP reset > to signal that the peer is going down and graceful restart is to > be applied. > > Wouldn't it be cleaner if a NOTIFICATION with a particular subcode > is used for the case where the speaker is intentionally requesting > a graceful restart? The scenario you described above could be handled *without* a NOTIFICATION with a particular subcode. With this in mind, what are the *practical* benefits that a NOTIFICATION with a particular subcode is going to bring ? Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA00162 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 12:02:42 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 551179120C; Mon, 29 Apr 2002 12:00:16 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 290EE91218; Mon, 29 Apr 2002 12:00:16 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 90B879120C for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 12:00:14 -0400 (EDT) Received: by segue.merit.edu (Postfix) id AB0375DE96; Mon, 29 Apr 2002 12:00:13 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id D12FA5DE8B for <idr@merit.edu>; Mon, 29 Apr 2002 12:00:12 -0400 (EDT) Received: (from root@localhost) by presque.djinesys.com (8.11.3/8.11.1) id g3TG0Cb98654 for idr@merit.edu; Mon, 29 Apr 2002 12:00:12 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3TG08O98646 for <idr@merit.edu>; Mon, 29 Apr 2002 12:00:08 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3TG08u25879 for idr@merit.edu; Mon, 29 Apr 2002 12:00:08 -0400 (EDT) Date: Mon, 29 Apr 2002 12:00:08 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: idr@merit.edu Subject: Graceful restart comment Message-ID: <20020429120008.A21737@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Virus-Scanned: by AMaViS perl-11 Sender: owner-idr@merit.edu Precedence: bulk One of the cirumstances that a graceful restart would be useful is for a software upgrade where the box is really "gracefully" going down. However, the graceful restart specification requires a TCP reset to signal that the peer is going down and graceful restart is to be applied. Wouldn't it be cleaner if a NOTIFICATION with a particular subcode is used for the case where the speaker is intentionally requesting a graceful restart? -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA27229 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 10:21:47 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 0962591201; Mon, 29 Apr 2002 10:21:05 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id C75F891208; Mon, 29 Apr 2002 10:21:04 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id D16BF91201 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 10:21:03 -0400 (EDT) Received: by segue.merit.edu (Postfix) id BC0C45DE7C; Mon, 29 Apr 2002 10:21:03 -0400 (EDT) Delivered-To: idr@merit.edu Received: from tcb.net (unknown [205.168.100.1]) by segue.merit.edu (Postfix) with ESMTP id 2A21D5DE58 for <idr@merit.edu>; Mon, 29 Apr 2002 10:21:03 -0400 (EDT) Received: from dog.tcb.net (danny@localhost) by tcb.net (8.11.6/8.11.4) with ESMTP id g3TEKa623952 for <idr@merit.edu>; Mon, 29 Apr 2002 08:20:36 -0600 Message-Id: <200204291420.g3TEKa623952@tcb.net> X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 To: "'idr@merit.edu'" <idr@merit.edu> From: Danny McPherson <danny@tcb.net> Reply-To: danny@tcb.net Subject: Re: FW: BGP Route Reflection Question Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 29 Apr 2002 08:20:36 -0600 Sender: owner-idr@merit.edu Precedence: bulk > If the configutration is valid and if some of the points you make > about reflection and acceptance of routes by RR2 are taken into > consideration, then how will RRC3 recieve the routes generated by > RRC1. > Going by your algorithm > 1)RRC1 advertises its routes to RR1 > 2) RR1 attaches its CLUSTER_ID and reflects the route to client and > non-client peers. > 3) Since RR2 is in the same clutser (thus has the same CLUSTER_ID as > RR1) RR2 drops the message. > 4) Since RRC3 has peering only with RR2, RRC3 does not get the > route. > > This is not the desired behaviour as we would want both RR2 and > RRC3 to know about RRC1s routes. I'd call this a broken design. RRC3 would either need to be a client of RR1 or there needs to be peering between clients within the cluster. > If configured with the same CLUSTER_ID, no. If configured > with a different CLUSTER_ID, yes. > > VIK>> > 1)If RR1 has peering with an EBGP peer X. > 2) RR1 receives a route from X. RR1 reflects the > route to it's client and non-client peers. Before > advertising, RR1 adds its CLUSTER_ID. Nope. The route reflection attributes are ONLY added to "reflected routes". EBGP learned and locally-sourced routes wouldn't be considered "reflected routes". > 3) RR2 receives the advertisement and drops it > because of the presence of its CLUSTER_ID. > 4) RRC3 does not get the route because RR2 did not get it. Nope, see above. -danny Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id JAA25684 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 09:36:31 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id A3ED49120C; Mon, 29 Apr 2002 09:35:50 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 73D589120E; Mon, 29 Apr 2002 09:35:50 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 38E7D9120C for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 09:35:49 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 276AA5DE73; Mon, 29 Apr 2002 09:35:49 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 9141B5DE58 for <idr@merit.edu>; Mon, 29 Apr 2002 09:35:48 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3TDZmT81797 for <idr@merit.edu>; Mon, 29 Apr 2002 06:35:48 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204291335.g3TDZmT81797@merlot.juniper.net> To: idr@merit.edu Subject: 2858bis-02 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <80059.1020087348.1@juniper.net> Date: Mon, 29 Apr 2002 06:35:48 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Folks, The revised text adds "Obsoletes RFC2858" and also adds "This document removes the definition of SAFI = 3." to Section 12. Yakov. ------- Forwarded Message Date: Mon, 29 Apr 2002 07:53:06 -0400 From: Internet-Drafts@ietf.org To: IETF-Announce: ; cc: idr@merit.edu Subject: I-D ACTION:draft-ietf-idr-rfc2858bis-02.txt - --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Inter-Domain Routing Working Group of the IETF . Title : Multiprotocol Extensions for BGP-4 Author(s) : T. Bates, R. Chandra, D. Katz, Y. Rekhter Filename : draft-ietf-idr-rfc2858bis-02.txt Pages : 10 Date : 26-Apr-02 Currently BGP-4 is capable of carrying routing information only for IPv4. This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, etc...). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-idr-rfc2858bis-02.txt To remove yourself from the IETF Announcement list, send a message to ietf-announce-request with the word unsubscribe in the body of the message. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-idr-rfc2858bis-02.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-idr-rfc2858bis-02.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. - --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" - --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <20020426140959.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-idr-rfc2858bis-02.txt - --OtherAccess Content-Type: Message/External-body; name="draft-ietf-idr-rfc2858bis-02.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <20020426140959.I-D@ietf.org> - --OtherAccess-- - --NextPart-- ------- End of Forwarded Message Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id HAA23402 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 07:53:35 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 2A52C91201; Mon, 29 Apr 2002 07:53:11 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id E440091208; Mon, 29 Apr 2002 07:53:10 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id AD60F91201 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 07:53:09 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 9E0535DE7C; Mon, 29 Apr 2002 07:53:09 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ietf.org (odin.ietf.org [132.151.1.176]) by segue.merit.edu (Postfix) with ESMTP id 106A45DDEC for <idr@merit.edu>; Mon, 29 Apr 2002 07:53:09 -0400 (EDT) Received: from CNRI.Reston.VA.US (localhost [127.0.0.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA24969; Mon, 29 Apr 2002 07:53:06 -0400 (EDT) Message-Id: <200204291153.HAA24969@ietf.org> Mime-Version: 1.0 Content-Type: Multipart/Mixed; Boundary="NextPart" To: IETF-Announce: ; Cc: idr@merit.edu From: Internet-Drafts@ietf.org Reply-To: Internet-Drafts@ietf.org Subject: I-D ACTION:draft-ietf-idr-rfc2858bis-02.txt Date: Mon, 29 Apr 2002 07:53:06 -0400 Sender: owner-idr@merit.edu Precedence: bulk --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Inter-Domain Routing Working Group of the IETF. Title : Multiprotocol Extensions for BGP-4 Author(s) : T. Bates, R. Chandra, D. Katz, Y. Rekhter Filename : draft-ietf-idr-rfc2858bis-02.txt Pages : 10 Date : 26-Apr-02 Currently BGP-4 is capable of carrying routing information only for IPv4. This document defines extensions to BGP-4 to enable it to carry routing information for multiple Network Layer protocols (e.g., IPv6, IPX, etc...). The extensions are backward compatible - a router that supports the extensions can interoperate with a router that doesn't support the extensions. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-idr-rfc2858bis-02.txt To remove yourself from the IETF Announcement list, send a message to ietf-announce-request with the word unsubscribe in the body of the message. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-idr-rfc2858bis-02.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-idr-rfc2858bis-02.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <20020426140959.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-idr-rfc2858bis-02.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-idr-rfc2858bis-02.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <20020426140959.I-D@ietf.org> --OtherAccess-- --NextPart-- Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id HAA22980 for <idr-archive@nic.merit.edu>; Mon, 29 Apr 2002 07:33:10 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 33BC891201; Mon, 29 Apr 2002 07:32:47 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id DC10191208; Mon, 29 Apr 2002 07:32:46 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 6763A91201 for <idr@trapdoor.merit.edu>; Mon, 29 Apr 2002 07:31:32 -0400 (EDT) Received: by segue.merit.edu (Postfix) id A535C5DE44; Mon, 29 Apr 2002 07:31:32 -0400 (EDT) Delivered-To: idr@merit.edu Received: from xover.netplane.com (cnxt10002.conexant.com [198.62.10.2]) by segue.merit.edu (Postfix) with ESMTP id 2222E5DDEC for <idr@merit.edu>; Mon, 29 Apr 2002 07:31:32 -0400 (EDT) Received: by XOVER.dedham.mindspeed.com with Internet Mail Service (5.5.2653.19) id <2PDRJG8G>; Mon, 29 Apr 2002 07:31:25 -0400 Message-ID: <E7E13AAF2F3ED41197C100508BD6A32849385E@india_exch.hyderabad.mindspeed.com> From: "Reddy, Vikram" <vikramr@netplane.com> To: "'danny@tcb.net'" <danny@tcb.net>, "'idr@merit.edu'" <idr@merit.edu> Subject: RE: FW: BGP Route Reflection Question Date: Mon, 29 Apr 2002 07:31:13 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk Hi Danny, Please see my response inline.. -----Original Message----- From: Danny McPherson [mailto:danny@tcb.net] Sent: Friday, April 26, 2002 9:33 AM To: 'idr@merit.edu' Subject: Re: FW: BGP Route Reflection Question > 1) Is the above topology of configuring redundant RRs only for > some of the RRCs valid? Yes. VIK>> If the configutration is valid and if some of the points you make about reflection and acceptance of routes by RR2 are taken into consideration, then how will RRC3 recieve the routes generated by RRC1. Going by your algorithm 1)RRC1 advertises its routes to RR1 2) RR1 attaches its CLUSTER_ID and reflects the route to client and non-client peers. 3) Since RR2 is in the same clutser (thus has the same CLUSTER_ID as RR1) RR2 drops the message. 4) Since RRC3 has peering only with RR2, RRC3 does not get the route. This is not the desired behaviour as we would want both RR2 and RRC3 to know about RRC1s routes. > 2) If you configure two RRs in a cluster for the purpose of > redundancy (say RR1 and RR2), should RR1 treat RR2 as any > other client peer(and vice-versa)? No, they'd be Non-Client peers and SHOULD be configured with the same CLUSTER_ID value. > 3) If RR1 receives a route from one of its client (say > RRC1) and it is the best route, should RR1 send this > route to RR2? Yes, though it's considered a "reflected route" and should now contain CLUSTER_LIST/CLUSTER_ID, ORIGINATOR_ID, etc... > 4) If so, should RR2 accept it? If configured with the same CLUSTER_ID, no. If configured with a different CLUSTER_ID, yes. VIK>> 1)If RR1 has peering with an EBGP peer X. 2) RR1 receives a route from X. RR1 reflects the route to it's client and non-client peers. Before advertising, RR1 adds its CLUSTER_ID. 3) RR2 receives the advertisement and drops it because of the presence of its CLUSTER_ID. 4) RRC3 does not get the route because RR2 did not get it. So, EBGP routes learnt by RR1 will never reach RR2 and RRC3 and clearly this id not the desired behaviour. The same argument goes for routes originated by RR2. > If RR2 accepts it, should it reflect it back to its clients? If RR2's CLUSTER_ID isn't contained in the CLUSTER_LIST, then yes. > If it does reflect it to its client some clients which have multiple > peering sessions with the RRs (Ex RR2) will get the route twice, once > from RR1 and once from RR2. Indeed, hence the use of the term "redundant". > If it shouldn't reflect it, on what basis does RR2 decide that this > is a reflected route and it should not reflect it further? The CLUSTER_ID value contained in the CLUSTER_LIST. Also, some RR implementations don't reflect routes to routers whose ROUTER_ID value is equal to that of the ORIGINATOR_ID value. Others require that the client ignore/discard routes received from a peer if the ORIGINATOR_ID contained in the route is equal to the local ROUTER_ID value. -danny >From the scenarios I explanied above, the method of RR2 not accepting routes from RR1 because of the presence of the same CLUSTER_ID will not work. Regards, Vikram > Thank you, > Vikram. > > > > > > > > > > > > > Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA17076 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 11:07:41 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id CB75191357; Fri, 26 Apr 2002 11:07:01 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 8E64791358; Fri, 26 Apr 2002 11:07:01 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 647BC91357 for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 11:07:00 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 469B35DE42; Fri, 26 Apr 2002 11:07:00 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id B294B5DE3F for <idr@merit.edu>; Fri, 26 Apr 2002 11:06:59 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3QF6xT54357 for <idr@merit.edu>; Fri, 26 Apr 2002 08:06:59 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204261506.g3QF6xT54357@merlot.juniper.net> To: idr@merit.edu Subject: 2842bis-02 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <40545.1019833619.1@juniper.net> Date: Fri, 26 Apr 2002 08:06:59 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Folks, As requested by the IESG, it includes "Obsolete RFC2842", and the diff section. Yakov. ------- Forwarded Message Date: Fri, 26 Apr 2002 08:14:13 -0400 From: Internet-Drafts@ietf.org To: IETF-Announce: ; cc: idr@merit.edu Subject: I-D ACTION:draft-ietf-idr-rfc2842bis-02.txt - --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Inter-Domain Routing Working Group of the IETF . Title : Capabilities Advertisement with BGP-4 Author(s) : R. Chandra, J. Scudder Filename : draft-ietf-idr-rfc2842bis-02.txt Pages : 5 Date : 25-Apr-02 Currently BGP-4 requires that when a BGP speaker receives an OPEN message with one or more unrecognized Optional Parameters, the speaker must terminate BGP peering. This complicates introduction of new capabilities in BGP. This document defines new Optional Parameter, called Capabilities, that is expected to facilitate introduction of new capabilities in BGP by providing graceful capability advertisement without requiring that BGP peering be terminated. This document obsoletes RFC2842. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-idr-rfc2842bis-02.txt To remove yourself from the IETF Announcement list, send a message to ietf-announce-request with the word unsubscribe in the body of the message. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-idr-rfc2842bis-02.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-idr-rfc2842bis-02.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. - --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" - --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <20020425133921.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-idr-rfc2842bis-02.txt - --OtherAccess Content-Type: Message/External-body; name="draft-ietf-idr-rfc2842bis-02.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <20020425133921.I-D@ietf.org> - --OtherAccess-- - --NextPart-- ------- End of Forwarded Message Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA16244 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 10:33:42 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 12FD79120E; Fri, 26 Apr 2002 10:33:24 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id D510C91357; Fri, 26 Apr 2002 10:33:23 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id B2F959120E for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 10:33:21 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 9FC935DE3F; Fri, 26 Apr 2002 10:33:21 -0400 (EDT) Delivered-To: idr@merit.edu Received: from tcb.net (unknown [205.168.100.1]) by segue.merit.edu (Postfix) with ESMTP id 0B9065DE1A for <idr@merit.edu>; Fri, 26 Apr 2002 10:33:21 -0400 (EDT) Received: from dog.tcb.net (danny@localhost) by tcb.net (8.11.6/8.11.4) with ESMTP id g3QEWtn07973 for <idr@merit.edu>; Fri, 26 Apr 2002 08:32:55 -0600 Message-Id: <200204261432.g3QEWtn07973@tcb.net> X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 To: "'idr@merit.edu'" <idr@merit.edu> From: Danny McPherson <danny@tcb.net> Reply-To: danny@tcb.net Subject: Re: FW: BGP Route Reflection Question Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 26 Apr 2002 08:32:55 -0600 Sender: owner-idr@merit.edu Precedence: bulk > 1) Is the above topology of configuring redundant RRs only for > some of the RRCs valid? Yes. > 2) If you configure two RRs in a cluster for the purpose of > redundancy (say RR1 and RR2), should RR1 treat RR2 as any > other client peer(and vice-versa)? No, they'd be Non-Client peers and SHOULD be configured with the same CLUSTER_ID value. > 3) If RR1 receives a route from one of its client (say > RRC1) and it is the best route, should RR1 send this > route to RR2? Yes, though it's considered a "reflected route" and should now contain CLUSTER_LIST/CLUSTER_ID, ORIGINATOR_ID, etc... > 4) If so, should RR2 accept it? If configured with the same CLUSTER_ID, no. If configured with a different CLUSTER_ID, yes. > If RR2 accepts it, should it reflect it back to its clients? If RR2's CLUSTER_ID isn't contained in the CLUSTER_LIST, then yes. > If it does reflect it to its client some clients which have multiple > peering sessions with the RRs (Ex RR2) will get the route twice, once > from RR1 and once from RR2. Indeed, hence the use of the term "redundant". > If it shouldn't reflect it, on what basis does RR2 decide that this > is a reflected route and it should not reflect it further? The CLUSTER_ID value contained in the CLUSTER_LIST. Also, some RR implementations don't reflect routes to routers whose ROUTER_ID value is equal to that of the ORIGINATOR_ID value. Others require that the client ignore/discard routes received from a peer if the ORIGINATOR_ID contained in the route is equal to the local ROUTER_ID value. -danny > Thank you, > Vikram. > > > > > > > > > > > > > Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id IAA13282 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 08:15:06 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id AA35B91355; Fri, 26 Apr 2002 08:14:26 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 753D491356; Fri, 26 Apr 2002 08:14:26 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 5991891355 for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 08:14:25 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 458555DF23; Fri, 26 Apr 2002 08:14:25 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ietf.org (odin.ietf.org [132.151.1.176]) by segue.merit.edu (Postfix) with ESMTP id C59465DD9A for <idr@merit.edu>; Fri, 26 Apr 2002 08:14:24 -0400 (EDT) Received: from CNRI.Reston.VA.US (localhost [127.0.0.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA00646; Fri, 26 Apr 2002 08:14:14 -0400 (EDT) Message-Id: <200204261214.IAA00646@ietf.org> Mime-Version: 1.0 Content-Type: Multipart/Mixed; Boundary="NextPart" To: IETF-Announce: ; Cc: idr@merit.edu From: Internet-Drafts@ietf.org Reply-To: Internet-Drafts@ietf.org Subject: I-D ACTION:draft-ietf-idr-rfc2842bis-02.txt Date: Fri, 26 Apr 2002 08:14:13 -0400 Sender: owner-idr@merit.edu Precedence: bulk --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Inter-Domain Routing Working Group of the IETF. Title : Capabilities Advertisement with BGP-4 Author(s) : R. Chandra, J. Scudder Filename : draft-ietf-idr-rfc2842bis-02.txt Pages : 5 Date : 25-Apr-02 Currently BGP-4 requires that when a BGP speaker receives an OPEN message with one or more unrecognized Optional Parameters, the speaker must terminate BGP peering. This complicates introduction of new capabilities in BGP. This document defines new Optional Parameter, called Capabilities, that is expected to facilitate introduction of new capabilities in BGP by providing graceful capability advertisement without requiring that BGP peering be terminated. This document obsoletes RFC2842. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-idr-rfc2842bis-02.txt To remove yourself from the IETF Announcement list, send a message to ietf-announce-request with the word unsubscribe in the body of the message. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-idr-rfc2842bis-02.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-idr-rfc2842bis-02.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <20020425133921.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-idr-rfc2842bis-02.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-idr-rfc2842bis-02.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <20020425133921.I-D@ietf.org> --OtherAccess-- --NextPart-- Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id HAA12690 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 07:40:20 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id A6B8691350; Fri, 26 Apr 2002 07:39:58 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 77DE491354; Fri, 26 Apr 2002 07:39:58 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 4FFD091350 for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 07:39:57 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 3B12F5DF17; Fri, 26 Apr 2002 07:39:57 -0400 (EDT) Delivered-To: idr@merit.edu Received: from xover.netplane.com (cnxt10002.conexant.com [198.62.10.2]) by segue.merit.edu (Postfix) with ESMTP id A79C05DD9A for <idr@merit.edu>; Fri, 26 Apr 2002 07:39:56 -0400 (EDT) Received: by XOVER.dedham.mindspeed.com with Internet Mail Service (5.5.2653.19) id <2PDRJDGL>; Fri, 26 Apr 2002 07:39:50 -0400 Message-ID: <E7E13AAF2F3ED41197C100508BD6A32849385B@india_exch.hyderabad.mindspeed.com> From: "Reddy, Vikram" <vikramr@netplane.com> To: "'Krishnan, Vijay G.'" <Vijay.G.Krishnan@marconi.com>, "'Venu Kumar G - CTD, Chennai.'" <venug@ctd.hcltech.com>, "'idr@merit.edu'" <idr@merit.edu> Cc: "'tbates@cisco.com'" <tbates@cisco.com>, "'rchandra@redback.com'" <rchandra@redback.com>, "'enke@redback.com'" <enke@redback.com> Subject: RE: BGP Route Reflection Question Date: Fri, 26 Apr 2002 07:39:20 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk Hi, I request one of the authors to clarify the point about the behaviour of RRs in case of multiple redundant RRs in a cluster and remove the confusion about it. >From what I am getting from what both Venu and Vijay have written, it looks like there is a difference in the approach they are suggesting. What Venu seems to say is (From an earlier mail he sent to the board and also from some mail messages he sent to me privately) : 1)If RR1 sends a route to RR2 (originated by client), RR2 should not accept it because of the presence of ClusterID. 2)If RR1 originates a route, it will not add its cluter ID, and RR2 will accept and reflect this route to its clients, in which case the clients will receive multiple routes (having same Path Attributes but from different peers) and will choose one of them. What Vijay seems to be saying is: If RR1 sends a route to RR2 (originated by client or originated by RR1) RR1 will add its cluster ID in both the cases. Further RR2 should accept this route for itself because it was sent by a client but should not reflect it to its clients i.e the presence of its cluster Id in a route sent by a client does not mean a loop but it should be taken as a reflected route and should not be reflected further. IMHO: I request one of the authors to clarify this point and remove the confusion. I, however think what Vijay says will work correctly in all cases. There is one thing in the method Venu suggested that does not jell. If RR1 has an EBGP peer with X and RR2 does not, then, following Venu's method, RR1 will add its clutser ID and RR2 will drop it. In this case RR2 will never learn the EBGP routes learnt by RR1. Venu had earlier mentioned in an E-mail to me that RR2 must also be configured to have peering with X, but it is not mandatory to have symmetry for EBGP peers.It can only be enforced in case of clients and IBGP peers outside the cluster. Vikram -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 11:48 PM To: 'Venu Kumar G - CTD, Chennai.'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Venu, "This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster." RR1 should always send its cluster_id when advertising routes to the members of its cluster, even if its an imported route. Since RR1 is advertising the route to all the clients in the cluster, why should RR2 also do the same thing? Am I missing something. -Vijay -----Original Message----- From: Venu Kumar G - CTD, Chennai. [mailto:venug@ctd.hcltech.com] Sent: Thursday, April 25, 2002 12:59 PM To: Krishnan, Vijay G.; 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 10:10 PM To: 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Vikram, Here are the answers to your question based on my understanding of the RFC. Hope someone in the mailing list would correct me if I am wrong. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? Vijay> Both the RRs should be talking (BGP peering) to all the clients. In your diagram, if RR1 goes down, there is no peering between RR2 (redundant RR) and RRC1. 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? Vijay> Whether its client or not, it should not reflect the routes from an RR in the same cluster. Yes I to accetpt, But their is exceptional case where RR needs to reflect the routes, when it receives a route from other RR's of same cluster without cluster_id attribute. This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster. 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? Vijay> Yes. 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Vijay> RR2 should not reflect it. It knows that it is a reflected route from the CLUSTER_ID. regards Vijay -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 3:41 AM To: 'idr@merit.edu' Subject: FW: BGP Route Reflection Question Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id GAA10988 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 06:07:16 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id D91AB9134B; Fri, 26 Apr 2002 06:06:45 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 9C03691354; Fri, 26 Apr 2002 06:06:45 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 7A4009134B for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 06:06:44 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 678935DEA8; Fri, 26 Apr 2002 06:06:44 -0400 (EDT) Delivered-To: idr@merit.edu Received: from wiproecmx2.wipro.com (wiproecmx2.wipro.com [164.164.31.6]) by segue.merit.edu (Postfix) with ESMTP id 995C85DD9F for <idr@merit.edu>; Fri, 26 Apr 2002 06:06:40 -0400 (EDT) Received: from ecvwall1.wipro.com (venus.easi.soft.net [164.164.23.6]) by wiproecmx2.wipro.com (8.11.3/8.11.3) with SMTP id g3QA6BX17623 for <idr@merit.edu>; Fri, 26 Apr 2002 15:36:11 +0530 (IST) Received: from ec1bgpAmbar ([192.168.178.112]) by ecmail.mail.wipro.com (Netscape Messaging Server 4.15) with ESMTP id GV63VH01.PUW for <idr@merit.edu>; Fri, 26 Apr 2002 14:34:29 +0530 From: "Ambar Paul" <ambar.paul@wipro.com> To: <idr@merit.edu> Subject: Question on tie-breaking Date: Fri, 26 Apr 2002 14:34:29 +0530 Message-ID: <000401c1ed01$5fde02e0$70b2a8c0@wipro.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPartTM-000-9c02c613-58f7-11d6-a942-00b0d0d06be8" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.3416 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-idr@merit.edu Precedence: bulk This is a multi-part message in MIME format. ------=_NextPartTM-000-9c02c613-58f7-11d6-a942-00b0d0d06be8 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi, I have question reg. Use of NO_EXPORT community in case of DP tie-breaking. Suppose a router 'A' is connected to 'B','C', & 'D'. Both B & C send same route for a destination to A. B sends with NO_EXPORT community . Suppose after tie-breaking route send by B is better than that of C. In that case which one A should forward to D and which route should be there in A's KRT? Regds, Ambar ------=_NextPartTM-000-9c02c613-58f7-11d6-a942-00b0d0d06be8 Content-Type: text/plain; name="Wipro_Disclaimer.txt" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="Wipro_Disclaimer.txt" **************************Disclaimer************************************ Information contained in this E-MAIL being proprietary to Wipro Limited is 'privileged' and 'confidential' and intended for use only by the individual or entity to which it is addressed. You are notified that any use, copying or dissemination of the information contained in the E-MAIL in any manner whatsoever is strictly prohibited. ******************************************************************** ------=_NextPartTM-000-9c02c613-58f7-11d6-a942-00b0d0d06be8-- Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id EAA08130 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 04:32:59 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 4CC419120D; Fri, 26 Apr 2002 04:32:28 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 97B9D9134B; Fri, 26 Apr 2002 04:32:15 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id C5A849120D for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 04:32:00 -0400 (EDT) Received: by segue.merit.edu (Postfix) id A59705DED7; Fri, 26 Apr 2002 04:32:00 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ganesh.ctd.hctech.com (unknown [202.54.64.2]) by segue.merit.edu (Postfix) with ESMTP id B6BF85DD9A for <idr@merit.edu>; Fri, 26 Apr 2002 04:31:59 -0400 (EDT) Received: by GANESH with Internet Mail Service (5.5.2653.19) id <JFV2S5FH>; Fri, 26 Apr 2002 14:10:22 +0530 Message-ID: <D11B30C7348BD511A40700010283497B677CB4@GAYATRI> From: "Venu Kumar G - CTD, Chennai." <venug@ctd.hcltech.com> To: "Krishnan, Vijay G." <Vijay.G.Krishnan@marconi.com>, "Venu Kumar G - CTD, Chennai." <venug@ctd.hcltech.com>, "'idr@merit.edu'" <idr@merit.edu> Cc: "Sivananda Ramnath - CTD, Chennai." <siva@ctd.hcltech.com> Subject: RE: BGP Route Reflection Question Date: Fri, 26 Apr 2002 13:59:31 +0530 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 11:48 PM To: 'Venu Kumar G - CTD, Chennai.'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Venu, "This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster." Vijay>RR1 should always send its cluster_id when advertising routes to the members Vijay>of its cluster, even if its an imported route. Since RR1 is advertising the Vijay>route to all the clients in the cluster, why should RR2 also do the same Vijay> thing? Am I missing something. Venu> All ther router in AS should be consistent while advertising routes to external ASs and at the same time knowing all routes of other routers in the same AS. If you take the above example, When RR1 advertising it's imported route to RR2 (which is client of RR1), Anyway you will be adding the ORIGINATOR_ID attribute and second thing comes CLUSTER_ID attribute adding. Assume the case, if your adding your own CLUSTER_ID,then how does the RR2 knows about RR1's imported route. He silently discards RR1 imported routes becz he finds his own CLUSTER_ID in the path attributes. So that's reason I feel you should not add the CLUSTER_ID attribute to path attributes when RR1 importing routes advertising to all other clients (including the Redundant RR's). RFC 2796 also very clear on this point, you should add the cluster_Id only when your are reflecting the route to others received from someone else. "When a RR reflects a route, it must prepend the local CLUSTER_ID to the CLUSTER_LIST." However,when a route is advertising to non-clients by RR it should treat that route as reflecting route and should add the CLUSTER_ID even if the route is originated or imported by the own RR. Regards Venu G. -Vijay -----Original Message----- From: Venu Kumar G - CTD, Chennai. [mailto:venug@ctd.hcltech.com] Sent: Thursday, April 25, 2002 12:59 PM To: Krishnan, Vijay G.; 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 10:10 PM To: 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Vikram, Here are the answers to your question based on my understanding of the RFC. Hope someone in the mailing list would correct me if I am wrong. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? Vijay> Both the RRs should be talking (BGP peering) to all the clients. In your diagram, if RR1 goes down, there is no peering between RR2 (redundant RR) and RRC1. 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? Vijay> Whether its client or not, it should not reflect the routes from an RR in the same cluster. Yes I to accetpt, But their is exceptional case where RR needs to reflect the routes, when it receives a route from other RR's of same cluster without cluster_id attribute. This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster. 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? Vijay> Yes. 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Vijay> RR2 should not reflect it. It knows that it is a reflected route from the CLUSTER_ID. regards Vijay -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 3:41 AM To: 'idr@merit.edu' Subject: FW: BGP Route Reflection Question Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id AAA02420 for <idr-archive@nic.merit.edu>; Fri, 26 Apr 2002 00:17:36 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 12B8691350; Fri, 26 Apr 2002 00:17:12 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id CBD4591351; Fri, 26 Apr 2002 00:17:11 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id A5F9991350 for <idr@trapdoor.merit.edu>; Fri, 26 Apr 2002 00:17:10 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 880DC5DE0D; Fri, 26 Apr 2002 00:17:10 -0400 (EDT) Delivered-To: idr@merit.edu Received: from psg.com (psg.com [147.28.0.62]) by segue.merit.edu (Postfix) with ESMTP id 0DEB65DDC0 for <idr@merit.edu>; Fri, 26 Apr 2002 00:17:10 -0400 (EDT) Received: from 12-234-73-224.client.attbi.com ([12.234.73.224]) by psg.com with esmtp (Exim 3.36 #1) id 170xAR-0000NG-00 for idr@merit.edu; Thu, 25 Apr 2002 21:17:08 -0700 Date: Thu, 25 Apr 2002 21:16:43 -0700 From: Alex Zinin <zinin@psg.com> X-Mailer: The Bat! (v1.51) Personal Reply-To: Alex Zinin <zinin@psg.com> X-Priority: 3 (Normal) Message-ID: <1554732204.20020425211643@psg.com> To: idr@merit.edu Subject: LC comments on draft-ietf-idr-bgp-ext-communities-03.txt MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-idr@merit.edu Precedence: bulk Srihari, Dan, Yakov: Please find some comment on the draft below. A meta comment: please check all occurrences of must/should/may, make sure they are capitalized where used to express requirement levels, and include a reference to 2119. Other comments inline: > draft-ietf-idr-bgp-ext-communities-03.txt ... > > 2. Abstract > > This document describes an extension to BGP [BGP-4] which may be used > to provide flexible control over the distribution of routing > information. > The rfc-ed will not like the citation in the abstract. > 3. Introduction > > The Extended Community Attribute provides two important enhancements > over the existing BGP Community Attribute: > > - It provides an extended range, ensuring that communities can be > assigned for a plethora of uses, without fear of overlap. > > - The addition of a Type field provides structure for the > community space. > > The addition of structure allows the usage of policy based on the > application for which the community value will be used. For example, > one can filter out all communities of a particular type, or allow > only certain values for a particular type of community. It also > allows one to specify whether a particular community is transitive or > non-transitive across Autonomous system boundary. Without structure, > this can only be accomplished by explicitly enumerating all community > values which will be denied or allowed and passed to BGP speakers in > neighboring ASes based on the transitive property. > > > 4. BGP Extended Communities Attribute > > The Extended Communities Attribute is a transitive optional BGP > attribute. The attribute consists of a set of "extended > communities". Each extended community is coded as an eight octet > value. All routes with the Extended Communities attribute belong to > the communities listed in the attribute. > > The Extended Communities Attribute has Type Code 16. > > Each Extended Community is encoded as an eight octet quantity, as > follows: It might be helpful to include a format illustration here, something like this maybe: The value of the Extended Communities Attribute is a series of eight octet Type and Value field groups, each encoding a specific Extended Community as shown below: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type high | Type low(*) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type high | Type low(*) | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Value | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ *) Present for Extended types only, used for the Value field otherwise > - Type Field : 1 or 2 octets > - Value Field : Remaining octets > > Type Field: > > Two classes of Type Field are introduced: Regular type and > Extended type. > > The size of Type Field for Regular types is 1 octet and the > size of the Type Field for Extended types is 2 octets. > > The value of the high-order octet will determine if its a > regular type or an extended type. The value of the high-order > > > > Sangli, Tappan, Rekhter [Page 2] > > > > > > Internet Draft draft-ietf-idr-bgp-ext-communities-03.txt March 2002 > > > octet of the Type Field defined as regular type (or extended > type) for a extended community MUST NOT be reused as the value > of the high-order octet of the Type Field defined as extended > type (or regular type). In other words, a new extended > community of regular type (extended type) should have unique > (and new) value for the high-order octet (high-order and low- > order octet). > > The high-order octet of the Type Field is as shown below: > > First bit (MSB) : IANA authority bit > Value 0 : IANA assignable type > Value 1 : Vendor-specific types > > Second bit : Transitive bit > Value 0 : The community is > Transitive across ASes > Value 1 : The community is > Non-Transitive across ASes > > Remaining 6 bits : Indicates the structure of the > community An IETF-style format for the field would be appreciated :) Maybe a couple of words saying that the IANA bit does not require special processing would be good. > Value Field: > > The encoding of the Value Field is dependent on the "type" of > the community as specified by the Type Field. The encoding of > the community for the transitive communities should be such > that it is unique globally (i.e. across the Autonomous > Systems). It is not clear what kind of implications the last sentence imposes on the implementations from the _encoding_ perspective... > Two extended communities are declared equal only when entire 8 > octets are equal. > > The two members in the tuple <Type, Value> should be enumerated to > specify any community value. Based on the value of the Type field, > the remaining octets of the community should be interpreted. > > 5. New BGP Extended Community Types. > > This document introduces a few extended types and defines the Value ^ "the format of" > Field for those types. Probably some wording should be added here to say that the communities below provide semantical "templates" that are used later for different functions; each template type is identified by the high order byte of the Ext Comm Type field, and the low order byte (sub-type) is used to specify the function... or something along these lines > Type 0x00: I think the type should have a meaningful name at least to use it in the IANA registry. Something like "Two-octet AS specific extended community" > This is an extended type with Type Field comprising of 2 octets > and Value Field comprising of 6 octets. > > The value of the high-order octet of this extended type is > 0x00. The low-order octet of this extended type is used to > indicate sub-types. > > The Value Field consists of two sub-fields: Something like this would be great: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Type High=0x00 | Sub-Type | Global Administrator | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Administrator | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ > > Global Administrator sub-field: 2 octets > > This sub-field contains an Autonomous System number > assigned by IANA. > > Local Administrator sub-field: 4 octets > > The organization identified by Autonomous System number > in the Global Administrator sub-field, can encode any "the organization ... can encode". A little weird... > information in this sub-field. The value and meaning of > the value encoded in this sub-field should be defined by > the sub-type of the community. "The value... be defined by the sub-type" probably the format is meant... > > Type 0x01: Same comment about name. Something like "IPv4 address specific extended community" > > This is an extended type with Type Field comprising of 2 octets > and Value Field comprising of 6 octets. > > The value of the high-order octet of this extended type is > 0x01. The low-order octet of this extended type is used to > indicate sub-types. > > The Value field consists of two sub-fields. ditto format > > Global Administrator sub-field: 4 octets > > This sub-field contains an IPv4 address assigned by IANA. > > Local Administrator sub-field: 2 octets > > The organization which has been assigned the IPv4 address > in the Global Administrator sub-field, can encode any same comment > > information in this sub-field. The value and meaning of > this value encoded in this sub-field should be defined by > the sub-type of the community. same comment about the value/format > > Type 0x02: Name as well: like "Four-octet AS specific..."? > > This is an extended type with Type Field comprising of 2 octets > and Value Field comprising of 6 octets. > > The value of the high-order octet of this extended type is > 0x02. The low-order octet of this extended type is used to > indicate sub-types. > > The Value Field consists of two sub-fields. ditto format > Global Administrator sub-field: 4 octets > > This sub-field contains a 4-octets Autonomous System > number assigned by IANA. > > Local Administrator sub-field: 2 octets > > The organization identified by Autonomous System number > in the Global Administrator sub-field, can encode any > information in this sub-field. The value and meaning of > the value encoded in this sub-field should be defined by > the sub-type of the community. ditto comments above > > Type 0x03: Same comment about name here, "Opaque" ? > > This is an extended type with Type Field comprising of 2 octets > and Value Field comprising of 6 octets. > > The value of the high-order octet of this extended type is > 0x03. The low-order octet of this extended type is used to > indicate sub-types. > > The Value Field contains a 6 byte value of structure with sub- > fields. What kind of sub-fields? Do we need this sentence here? > This is a generic community of extended type. The value of the > sub-type which should define the Value Field is to be assigned > by IANA. > ... > > 8. Link Bandwidth Community > > When a router receives a route from a directly connected external > neighbor (the external neighbor that is one IP hop away), and > advertises this route (via IBGP) to internal neighbors, as part of > this advertisement the router may carry the bandwidth of the link > that connects the router with the external neighbor. The bandwidth of > such a link is carried in the Link Bandwidth Community. The community > MAY be marked as non-transitive across the Autonomous system > boundary. > > If the community is marked as non-transitive, then the value of the > high-order octet of the extended Type Field is 0x40, otherwise it is > 0x00. The value of the low-order octet of the extended type field > for this community is 0x04. > > > > > Sangli, Tappan, Rekhter [Page 6] > > > > > > Internet Draft draft-ietf-idr-bgp-ext-communities-03.txt March 2002 > > > The value of the Global Administrator sub-field in the Value Field > MUST represent the Autonomous System of the router that attaches the > Link Bandwidth Community. When a router receives a route with the > community, the router may check the AS number in the Global > Administrator sub-field to see if its not the local AS and hence > ignore the information carried in the Link Bandwidth Community. > > The bandwidth of the link is expressed as 4 octets in IEEE floating > point format, units being bytes per second. It is carried in the > Local Administrator sub-field of the Value Field. Is this supposed to be used in the path selection algo to choose the best exit? If so, how do we make sure that routers that support this and those that don't, do not make inconsistent decisions and thus do not form permanent loops? > 9. Operations > > A BGP speaker may use the Extended Communities attribute to control > which routing information it accepts, prefers or distributes to its > peers. Do we need some words about consistent acceptance policy among BGP speakers within the same AS? > A BGP speaker receiving a route that doesn't have the Extended > Communities attribute may append this attribute to the route when > propagating it to its peers. > > A BGP speaker receiving a route with the Extended Communities > attribute may modify this attribute according to the local policy. > > A BGP speaker should not propagate a non-transitive extended > community across the Autonomous system boundary. What about the situation where a locally originated non-transitive community is sent over an eBGP session? > A route may carry both the BGP Communities attribute as defined in > [RFC1997]), and the Extended BGP Communities attribute. In this case > the BGP Communities attribute is handled as specified in [RFC1997], > and the Extended BGP Communities attribute is handled as specified in > this document. > > > 10. IANA Considerations > > For the high-order octet of the Type Field, values 0x00 through 0x03 > are assigned in this document and are defined as extended types. For > the combination of the high-order and low-order octets of the Type > Field values 0x0002-0x0004, 0x0102-0x0103, and 0x0202-0x0203 are > assigned in this document. > > The Type Field values 0x04-0x3f for regular types (0x0400-0x3fff when > expressed as extended types) are to be assigned by IANA, using the > "First Come First Served" policy defined in RFC 2434. The extended > type field values 0x0000-0x0001, 0x0005-0x00ff, 0x0100-0x0101, > 0x0104-0x01ff, 0x0200-0x0201, 0x0204-0x02ff and 0x0300-0x03ff are to > > > > Sangli, Tappan, Rekhter [Page 7] > > > > > > Internet Draft draft-ietf-idr-bgp-ext-communities-03.txt March 2002 > > > be assigned by IANA, using the "First Come First Served" policy > defined in RFC 2434. Type values 0x80-0xbf for regular types > (0x8000-0xbfff when expressed as extended types) are vendor-specific > types, and values in this range are not to be assigned by IANA. Couple of thoughts here... It might be a good idea to reserve something for the IETF consensus allocation to be on the safe side. Also, the text above might not be transparent enough for IANA to manage efficiently. Maybe one could say that IANA is supposed to maintain one registry for the high-order octet of the Type field, associate a regular/extended attribute with each value, exclude the Transitive bit from allocation, and make the following allocations according to this document: Type Reg/Ext Description ---------------------------------------- 0x00 Ext Name-for-type-00 0x01 Ext Name-for-type-01 0x02 Ext Name-for-type-02 0x03 Ext Name-for-type-03 0x04-0x3F - unassigned 0x80-0xBF - vendor specific Then also say that for each extended type, a registry of sub-types is maintained and give the initial assignment like this: Sub-types for type 0x00: Sub-type Description -------------------------------------- 0x00-0x01 unassigned 0x02 Route target community 0x03 Route origin community 0x04 Link bandwidth community 0x05-0xFF unassigned Cheers, Alex Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id OAA18180 for <idr-archive@nic.merit.edu>; Thu, 25 Apr 2002 14:19:58 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 17A7591313; Thu, 25 Apr 2002 14:18:03 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id C4C1491315; Thu, 25 Apr 2002 14:18:02 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id CB2DA91313 for <idr@trapdoor.merit.edu>; Thu, 25 Apr 2002 14:18:00 -0400 (EDT) Received: by segue.merit.edu (Postfix) id B6A085DECD; Thu, 25 Apr 2002 14:18:00 -0400 (EDT) Delivered-To: idr@merit.edu Received: from mailgate.pit.comms.marconi.com (mailgate.pit.comms.marconi.com [169.144.68.6]) by segue.merit.edu (Postfix) with ESMTP id 2B3765DD91 for <idr@merit.edu>; Thu, 25 Apr 2002 14:18:00 -0400 (EDT) Received: from mailman.pit.comms.marconi.com (mailman.pit.comms.marconi.com [169.144.2.12]) by mailgate.pit.comms.marconi.com (8.9.3/8.9.3) with ESMTP id OAA16719; Thu, 25 Apr 2002 14:17:49 -0400 (EDT) Received: from whq-msgrtr-01.pit.comms.marconi.com (whq-msgrtr-01.pit.comms.marconi.com [169.144.2.221]) by mailman.pit.comms.marconi.com (8.9.3/8.9.3) with ESMTP id OAA19787; Thu, 25 Apr 2002 14:17:50 -0400 (EDT) Received: by whq-msgrtr-01.pit.comms.marconi.com with Internet Mail Service (5.5.2650.21) id <JQP4AS51>; Thu, 25 Apr 2002 14:17:49 -0400 Message-ID: <313680C9A886D511A06000204840E1CF3EA0AB@whq-msgusr-02.pit.comms.marconi.com> From: "Krishnan, Vijay G." <Vijay.G.Krishnan@marconi.com> To: "'Venu Kumar G - CTD, Chennai.'" <venug@ctd.hcltech.com>, "'idr@merit.edu'" <idr@merit.edu> Subject: RE: BGP Route Reflection Question Date: Thu, 25 Apr 2002 14:17:48 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="ISO-8859-1" Sender: owner-idr@merit.edu Precedence: bulk Venu, "This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster." RR1 should always send its cluster_id when advertising routes to the members of its cluster, even if its an imported route. Since RR1 is advertising the route to all the clients in the cluster, why should RR2 also do the same thing? Am I missing something. -Vijay -----Original Message----- From: Venu Kumar G - CTD, Chennai. [mailto:venug@ctd.hcltech.com] Sent: Thursday, April 25, 2002 12:59 PM To: Krishnan, Vijay G.; 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 10:10 PM To: 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Vikram, Here are the answers to your question based on my understanding of the RFC. Hope someone in the mailing list would correct me if I am wrong. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? Vijay> Both the RRs should be talking (BGP peering) to all the clients. In your diagram, if RR1 goes down, there is no peering between RR2 (redundant RR) and RRC1. 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? Vijay> Whether its client or not, it should not reflect the routes from an RR in the same cluster. Yes I to accetpt, But their is exceptional case where RR needs to reflect the routes, when it receives a route from other RR's of same cluster without cluster_id attribute. This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster. 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? Vijay> Yes. 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Vijay> RR2 should not reflect it. It knows that it is a reflected route from the CLUSTER_ID. regards Vijay -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 3:41 AM To: 'idr@merit.edu' Subject: FW: BGP Route Reflection Question Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id NAA16354 for <idr-archive@nic.merit.edu>; Thu, 25 Apr 2002 13:06:01 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id DD87791317; Thu, 25 Apr 2002 13:03:10 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 245F891318; Thu, 25 Apr 2002 13:01:56 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 1F9FD9130F for <idr@trapdoor.merit.edu>; Thu, 25 Apr 2002 13:01:34 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 07FE95DE9C; Thu, 25 Apr 2002 13:01:34 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ganesh.ctd.hctech.com (unknown [202.54.64.2]) by segue.merit.edu (Postfix) with ESMTP id D668F5DD8C for <idr@merit.edu>; Thu, 25 Apr 2002 13:01:32 -0400 (EDT) Received: by GANESH with Internet Mail Service (5.5.2653.19) id <JFV2SQ8J>; Thu, 25 Apr 2002 22:39:58 +0530 Message-ID: <D11B30C7348BD511A40700010283497B677B6B@GAYATRI> From: "Venu Kumar G - CTD, Chennai." <venug@ctd.hcltech.com> To: "Krishnan, Vijay G." <Vijay.G.Krishnan@marconi.com>, "'Reddy, Vikram'" <vikramr@netplane.com>, "'idr@merit.edu'" <idr@merit.edu> Subject: RE: BGP Route Reflection Question Date: Thu, 25 Apr 2002 22:29:00 +0530 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk -----Original Message----- From: Krishnan, Vijay G. [mailto:Vijay.G.Krishnan@marconi.com] Sent: Thursday, April 25, 2002 10:10 PM To: 'Reddy, Vikram'; 'idr@merit.edu' Subject: RE: BGP Route Reflection Question Vikram, Here are the answers to your question based on my understanding of the RFC. Hope someone in the mailing list would correct me if I am wrong. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? Vijay> Both the RRs should be talking (BGP peering) to all the clients. In your diagram, if RR1 goes down, there is no peering between RR2 (redundant RR) and RRC1. 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? Vijay> Whether its client or not, it should not reflect the routes from an RR in the same cluster. Yes I to accetpt, But their is exceptional case where RR needs to reflect the routes, when it receives a route from other RR's of same cluster without cluster_id attribute. This situation happens when a RR1 has it's own imported route need to be advertised to other internal peers (redundant RR2 & clients). In this case RR2 will re-advertise the same route to all clients of same cluster to maintain redundancy in the cluster. 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? Vijay> Yes. 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Vijay> RR2 should not reflect it. It knows that it is a reflected route from the CLUSTER_ID. regards Vijay -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 3:41 AM To: 'idr@merit.edu' Subject: FW: BGP Route Reflection Question Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA15804 for <idr-archive@nic.merit.edu>; Thu, 25 Apr 2002 12:40:40 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id E11B891207; Thu, 25 Apr 2002 12:40:18 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id A8FB9912D2; Thu, 25 Apr 2002 12:40:17 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 5004891207 for <idr@trapdoor.merit.edu>; Thu, 25 Apr 2002 12:40:16 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 403DD5DEA7; Thu, 25 Apr 2002 12:40:16 -0400 (EDT) Delivered-To: idr@merit.edu Received: from mailgate.pit.comms.marconi.com (mailgate.pit.comms.marconi.com [169.144.68.6]) by segue.merit.edu (Postfix) with ESMTP id E0D7F5DD8C for <idr@merit.edu>; Thu, 25 Apr 2002 12:40:15 -0400 (EDT) Received: from mailman.pit.comms.marconi.com (mailman.pit.comms.marconi.com [169.144.2.12]) by mailgate.pit.comms.marconi.com (8.9.3/8.9.3) with ESMTP id MAA06149; Thu, 25 Apr 2002 12:40:13 -0400 (EDT) Received: from whq-msgrtr-01.pit.comms.marconi.com (whq-msgrtr-01.pit.comms.marconi.com [169.144.2.221]) by mailman.pit.comms.marconi.com (8.9.3/8.9.3) with ESMTP id MAA20371; Thu, 25 Apr 2002 12:40:14 -0400 (EDT) Received: by whq-msgrtr-01.pit.comms.marconi.com with Internet Mail Service (5.5.2650.21) id <JQP4AKG2>; Thu, 25 Apr 2002 12:40:13 -0400 Message-ID: <313680C9A886D511A06000204840E1CF3EA0AA@whq-msgusr-02.pit.comms.marconi.com> From: "Krishnan, Vijay G." <Vijay.G.Krishnan@marconi.com> To: "'Reddy, Vikram'" <vikramr@netplane.com>, "'idr@merit.edu'" <idr@merit.edu> Subject: RE: BGP Route Reflection Question Date: Thu, 25 Apr 2002 12:40:12 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="ISO-8859-1" Sender: owner-idr@merit.edu Precedence: bulk Vikram, Here are the answers to your question based on my understanding of the RFC. Hope someone in the mailing list would correct me if I am wrong. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? Vijay> Both the RRs should be talking (BGP peering) to all the clients. In your diagram, if RR1 goes down, there is no peering between RR2 (redundant RR) and RRC1. 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? Vijay> Whether its client or not, it should not reflect the routes from an RR in the same cluster. 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? Vijay> Yes. 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Vijay> RR2 should not reflect it. It knows that it is a reflected route from the CLUSTER_ID. regards Vijay -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 3:41 AM To: 'idr@merit.edu' Subject: FW: BGP Route Reflection Question Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id DAA03330 for <idr-archive@nic.merit.edu>; Thu, 25 Apr 2002 03:42:07 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 3E9D6912D4; Thu, 25 Apr 2002 03:41:39 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 07F93912D5; Thu, 25 Apr 2002 03:41:38 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id C7B71912D4 for <idr@trapdoor.merit.edu>; Thu, 25 Apr 2002 03:41:37 -0400 (EDT) Received: by segue.merit.edu (Postfix) id A85975DE9A; Thu, 25 Apr 2002 03:41:37 -0400 (EDT) Delivered-To: idr@merit.edu Received: from xover.netplane.com (cnxt10002.conexant.com [198.62.10.2]) by segue.merit.edu (Postfix) with ESMTP id 0DD215DD8C for <idr@merit.edu>; Thu, 25 Apr 2002 03:41:37 -0400 (EDT) Received: by XOVER.dedham.mindspeed.com with Internet Mail Service (5.5.2653.19) id <2PDRJA7D>; Thu, 25 Apr 2002 03:41:31 -0400 Message-ID: <E7E13AAF2F3ED41197C100508BD6A328493855@india_exch.hyderabad.mindspeed.com> From: "Reddy, Vikram" <vikramr@netplane.com> To: "'idr@merit.edu'" <idr@merit.edu> Subject: FW: BGP Route Reflection Question Date: Thu, 25 Apr 2002 03:41:24 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk Sorry for the messed up diagram, I am sending it again. -----Original Message----- From: Reddy, Vikram [mailto:vikramr@netplane.com] Sent: Thursday, April 25, 2002 1:01 PM To: 'idr@merit.edu' Subject: BGP Route Reflection Question I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |------------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- -------- ------ | RRC1 | | RRC2| | RR2 | --------- -------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id DAA03016 for <idr-archive@nic.merit.edu>; Thu, 25 Apr 2002 03:32:16 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 551F8912D2; Thu, 25 Apr 2002 03:32:00 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 023C9912D5; Thu, 25 Apr 2002 03:31:59 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 485EE912D2 for <idr@trapdoor.merit.edu>; Thu, 25 Apr 2002 03:31:48 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 12BDD5DE9A; Thu, 25 Apr 2002 03:31:48 -0400 (EDT) Delivered-To: idr@merit.edu Received: from xover.netplane.com (cnxt10002.conexant.com [198.62.10.2]) by segue.merit.edu (Postfix) with ESMTP id 198655DD8C for <idr@merit.edu>; Thu, 25 Apr 2002 03:31:47 -0400 (EDT) Received: by XOVER.dedham.mindspeed.com with Internet Mail Service (5.5.2653.19) id <2PDRJA6Z>; Thu, 25 Apr 2002 03:31:40 -0400 Message-ID: <E7E13AAF2F3ED41197C100508BD6A328493852@india_exch.hyderabad.mindspeed.com> From: "Reddy, Vikram" <vikramr@netplane.com> To: "'idr@merit.edu'" <idr@merit.edu> Subject: BGP Route Reflection Question Date: Thu, 25 Apr 2002 03:31:04 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk I have a couple of questions regarding BGP route reflection (RFC2796). All the following questions pertain to non-full mesh IBGP between clients in the same cluster. I would appreciate if you could answer the questions. ------- ------ | RR1 |-------------------------| RR2| ------- ------ | |-------------- ----------| |--------- | | | | | | | | --------- --------- ------ | RRC1 | | RRC2| | RR2| --------- ----------- ------ RR1 and RR2 route reflectors for the cluster. RRC1,RRC2,RRC3 : route reflector clients. RRC1 has BGP Peering only with RR1, RRC2 has peering sessions with RR1 and RR2, RRC3 has peering with RR2 only. 1) Is the above topology of configuring redundant RRs only for some of the RRCs valid? 2) If you configure two RRs in a cluster for the purpose of redundancy (say RR1 and RR2), should RR1 treat RR2 as any other client peer(and vice-versa)? 3) If RR1 receives a route from one of its client (say RRC1) and it is the best route, should RR1 send this route to RR2? 4) If so, should RR2 accept it? If RR2 accepts it, should it reflect it back to its clients? If it does reflect it to its client some clients which have multiple peering sessions with the RRs (Ex RR2) will get the route twice, once from RR1 and once from RR2. If it shouldn't reflect it, on what basis does RR2 decide that this is a reflected route and it should not reflect it further? Thank you, Vikram. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id AAA22794 for <idr-archive@nic.merit.edu>; Wed, 24 Apr 2002 00:44:17 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 1621791201; Wed, 24 Apr 2002 00:43:56 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id DA52C91222; Wed, 24 Apr 2002 00:43:55 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id A34FB91201 for <idr@trapdoor.merit.edu>; Wed, 24 Apr 2002 00:43:54 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 6B7E55DE6F; Wed, 24 Apr 2002 00:43:54 -0400 (EDT) Delivered-To: idr@merit.edu Received: from fsnt.future.futsoft.com (unknown [203.197.140.35]) by segue.merit.edu (Postfix) with ESMTP id 0BBDE5DD93 for <idr@merit.edu>; Wed, 24 Apr 2002 00:43:53 -0400 (EDT) Received: from kailash.future.futsoft.com (unverified) by fsnt.future.futsoft.com (Content Technologies SMTPRS 2.0.15) with ESMTP id <B0002366216@fsnt.future.futsoft.com> for <idr@merit.edu>; Wed, 24 Apr 2002 10:32:50 +0530 Received: from sridharj (sridharj.future.futsoft.com [10.4.3.23]) by kailash.future.futsoft.com (8.11.0/8.11.0) with SMTP id g3O4hHh27495 for <idr@merit.edu>; Wed, 24 Apr 2002 10:13:17 +0530 Reply-To: <sridharj@future.futsoft.com> From: "Sridharj" <sridharj@future.futsoft.com> To: "bgp_Idr_Mailinglist (E-mail)" <idr@merit.edu> Subject: ipv6 routing updates Date: Wed, 24 Apr 2002 10:07:39 +0530 Message-Id: <000001c1eb49$c49dcb20$1703040a@future.futsoft.com> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Sender: owner-idr@merit.edu Precedence: bulk Hi , ipv4 link ipv6 network ----- bgp peaker --------------------------------------- bgp neighbor ------ ipv4 network Actually this is a trivial question but still I wanted to make sure . In the above scenario even though the connection to neighbor is over ipv4 link , 1 ) Is it common that ipv6 routes are advertised to neighbor 2 ) Can the nexthop be a ipv6 prefix whereas NLRI contains ipv4 prefixes 3) Is it possible to have ipv4 prefixes and ipv6 prefixes in then same updates as part of NLRI . thanks in advance sridhara .J senior software engineer Future Software www.futsoft.com *************************************************************************** This message is proprietary to Future Software Limited (FSL) and is intended solely for the use of the individual to whom it is addressed. It may contain privileged or confidential information and should not be circulated or used for any purpose other than for what it is intended. If you have received this message in error, please notify the originator immediately. If you are not the intended recipient, you are notified that you are strictly prohibited from using, copying, altering, or disclosing the contents of this message. FSL accepts no responsibility for loss or damage arising from the use of the information transmitted by this email including damage from virus. *************************************************************************** Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA29701 for <idr-archive@nic.merit.edu>; Tue, 23 Apr 2002 12:03:40 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id BC18F91205; Tue, 23 Apr 2002 12:03:09 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 8C2E391210; Tue, 23 Apr 2002 12:03:09 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 79A7291205 for <idr@trapdoor.merit.edu>; Tue, 23 Apr 2002 12:03:08 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 547A15DDA7; Tue, 23 Apr 2002 12:03:08 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id C5A355DD93 for <idr@merit.edu>; Tue, 23 Apr 2002 12:03:07 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3NG37T40324; Tue, 23 Apr 2002 09:03:07 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204231603.g3NG37T40324@merlot.juniper.net> To: idr@merit.edu Cc: Alex Zinin <zinin@psg.com>, Bill Fenner <fenner@research.att.com> Subject: draft-ietf-idr-rfc2842bis-01.txt MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <16920.1019577787.1@juniper.net> Date: Tue, 23 Apr 2002 09:03:07 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Folks, draft-ietf-idr-rfc2842bis-01.txt reflects the comments we received from the IESG. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id AAA10768 for <idr-archive@nic.merit.edu>; Tue, 23 Apr 2002 00:53:26 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 42182912FE; Tue, 23 Apr 2002 00:52:47 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 0D95591300; Tue, 23 Apr 2002 00:52:46 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id EBADF912FE for <idr@trapdoor.merit.edu>; Tue, 23 Apr 2002 00:52:45 -0400 (EDT) Received: by segue.merit.edu (Postfix) id C6E7D5DDFA; Tue, 23 Apr 2002 00:52:45 -0400 (EDT) Delivered-To: idr@merit.edu Received: from ganesh.ctd.hctech.com (unknown [202.54.64.2]) by segue.merit.edu (Postfix) with ESMTP id DE0C95DDBE for <idr@merit.edu>; Tue, 23 Apr 2002 00:52:44 -0400 (EDT) Received: by GANESH with Internet Mail Service (5.5.2653.19) id <JFV2RJCQ>; Tue, 23 Apr 2002 10:30:20 +0530 Message-ID: <D11B30C7348BD511A40700010283497B65582F@GAYATRI> From: "Venu Kumar G - CTD, Chennai." <venug@ctd.hcltech.com> To: idr@merit.edu Subject: Graceful restart timer range Date: Tue, 23 Apr 2002 10:21:00 +0530 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk HI folks! Most of the deployed routers will take more than 3 minutes to restart, Generaly we may configure Hold time at maximum of 3 minuutes(RFC sujjests 90 seconds only). So I hope Mostly Restart time will/may be greater than Hold time value. "In general the Restart Time SHOULD NOT be greater than the HOLDTIME carried in the OPEN " How about changing the above statment to like this..? "In general the Restart Time MAY be greater than the HOLDTIME carried in the OPEN, but however it is sujjested to be lesser than HOLDTIME carried in the OPEN " Regards Venu G. **************************************************** Meet us at Networld+Interop, Las Vegas, 7-9-May-2002 Booth# 3327, Embedded Networking Technologies Area HCL Tech in Designers' Roundtable <http://education.key3media.com:8080/interop/lv2002/education/FMPro?-DB=K3Se ssions.fp5&-lay=webform&-format=session_detail.html&Session_ID=2678&-Find> Tuesday, May 7, 2002, 10: 30 am - 11:30 am Location: Pavilion 10 www.hcltech.com <http://www.hcltech.com> ********************************************** Disclaimer: This document is intended for transmission to the named recipient only. If you are not that person, you should note that legal rights reside in this document and you are not authorized to access, read, disclose, copy, use or otherwise deal with it and any such actions are prohibited and may be unlawful. The views expressed in this document are not necessarily those of HCL Technologies Ltd. Notice is hereby given that no representation, contract or other binding obligation shall be created by this e-mail, which must be interpreted accordingly. Any representations, contractual rights or obligations shall be separately communicated in writing and signed in the original by a duly authorized officer of the relevant company. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id NAA21779 for <idr-archive@nic.merit.edu>; Mon, 22 Apr 2002 13:29:10 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 5B44491226; Mon, 22 Apr 2002 13:28:46 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 3361D91227; Mon, 22 Apr 2002 13:28:46 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 3B5CC91226 for <idr@trapdoor.merit.edu>; Mon, 22 Apr 2002 13:28:45 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 184CC5DE47; Mon, 22 Apr 2002 13:28:45 -0400 (EDT) Delivered-To: idr@merit.edu Received: from smtp.adc.com (smtp.adc.com [155.226.10.207]) by segue.merit.edu (Postfix) with ESMTP id 9D1295DD8D for <idr@merit.edu>; Mon, 22 Apr 2002 13:28:44 -0400 (EDT) Received: from smtp.adc.com (localhost [127.0.0.1]) by smtp.adc.com (8.11.1/8.11.1) with ESMTP id g3MHShX25059 for <idr@merit.edu>; Mon, 22 Apr 2002 12:28:43 -0500 (CDT) Received: from kbenstead (bas-195-163.basystems.com [146.71.195.163]) by smtp.adc.com (8.11.1/8.11.1) with SMTP id g3MHShw25049 for <idr@merit.edu>; Mon, 22 Apr 2002 12:28:43 -0500 (CDT) From: "Ken Benstead" <ken_benstead@adc.com> To: <idr@merit.edu> Subject: BGP-4 MIBv2 NLRI Table Date: Mon, 22 Apr 2002 13:29:10 -0400 Message-ID: <NEBBIAJEGKNCNDDKGDDAOEOOCGAA.ken_benstead@adc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-idr@merit.edu Precedence: bulk Hi Folks, I noticed that the NLRI Table in the BGP4 MIBv2 (draft 2) has the following index clause: INDEX { bgpM2PeerIndex, bgpM2NlriAfi, bgpM2NlriSafi, bgpM2NlriPrefixLen, bgpM2NlriPrefix, bgpM2NlriIndex } Is there a reason that the bgpM2NlriPrefixLen and bgpM2NlriPrefix objects are the opposite order to what one might normally expect? For example, in the BGP-4 Received Path Attribute Table of RFC1657 the index clause is: INDEX { bgp4PathAttrIpAddrPrefix, bgp4PathAttrIpAddrPrefixLen, bgp4PathAttrPeer } Thanks, Ken Benstead Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA07177 for <idr-archive@nic.merit.edu>; Fri, 19 Apr 2002 11:40:58 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 6B515912D3; Fri, 19 Apr 2002 11:35:26 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 14B48912D8; Fri, 19 Apr 2002 11:35:25 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 47FC8912D3 for <idr@trapdoor.merit.edu>; Fri, 19 Apr 2002 11:35:20 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 2928F5DF36; Fri, 19 Apr 2002 11:35:20 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id C760F5DDAA for <idr@merit.edu>; Fri, 19 Apr 2002 11:35:19 -0400 (EDT) Received: from SKH.nexthop.com ([64.211.218.122]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3JFWWW54181; Fri, 19 Apr 2002 11:32:32 -0400 (EDT) (envelope-from skh@nexthop.com) Message-Id: <5.0.0.25.0.20020419111720.0345f870@mail.nexthop.com> X-Sender: skh@mail.nexthop.com X-Mailer: QUALCOMM Windows Eudora Version 5.0 Date: Fri, 19 Apr 2002 11:32:31 -0400 To: hans.de_vleeschouwer@alcatel.be From: Susan Hares <skh@nexthop.com> Subject: Re: exponentila backoff in idle state??? Cc: BGP mailing list <idr@merit.edu>, Gilles Geerts <gilles.geerts@alcatel.be>, Wim henderickx <wim.henderickx@alcatel.be>, Peter Reynders <peter.reynders@alcatel.be>, Jonathan.Ting@alcatel.com In-Reply-To: <3CC02DB1.5F5D6050@alcatel.be> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-idr@merit.edu Precedence: bulk Hans: I am submitting an Internet draft on backoff based on the bgp-4 state machine draft. These drafts are being reviewed by implementors to see if they match existing implementations. Would you open to reviewing this draft as well as the state machine draft I sent. Please let me know and I'll send the text. By the end of the month, these documents will go to the working group. So... get your comments in now. Sue Hares At 04:46 PM 4/19/2002 +0200, hans.de_vleeschouwer@alcatel.be wrote: >Hi, > >I have a question related to exponential backoff algorithm that is >described in the BGP state machine for the state idle (RFC 1771, section >8) > >According to the RFC, the system should use an exponentially growing >timer (first 60s, then 120 sec,...) each time its decides for its own to >leave the state idle. > >I have tried to invoke this situation by connecting routers (various >types) to a test device. Using the test device I generate a TCP RST >(i.e. forced clear of the TCP connection) to abnormally close the TCP >connection. > >I noticed that the routers I have tested do not use the exponential >backoff for this case. > >So my question would be: >- is this part of the RFC still being used? >- is this part of the RF not applicable for the TCP RST case. > >Any help is appreciated. > > >Hans. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA06547 for <idr-archive@nic.merit.edu>; Fri, 19 Apr 2002 11:18:09 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id D894A912CA; Fri, 19 Apr 2002 11:17:47 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id A8289912CB; Fri, 19 Apr 2002 11:17:47 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id F30B1912CA for <idr@trapdoor.merit.edu>; Fri, 19 Apr 2002 11:17:07 -0400 (EDT) Received: by segue.merit.edu (Postfix) id D05375DECB; Fri, 19 Apr 2002 11:17:07 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 4ECD45DDA4 for <idr@merit.edu>; Fri, 19 Apr 2002 11:17:07 -0400 (EDT) Received: from SKH.nexthop.com ([64.211.218.122]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3JFH5W53694; Fri, 19 Apr 2002 11:17:05 -0400 (EDT) (envelope-from skh@nexthop.com) Message-Id: <5.0.0.25.0.20020419110334.034629c0@mail.nexthop.com> X-Sender: skh@mail.nexthop.com X-Mailer: QUALCOMM Windows Eudora Version 5.0 Date: Fri, 19 Apr 2002 11:17:05 -0400 To: idr@merit.edu From: Susan Hares <skh@nexthop.com> Subject: Last call on Graceful Restart Cc: skh@nexthop.com Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-idr@merit.edu Precedence: bulk This message will start Working Group Last call on: Graceful Restart Mechanism for BGP draft-ietf-idr-restart-03.txt authors: Srihari R. Sangli (Procket Networks) Yakov Rekhter (Juniper Networks) Rex Fernando (Procket Networks) John G. Scudder (Cisco Systems) Enke Chen (Redback Networks The Last call will end on 5/3/02. Sue Hares Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA05833 for <idr-archive@nic.merit.edu>; Fri, 19 Apr 2002 10:52:23 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id A0DCC912C9; Fri, 19 Apr 2002 10:52:04 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 7260A912CA; Fri, 19 Apr 2002 10:52:04 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 56532912C9 for <idr@trapdoor.merit.edu>; Fri, 19 Apr 2002 10:52:03 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 348A15DECC; Fri, 19 Apr 2002 10:52:03 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id A65615DDA8 for <idr@merit.edu>; Fri, 19 Apr 2002 10:52:02 -0400 (EDT) Received: from SKH.nexthop.com ([64.211.218.122]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3JEq1W53093; Fri, 19 Apr 2002 10:52:01 -0400 (EDT) (envelope-from skh@nexthop.com) Message-Id: <5.0.0.25.0.20020419104920.038894e0@mail.nexthop.com> X-Sender: skh@mail.nexthop.com X-Mailer: QUALCOMM Windows Eudora Version 5.0 Date: Fri, 19 Apr 2002 10:52:00 -0400 To: idr@merit.edu From: Susan Hares <skh@nexthop.com> Subject: Last call on Extended Communities Cc: yakov Rekhter <yakov@juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-idr@merit.edu Precedence: bulk This note is to start Working Group last call on: BGP Extended Communities Attribute draft-ietf-idr-bgp-ext-communities-03.txt This last call will go for 2 weeks, and will terminate on 5/3. Sue Hares Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA05717 for <idr-archive@nic.merit.edu>; Fri, 19 Apr 2002 10:46:48 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 5A06B912C8; Fri, 19 Apr 2002 10:46:25 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 277CC912C9; Fri, 19 Apr 2002 10:46:25 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 82AE6912C8 for <idr@trapdoor.merit.edu>; Fri, 19 Apr 2002 10:46:19 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 553465DEC7; Fri, 19 Apr 2002 10:46:19 -0400 (EDT) Delivered-To: idr@merit.edu Received: from bt0g2p.god.bel.alcatel.be (alc250.alcatel.be [195.207.101.250]) by segue.merit.edu (Postfix) with ESMTP id BD0A25DEBE for <idr@merit.edu>; Fri, 19 Apr 2002 10:46:18 -0400 (EDT) Received: from Bemail06.net.alcatel.be (relay3 [127.0.0.1]) by bt0g2p.god.bel.alcatel.be (8.11.0/8.11.4) with ESMTP id g3JEj3t29277; Fri, 19 Apr 2002 16:45:03 +0200 Received: from alcatel.be ([138.203.191.116]) by Bemail06.net.alcatel.be (Lotus Domino Release 5.0.8) with ESMTP id 2002041916461578:1742 ; Fri, 19 Apr 2002 16:46:15 +0200 Message-ID: <3CC02DB1.5F5D6050@alcatel.be> Date: Fri, 19 Apr 2002 16:46:09 +0200 From: hans.de_vleeschouwer@alcatel.be X-Mailer: Mozilla 4.72 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: BGP mailing list <idr@merit.edu> Cc: Gilles Geerts <gilles.geerts@alcatel.be>, Wim henderickx <wim.henderickx@alcatel.be>, Peter Reynders <peter.reynders@alcatel.be>, Jonathan.Ting@alcatel.com Subject: exponentila backoff in idle state??? X-MIMETrack: Itemize by SMTP Server on BEMAIL06/BE/ALCATEL(Release 5.0.8 |June 18, 2001) at 04/19/2002 16:46:15, Serialize by Router on BEMAIL06/BE/ALCATEL(Release 5.0.8 |June 18, 2001) at 04/19/2002 16:46:17, Serialize complete at 04/19/2002 16:46:17 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii Sender: owner-idr@merit.edu Precedence: bulk Hi, I have a question related to exponential backoff algorithm that is described in the BGP state machine for the state idle (RFC 1771, section 8) According to the RFC, the system should use an exponentially growing timer (first 60s, then 120 sec,...) each time its decides for its own to leave the state idle. I have tried to invoke this situation by connecting routers (various types) to a test device. Using the test device I generate a TCP RST (i.e. forced clear of the TCP connection) to abnormally close the TCP connection. I noticed that the routers I have tested do not use the exponential backoff for this case. So my question would be: - is this part of the RFC still being used? - is this part of the RF not applicable for the TCP RST case. Any help is appreciated. Hans. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id WAA16226 for <idr-archive@nic.merit.edu>; Thu, 18 Apr 2002 22:24:56 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 4D74C91245; Thu, 18 Apr 2002 22:24:31 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 1729491251; Thu, 18 Apr 2002 22:24:31 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8142D91245 for <idr@trapdoor.merit.edu>; Thu, 18 Apr 2002 22:24:29 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 565625DEA0; Thu, 18 Apr 2002 22:24:29 -0400 (EDT) Delivered-To: idr@merit.edu Received: from cisco.com (uzura.cisco.com [64.102.17.77]) by segue.merit.edu (Postfix) with ESMTP id D09265DE9F for <idr@merit.edu>; Thu, 18 Apr 2002 22:24:28 -0400 (EDT) Received: from ruwhite-u10.cisco.com (ruwhite-u10.cisco.com [64.102.48.251]) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id WAA16798; Thu, 18 Apr 2002 22:24:27 -0400 (EDT) Date: Thu, 18 Apr 2002 22:24:27 -0400 (EDT) From: Russ White <ruwhite@cisco.com> Reply-To: Russ White <riw@cisco.com> To: Pedro Roque Marques <roque@juniper.net> Cc: idr@merit.edu Subject: Re: BGP-17 Draft Comments... In-Reply-To: <200204190145.g3J1jQ701425@roque-bsd.juniper.net> Message-ID: <Pine.GSO.4.21.0204182221160.16456-100000@ruwhite-u10.cisco.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-idr@merit.edu Precedence: bulk > As with software, it is quite possible to, when attempting to > modify a specification to correct some perceived problem, to > introduce new ones. So, i think we should be quite > conservative when changing the spec... sometimes inocent > changes introduce backwards compatibility problems that end > up being quite problematic in the field... and once the spec > is modified one is kind of in a jam between what the spec > says and interoperability. Agreed.... Responses within.... :-) > > 4.3 > > > The UPDATE message always includes the fixed-size BGP header, and > > also includes the other fields as shown below (note, some of the > > shown fields may not be present in every UPDATE message): > > > I assume that the fixed length fields must always be included, or > > there is not way to parse the update format. In light of this, it > > might be better to change this to state: "....(note, some of the > > shown variable length fields may not be present....)" > > I think the original text is just fine... But, just adding the words "variable length" makes it clearer what fields we are talking about not being in the update. Reading through the entire draft, you would know that, but it's easier to read if it's clear here. > > version number each supports. If an open attempt fails with an Error > > Code OPEN Message Error, and an Error Subcode Unsupported Version > > Number, then the BGP speaker has available the version number it > > tried, the version number its peer tried, the version number passed > > by its peer in the NOTIFICATION message, and the version numbers > > that it supports. > > > This sentence doesn't seem to make any sense. > > Makes perfect sense to me... tells one to keep around the versions > that where exchanged for diagnostics purposes... > > > Maybe: > > > If an open attempt fails bceause of a version number mismatch, then > > the local BGP speaker should receive an Error Code OPEN Message > > Error with an Error Subcode Unsupported Version Number. On receiving > > this notification, the local BGP speaker should have available the > > version number it tried, the version number its peer tried, and the > > version numbers it supports. > > Version negotiation is not being used at the moment... as far > as i know nobody uses version < 4 anymore... so why change > the document ? Well, we might change versions in the future, so it would be nice if this text were clear to someone just implementing. > > To minimize the likelihood that the distribution of BGP messages > > by a given BGP speaker will contain peaks, jitter should be applied > > to the timers associated with MinASOriginationInterval, Keepalive, > > and MinRouteAdvertisementInterval. > > > Hmmm.... Maybe: > > > "To minimize the likelihood that the distribution of BGP messages by > > a given BGP speaker will cluster around a particular time, causing a > > short term spike in traffic which could overwhelm the network or the > > peer, ...." > > I don't see a reason to make this change... the "peaks" > argument above is good enought imho. But what do you mean by "peaks?" That's just the word I was trying to kill off, so as to provide a "more complete" or "more correct" explanation. :-) Russ __________________________________ riw@cisco.com CCIE <>< Grace Alone Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id VAA15198 for <idr-archive@nic.merit.edu>; Thu, 18 Apr 2002 21:47:11 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 5631291251; Thu, 18 Apr 2002 21:45:34 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 2404B91259; Thu, 18 Apr 2002 21:45:34 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id C4DF091251 for <idr@trapdoor.merit.edu>; Thu, 18 Apr 2002 21:45:32 -0400 (EDT) Received: by segue.merit.edu (Postfix) id DC9795DEA1; Thu, 18 Apr 2002 21:45:31 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 51DFA5DE7C for <idr@merit.edu>; Thu, 18 Apr 2002 21:45:31 -0400 (EDT) Received: from roque-bsd.juniper.net (roque-bsd.juniper.net [172.17.12.183]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3J1jRT75907; Thu, 18 Apr 2002 18:45:27 -0700 (PDT) (envelope-from roque@juniper.net) Received: (from roque@localhost) by roque-bsd.juniper.net (8.11.1/8.9.3) id g3J1jQ701425; Thu, 18 Apr 2002 18:45:26 -0700 (PDT) (envelope-from roque) Date: Thu, 18 Apr 2002 18:45:26 -0700 (PDT) Message-Id: <200204190145.g3J1jQ701425@roque-bsd.juniper.net> From: Pedro Roque Marques <roque@juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Russ White <riw@cisco.com> Cc: idr@merit.edu Subject: BGP-17 Draft Comments... In-Reply-To: <Pine.GSO.4.21.0204182111370.16351-100000@ruwhite-u10.cisco.com> References: <Pine.GSO.4.21.0204182111370.16351-100000@ruwhite-u10.cisco.com> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Sender: owner-idr@merit.edu Precedence: bulk Russ White writes: > Alvaro and I spent some time going over draft 17, and came up with > just a few comments, below. Some of them may overlap to some degree. Russ, Some comments on your comments bellow... and generic meta-comment not directed at you in particular... As with software, it is quite possible to, when attempting to modify a specification to correct some perceived problem, to introduce new ones. So, i think we should be quite conservative when changing the spec... sometimes inocent changes introduce backwards compatibility problems that end up being quite problematic in the field... and once the spec is modified one is kind of in a jam between what the spec says and interoperability. > ----- > 4.3 UPDATE Message Format ... > This section defines the encoding for announcing and withdrawing > paths...saying things like: > Total Path Attribute Length: > This 2-octet unsigned integer indicates the total length of > the Path Attributes field in octets. Its value must allow the length > of the Network Layer Reachability field to be determined as > specified below. > A value of 0 indicates that no Network Layer Reachability > Information field is present in this UPDATE message. > But rfc2858 (Multiprotocol Extensions for BGP-4) reads: > An UPDATE message that carries no NLRI, other than the one > encoded in the MP_REACH_NLRI attribute, should not carry the > NEXT_HOP attribute. If such a message contains the NEXT_HOP > attribute, the BGP speaker that receives the message should ignore > this attribute. > How can the Total Path Attribute Length be = 0 (to indicate no > NLRI), but still carry other attributes?!?! There is no incompatibility between the 2 statements... An update containing only withrawls will have a 0 attribute length... this message won't include MP_ attributes... An update may include MP_{UN,}REACH attributes and no non-mp NLRI... > Suggested new text - eliminate the second paragraph: > ================ Total Path Attribute Length: > This 2-octet unsigned integer indicates the total length of the Path > Attributes field in octets. Its value must allow the length of the > Network Layer Reachability field to be determined as specified > below. ================ This is incorrect imho... one can have attributes and no NLRI... I don't think there is any reason to do any changes here... > Marker: > This 16-octet field contains a value that the receiver of > the message can predict. If the Type of the message is OPEN, or if > the OPEN message carries no Authentication Information (as an > Optional Parameter), then the Marker must be all ones. Otherwise, > the value of the marker can be predicted by some a computation > specified as part of the authentication mechanism (which is > specified as part of the Authentication Information) used. The > Marker can be used to detect loss of synchronization between a pair > of BGP peers, and to authenticate incoming BGP messages. > I would rewrite it to say: > This 16-octet field contains a value that the receiver of the > message can predict. If the Type of the message is OPEN, or if no > authentication mechanism (which is specified as part of the > Authentication Information Optional Parameter in the OPEN message) > is used, then the Marker must be all ones. Otherwise, the value of > the marker can be predicted by a computation specified as part of > the authentication mechanism in use. The Marker can be used to > detect loss of synchronization between a pair of BGP peers, and to > authenticate incoming BGP messages. I prefer the original text as it makes it clear that if you do not use authentication then the marker is all ones... since to my knowledge the bgp authentication field is not used, the first phrase in the original text makes it quite clear what to do. > ---- > 4.3 > The UPDATE message always includes the fixed-size BGP header, and > also includes the other fields as shown below (note, some of the > shown fields may not be present in every UPDATE message): > I assume that the fixed length fields must always be included, or > there is not way to parse the update format. In light of this, it > might be better to change this to state: "....(note, some of the > shown variable length fields may not be present....)" I think the original text is just fine... > ---- > 7. > version number each supports. If an open attempt fails with an Error > Code OPEN Message Error, and an Error Subcode Unsupported Version > Number, then the BGP speaker has available the version number it > tried, the version number its peer tried, the version number passed > by its peer in the NOTIFICATION message, and the version numbers > that it supports. > This sentence doesn't seem to make any sense. Makes perfect sense to me... tells one to keep around the versions that where exchanged for diagnostics purposes... > Maybe: > If an open attempt fails bceause of a version number mismatch, then > the local BGP speaker should receive an Error Code OPEN Message > Error with an Error Subcode Unsupported Version Number. On receiving > this notification, the local BGP speaker should have available the > version number it tried, the version number its peer tried, and the > version numbers it supports. Version negotiation is not being used at the moment... as far as i know nobody uses version < 4 anymore... so why change the document ? > 9.2.1.1 > Two UPDATE messages sent from a single BGP speaker that advertise > feasible routes to some common set of destinations received from > external peers must be separated by at least > MinRouteAdvertisementInterval. Clearly, this can only be achieved > precisely by keeping a separate timer for each common set of > destinations. This would be unwarranted overhead. Any technique > which ensures that the interval between two UPDATE messages sent > from a single BGP speaker that advertise feasible routes to some > common set of destinations received from external peers will be at > least MinRouteAdvertisementInterval, and will also ensure a constant > upper bound on the interval is acceptable. > Didn't we determine (on list) that this was true of unfeasible > destinations as well? I think that the only consensus on this issue is that there is no consensus... this is one of those areas where each vendor just has to apply it's own judgement, imho. AFAIK no vendor follows the above recomendation anyway... with different equipment exibiting different behaviours without causing interoperability issues. > ---- > 9.2.1.3 Jitter > To minimize the likelihood that the distribution of BGP messages > by a given BGP speaker will contain peaks, jitter should be applied > to the timers associated with MinASOriginationInterval, Keepalive, > and MinRouteAdvertisementInterval. > Hmmm.... Maybe: > "To minimize the likelihood that the distribution of BGP messages by > a given BGP speaker will cluster around a particular time, causing a > short term spike in traffic which could overwhelm the network or the > peer, ...." I don't see a reason to make this change... the "peaks" argument above is good enought imho. Pedro. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id VAA14393 for <idr-archive@nic.merit.edu>; Thu, 18 Apr 2002 21:13:26 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id E63F391245; Thu, 18 Apr 2002 21:12:45 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id ABE5991251; Thu, 18 Apr 2002 21:12:45 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 4050A91245 for <idr@trapdoor.merit.edu>; Thu, 18 Apr 2002 21:12:44 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 1A3775DE90; Thu, 18 Apr 2002 21:12:44 -0400 (EDT) Delivered-To: idr@merit.edu Received: from cisco.com (uzura.cisco.com [64.102.17.77]) by segue.merit.edu (Postfix) with ESMTP id C3BFB5DE7C for <idr@merit.edu>; Thu, 18 Apr 2002 21:12:43 -0400 (EDT) Received: from ruwhite-u10.cisco.com (ruwhite-u10.cisco.com [64.102.48.251]) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id VAA15252 for <idr@merit.edu>; Thu, 18 Apr 2002 21:12:43 -0400 (EDT) Date: Thu, 18 Apr 2002 21:12:43 -0400 (EDT) From: Russ White <ruwhite@cisco.com> Reply-To: Russ White <riw@cisco.com> To: idr@merit.edu Subject: BGP-17 Draft Comments... Message-ID: <Pine.GSO.4.21.0204182111370.16351-100000@ruwhite-u10.cisco.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-idr@merit.edu Precedence: bulk Alvaro and I spent some time going over draft 17, and came up with just a few comments, below. Some of them may overlap to some degree. :-) Russ __________________________________ riw@cisco.com CCIE <>< Grace Alone ----- 4.3 UPDATE Message Format ... This section defines the encoding for announcing and withdrawing paths...saying things like: Total Path Attribute Length: This 2-octet unsigned integer indicates the total length of the Path Attributes field in octets. Its value must allow the length of the Network Layer Reachability field to be determined as specified below. A value of 0 indicates that no Network Layer Reachability Information field is present in this UPDATE message. But rfc2858 (Multiprotocol Extensions for BGP-4) reads: An UPDATE message that carries no NLRI, other than the one encoded in the MP_REACH_NLRI attribute, should not carry the NEXT_HOP attribute. If such a message contains the NEXT_HOP attribute, the BGP speaker that receives the message should ignore this attribute. How can the Total Path Attribute Length be = 0 (to indicate no NLRI), but still carry other attributes?!?! Suggested new text - eliminate the second paragraph: ================ Total Path Attribute Length: This 2-octet unsigned integer indicates the total length of the Path Attributes field in octets. Its value must allow the length of the Network Layer Reachability field to be determined as specified below. ================ A reference should be made to rfc2858 for "alternate advertisement/withdraw mechanisms". >From aretana@cisco.com Thu Apr 18 20:57:52 2002 Date: Fri, 29 Mar 2002 09:44:32 -0500 (EST) From: Alvaro Retana <aretana@cisco.com> To: riw@cisco.com Subject: Optional Parameters This document defines the following Optional Parameters: a) Authentication Information (Parameter Type 1): (1) Only one parameter is defined... (2) If we want to reflect current implementations/deployment, shouldn't we at least make reference to the other parameters?? Even if all the text is not included, just a reference should be made... ---- BGP Identifier: This 4-octet unsigned integer indicates the BGP Identifier of the sender. A given BGP speaker sets the value of its BGP Identifier to an IP address assigned to that BGP speaker. The value of the BGP Identifier is determined on startup and is the same for every local interface and every BGP peer. But draft-ietf-idr-bgp-identifier-00.txt, which proposes an alternate definition, is a WG document. IMHO, we should incorporate the text from draft-ietf-idr-bgp-identifier-00.txt in the spec. In fact, draft-ietf-idr-bgp-identifier-00.txt reads: Therefore it is concluded that the revisions proposed in this document do not introduce any backward compatibility issue with the current usage of the BGP Identifier. ---- Hold Time: This 2-octet unsigned integer indicates the number of seconds that the sender proposes for the value of the Hold Timer. Upon receipt of an OPEN message, a BGP speaker MUST calculate the value of the Hold Timer by using the smaller of its configured Hold Time and the Hold Time received in the OPEN message. The Hold Time MUST be either zero or at least three seconds. An implementation may reject connections on the basis of the Hold Time. The calculated value indicates the maximum number of seconds that may elapse between the receipt of successive KEEPALIVE, and/or UPDATE messages by the sender. "The Hold Time MUST be either zero or at least three seconds." The text doesn't explain (here, it does elsewhere) what happens if the Hold Time is zero. It is not straight forward beacuse the definition is "maximum number of seconds that may elapse between the receipt of successive KEEPALIVE, and/or UPDATE messages by the sender". We should add at the end: "If the negotiated Hold time value is zero, then the session never expires. ---- Appendix 1. Comparison with RFC1771 There are numerous editorial changes (too many to list here). The following list the technical changes: Changes to reflect the usages of such features as TCP MD5 [10], BGP Route Reflectors [11], BGP Confederations [13], and BGP Route Refresh [12]. ...but when the message types are defined, Route Refresh is left out: Type: This 1-octet unsigned integer indicates the type code of the message. The following type codes are defined: 1 - OPEN 2 - UPDATE 3 - NOTIFICATION 4 - KEEPALIVE For completeness...and to reflect the current state, shouldn't type 5 be included?? Route refresh is mentioned a couple of times. ---- Marker: This 16-octet field contains a value that the receiver of the message can predict. If the Type of the message is OPEN, or if the OPEN message carries no Authentication Information (as an Optional Parameter), then the Marker must be all ones. Otherwise, the value of the marker can be predicted by some a computation specified as part of the authentication mechanism (which is specified as part of the Authentication Information) used. The Marker can be used to detect loss of synchronization between a pair of BGP peers, and to authenticate incoming BGP messages. I would rewrite it to say: This 16-octet field contains a value that the receiver of the message can predict. If the Type of the message is OPEN, or if no authentication mechanism (which is specified as part of the Authentication Information Optional Parameter in the OPEN message) is used, then the Marker must be all ones. Otherwise, the value of the marker can be predicted by a computation specified as part of the authentication mechanism in use. The Marker can be used to detect loss of synchronization between a pair of BGP peers, and to authenticate incoming BGP messages. The part thats kindda confusing is which messages should carry all ones...and then the part that reads: "...predicted by some a computation...". ---- 4.3 The UPDATE message always includes the fixed-size BGP header, and also includes the other fields as shown below (note, some of the shown fields may not be present in every UPDATE message): I assume that the fixed length fields must always be included, or there is not way to parse the update format. In light of this, it might be better to change this to state: "....(note, some of the shown variable length fields may not be present....)" ---- 7. version number each supports. If an open attempt fails with an Error Code OPEN Message Error, and an Error Subcode Unsupported Version Number, then the BGP speaker has available the version number it tried, the version number its peer tried, the version number passed by its peer in the NOTIFICATION message, and the version numbers that it supports. This sentence doesn't seem to make any sense. Maybe: If an open attempt fails bceause of a version number mismatch, then the local BGP speaker should receive an Error Code OPEN Message Error with an Error Subcode Unsupported Version Number. On receiving this notification, the local BGP speaker should have available the version number it tried, the version number its peer tried, and the version numbers it supports. page 32 ---- 9.2.1.1 Two UPDATE messages sent from a single BGP speaker that advertise feasible routes to some common set of destinations received from external peers must be separated by at least MinRouteAdvertisementInterval. Clearly, this can only be achieved precisely by keeping a separate timer for each common set of destinations. This would be unwarranted overhead. Any technique which ensures that the interval between two UPDATE messages sent from a single BGP speaker that advertise feasible routes to some common set of destinations received from external peers will be at least MinRouteAdvertisementInterval, and will also ensure a constant upper bound on the interval is acceptable. Didn't we determine (on list) that this was true of unfeasible destinations as well? ---- 9.2.1.3 Jitter To minimize the likelihood that the distribution of BGP messages by a given BGP speaker will contain peaks, jitter should be applied to the timers associated with MinASOriginationInterval, Keepalive, and MinRouteAdvertisementInterval. Hmmm.... Maybe: "To minimize the likelihood that the distribution of BGP messages by a given BGP speaker will cluster around a particular time, causing a short term spike in traffic which could overwhelm the network or the peer, ...." Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id OAA13261 for <idr-archive@nic.merit.edu>; Thu, 11 Apr 2002 14:48:47 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 489C591237; Thu, 11 Apr 2002 14:48:26 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 1657991238; Thu, 11 Apr 2002 14:48:25 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 49A3791237 for <idr@trapdoor.merit.edu>; Thu, 11 Apr 2002 14:47:28 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 1C5E05DE73; Thu, 11 Apr 2002 14:47:28 -0400 (EDT) Delivered-To: idr@merit.edu Received: from pilgrim.cisco.com (pilgrim.cisco.com [161.44.168.94]) by segue.merit.edu (Postfix) with ESMTP id A6B2F5DDFB for <idr@merit.edu>; Thu, 11 Apr 2002 14:47:27 -0400 (EDT) Received: from tappan-w2k.cisco.com (ch2-dhcp134-226.cisco.com [161.44.134.226]) by pilgrim.cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id OAA23146; Thu, 11 Apr 2002 14:47:25 -0400 (EDT) Message-Id: <4.3.2.7.2.20020411143104.021671c8@pilgrim.cisco.com> X-Sender: tappan@pilgrim.cisco.com X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Thu, 11 Apr 2002 14:47:24 -0400 To: Jeffrey Haas <jhaas@nexthop.com> From: Dan Tappan <tappan@cisco.com> Subject: Re: Additional extended communities clarification Cc: idr@merit.edu In-Reply-To: <20020411121603.F10474@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: owner-idr@merit.edu Precedence: bulk At 12:16 PM 4/11/2002 -0400, Jeffrey Haas wrote: >In section 5, "New BGP Extended Community Types" (new? they didn't exist >before), we get 0x00 - 0x03. Were these really intended to be restricted >to transitive? If not, perhaps labeling them as 0x00 and 0x40, etc. >may be more appropriate. I believe that the intent of the transitive bit was that it should be an orthogonal property of the community. So, any defined community "type" value would have a transitive and a non-transitive variant. Unfortunately that's made the term "type" ambiguous as to whether it refers to the assigned value (with the transitive bit masked off) or the value in a packet. The intent of that paragraph was the former. I think what happened was that all that text equating "type" to octets was written before the transitive bit was assigned. We could either explicitly list transitive and non-transitive versions of each value, not only in section 5 but also in all the following sections, or we can come up with a different terms for the first 1 or 2 octets vs the assigned value. Maybe "Type field" vs "type-code"? Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA10522 for <idr-archive@nic.merit.edu>; Thu, 11 Apr 2002 12:39:19 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id D916F9133B; Thu, 11 Apr 2002 12:38:58 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id AA8119133C; Thu, 11 Apr 2002 12:38:58 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 5A4799133B for <idr@trapdoor.merit.edu>; Thu, 11 Apr 2002 12:38:56 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 39F7F5DECD; Thu, 11 Apr 2002 12:38:56 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id DC4105DEB4 for <idr@merit.edu>; Thu, 11 Apr 2002 12:38:55 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3BGctT97812 for <idr@merit.edu>; Thu, 11 Apr 2002 09:38:55 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204111638.g3BGctT97812@merlot.juniper.net> To: idr@merit.edu Subject: clarification on multiple instances of capabilities MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <83285.1018543135.1@juniper.net> Date: Thu, 11 Apr 2002 09:38:55 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Folks, In the absence of any objections by 4/17, I'll add the following two paragraphs to the draft: BGP speakers SHOULD NOT include more than one instance of a capability with the same Capability Code, Capability Length, and Capability Value. Note however, that processing of multiple instances of such capability does not require special handling, as additional instances do not change the meaning of announced capability. BGP speakers MAY include more than one instance of a capability (as identified by the Capability Code) with non-zero Capability Length field, but with different Capability Value, and either the same or different Capability Length. Processing of these capability instances is specific to the Capability Code and MUST be described in the document introducing the new capability. These two paragraphs will be added to address the comments brought up by Alex. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA09953 for <idr-archive@nic.merit.edu>; Thu, 11 Apr 2002 12:18:57 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 898DD9133A; Thu, 11 Apr 2002 12:18:36 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 5D0CF91208; Thu, 11 Apr 2002 12:18:36 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 4D7B59133B for <idr@trapdoor.merit.edu>; Thu, 11 Apr 2002 12:17:46 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 22CF35DEA4; Thu, 11 Apr 2002 12:17:46 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 937615DDD8 for <idr@merit.edu>; Thu, 11 Apr 2002 12:17:45 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3BGHkU13872 for <idr@merit.edu>; Thu, 11 Apr 2002 12:17:46 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3BGG3n11440 for idr@merit.edu; Thu, 11 Apr 2002 12:16:03 -0400 (EDT) Date: Thu, 11 Apr 2002 12:16:03 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: idr@merit.edu Subject: Additional extended communities clarification Message-ID: <20020411121603.F10474@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk In section 5, "New BGP Extended Community Types" (new? they didn't exist before), we get 0x00 - 0x03. Were these really intended to be restricted to transitive? If not, perhaps labeling them as 0x00 and 0x40, etc. may be more appropriate. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA15673 for <idr-archive@nic.merit.edu>; Wed, 10 Apr 2002 17:34:13 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 20F4D91322; Wed, 10 Apr 2002 17:33:51 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id F0BF891323; Wed, 10 Apr 2002 17:33:50 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id F31CB91322 for <idr@trapdoor.merit.edu>; Wed, 10 Apr 2002 17:33:49 -0400 (EDT) Received: by segue.merit.edu (Postfix) id CCF725DDED; Wed, 10 Apr 2002 17:33:49 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 6EF835DD9B for <idr@merit.edu>; Wed, 10 Apr 2002 17:33:49 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g3ALXNU87119; Wed, 10 Apr 2002 17:33:23 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g3ALVhx08911; Wed, 10 Apr 2002 17:31:43 -0400 (EDT) Date: Wed, 10 Apr 2002 17:31:42 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Yakov Rekhter <yakov@juniper.net> Cc: Dan Tappan <tappan@cisco.com>, idr@merit.edu Subject: Re: extended communities questions and observations Message-ID: <20020410173142.F8408@nexthop.com> References: <20020409165712.C6231@nexthop.com> <200204102127.g3ALRET53184@merlot.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204102127.g3ALRET53184@merlot.juniper.net>; from yakov@juniper.net on Wed, Apr 10, 2002 at 02:27:14PM -0700 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk On Wed, Apr 10, 2002 at 02:27:14PM -0700, Yakov Rekhter wrote: > How about replacing in both Section 6 and 7: > > When the value of the Type field is 0x00 or 0x02, the value of the > Local Administrator sub-field in the Value Field MUST be unique > within the Autonomous system carried in the Global Administrator sub- > field. > > with the following: > > When the value of the Type field is 0x00 or 0x02, the Local > Administrator sub-field contains a number from a numbering > space which is administered by the organization to which the > ASN carried in the Global Administrator subfield has been > assigned by an appropriate authority. > > When the value of the Type field is 0x01, the Local Administrator > sub-field contains a number from a numbering space which is > administered by the organization to which the IP address carried > in the Global Administrator subfield has been assigned by an > appropriate authority. This would work. It'd also be just as good to say (excerpted): The Local Administrator sub-field contains a number from a numbering space which is administered by the organization to which the Global Administrator subfield has been assigned by an appropriate authority. > Yakov. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA15564 for <idr-archive@nic.merit.edu>; Wed, 10 Apr 2002 17:27:56 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id CD37591321; Wed, 10 Apr 2002 17:27:28 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id EBC1B91322; Wed, 10 Apr 2002 17:27:26 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id DBF8E91321 for <idr@trapdoor.merit.edu>; Wed, 10 Apr 2002 17:27:25 -0400 (EDT) Received: by segue.merit.edu (Postfix) id B05E65DDED; Wed, 10 Apr 2002 17:27:25 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 5E1D25DD9B for <idr@merit.edu>; Wed, 10 Apr 2002 17:27:25 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g3ALRET53184; Wed, 10 Apr 2002 14:27:14 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204102127.g3ALRET53184@merlot.juniper.net> To: Jeffrey Haas <jhaas@nexthop.com> Cc: Dan Tappan <tappan@cisco.com>, idr@merit.edu Subject: Re: extended communities questions and observations In-Reply-To: Your message of "Tue, 09 Apr 2002 16:57:12 EDT." <20020409165712.C6231@nexthop.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <9940.1018474033.1@juniper.net> Date: Wed, 10 Apr 2002 14:27:14 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Jeff, > On Tue, Apr 09, 2002 at 03:50:28PM -0400, Dan Tappan wrote: > > Are you concerned by the fact that AS 65534 is from the private space? > > No. > > > "in order for the community value to be unique the local administrator > > value must be uniquely assigned by the entity or entities allocating values > > with a given global administrator value". > > > > But it is really necessary to spell that out? > > I would say yes, but ONLY if you're keeping the "uniqueness" paragraph > for Route Origin and Target. I'd be just as happy to have those > paragraphs deleted. How about replacing in both Section 6 and 7: When the value of the Type field is 0x00 or 0x02, the value of the Local Administrator sub-field in the Value Field MUST be unique within the Autonomous system carried in the Global Administrator sub- field. with the following: When the value of the Type field is 0x00 or 0x02, the Local Administrator sub-field contains a number from a numbering space which is administered by the organization to which the ASN carried in the Global Administrator subfield has been assigned by an appropriate authority. When the value of the Type field is 0x01, the Local Administrator sub-field contains a number from a numbering space which is administered by the organization to which the IP address carried in the Global Administrator subfield has been assigned by an appropriate authority. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id MAA08551 for <idr-archive@nic.merit.edu>; Wed, 10 Apr 2002 12:12:09 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id B0FAD9131C; Wed, 10 Apr 2002 12:11:40 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 8A6BA9131D; Wed, 10 Apr 2002 12:11:40 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 931659131C for <idr@trapdoor.merit.edu>; Wed, 10 Apr 2002 12:11:39 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 749F75DDCC; Wed, 10 Apr 2002 12:11:39 -0400 (EDT) Delivered-To: idr@merit.edu Received: from cisco.com (router.cisco.com [171.69.182.20]) by segue.merit.edu (Postfix) with ESMTP id A1B195DDCA for <idr@merit.edu>; Wed, 10 Apr 2002 12:11:38 -0400 (EDT) Received: from [171.69.182.154] (dhcp-171-69-182-154.cisco.com [171.69.182.154]) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id MAA09278; Wed, 10 Apr 2002 12:11:37 -0400 (EDT) Mime-Version: 1.0 X-Sender: jgs@router Message-Id: <p05101507b8da145aa622@[171.69.182.154]> In-Reply-To: <p05101505b8da0cacd962@[171.69.182.154]> References: <200203260103.g2Q13oT85615@merlot.juniper.net> <p05101505b8da0cacd962@[171.69.182.154]> Date: Wed, 10 Apr 2002 12:11:35 -0400 To: idr@merit.edu From: "John G. Scudder" <jgs@cisco.com> Subject: Re: 2842 Cc: Yakov Rekhter <yakov@juniper.net>, Alex Zinin <azinin@nexsi.com> Content-Type: text/plain; charset="us-ascii" ; format="flowed" Sender: owner-idr@merit.edu Precedence: bulk Following up to myself... Jeff Haas pointed out to me that 2858 takes advantage of this bug in 2842, so it's too late to stuff the genie back in the bottle. Under the circumstances, I withdraw my comments. --John Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA08014 for <idr-archive@nic.merit.edu>; Wed, 10 Apr 2002 11:46:42 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 3ED0A912E7; Wed, 10 Apr 2002 11:45:53 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 084DA91318; Wed, 10 Apr 2002 11:45:52 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id EA662912E7 for <idr@trapdoor.merit.edu>; Wed, 10 Apr 2002 11:45:51 -0400 (EDT) Received: by segue.merit.edu (Postfix) id C75E15DE08; Wed, 10 Apr 2002 11:45:51 -0400 (EDT) Delivered-To: idr@merit.edu Received: from cisco.com (router.cisco.com [171.69.182.20]) by segue.merit.edu (Postfix) with ESMTP id F1FC15DDA8 for <idr@merit.edu>; Wed, 10 Apr 2002 11:45:50 -0400 (EDT) Received: from [171.69.182.154] (dhcp-171-69-182-154.cisco.com [171.69.182.154]) by cisco.com (8.8.8/2.6/Cisco List Logging/8.8.8) with ESMTP id LAA08046; Wed, 10 Apr 2002 11:45:49 -0400 (EDT) Mime-Version: 1.0 X-Sender: jgs@router Message-Id: <p05101505b8da0cacd962@[171.69.182.154]> In-Reply-To: <200203260103.g2Q13oT85615@merlot.juniper.net> References: <200203260103.g2Q13oT85615@merlot.juniper.net> Date: Wed, 10 Apr 2002 11:45:43 -0400 To: Yakov Rekhter <yakov@juniper.net> From: "John G. Scudder" <jgs@cisco.com> Subject: Re: 2842 Cc: idr@merit.edu, Alex Zinin <azinin@nexsi.com> Content-Type: text/plain; charset="us-ascii" ; format="flowed" Sender: owner-idr@merit.edu Precedence: bulk I've finally read through this whole thread. Sorry for chiming in late. Anyway, the original problem cited was: At 5:03 PM -0800 3/25/02, Yakov Rekhter wrote: >During the IESG review Alex Zinin brought up an issue that the >the following text from the current spec is a bit underspecified: > > A particular capability, as identified by its Capability Code, may > occur more than once within the Optional Parameter. Let me start by saying that I cannot now imagine a good reason for the spec to say this. In fact, let me speculate that we are arguing about a typo, and that the simplest fix is to add a single word: A particular capability, as identified by its Capability Code, may NOT occur more than once within the Optional Parameter. Done, IMO. Is there any real, practical reason for any of the "well you mostly shouldn't send multiple capabilities but then again you can if you really want to" texts that have been circulated? Seems to be excessive specification and complexity for no payback. Thanks, --John Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id VAA20034 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 21:45:07 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id AE7BA912CD; Tue, 9 Apr 2002 20:48:55 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id DCC8C912CE; Tue, 9 Apr 2002 20:48:52 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 33D62912CD for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 20:47:46 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 052FC5DDA7; Tue, 9 Apr 2002 20:47:46 -0400 (EDT) Delivered-To: idr@merit.edu Received: from chrome.nexsi.com (system149.nexsi.com [66.35.207.149]) by segue.merit.edu (Postfix) with ESMTP id D14605DD8F for <idr@merit.edu>; Tue, 9 Apr 2002 20:47:45 -0400 (EDT) Received: from khonsu.Winnet.NEXSI.NET (khonsu.winnet.nexsi.net [192.168.104.132]) by chrome.nexsi.com (Postfix) with ESMTP id E501BF02D; Tue, 9 Apr 2002 17:47:33 -0700 (PDT) Date: Tue, 9 Apr 2002 17:43:51 -0700 From: Alex Zinin <azinin@nexsi.com> X-Mailer: The Bat! (v1.60c) Personal Reply-To: Alex Zinin <azinin@nexsi.com> Organization: Nexsi Systems X-Priority: 3 (Normal) Message-ID: <2825813708.20020409174351@nexsi.com> To: Yakov Rekhter <yakov@juniper.net> Cc: Jeffrey Haas <jhaas@nexthop.com>, idr@merit.edu Subject: Re: 2842 In-Reply-To: <200204091932.g39JWcT81683@merlot.juniper.net> References: <200204091932.g39JWcT81683@merlot.juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-idr@merit.edu Precedence: bulk Yakov, Jeff [bringing this back to the list] For some reason, Jeff's message did not get to me... I think Jeff's proposed text actually changes the meaning, not just wording. Specifically "Processing of these capability instances" sounds like processing of those with the same type, length and value, which is not what Yakov's text says. Alex > Date: Mon, 08 Apr 2002 11:25:15 EDT > To: Yakov Rekhter <yakov@juniper.net> > cc: Alex Zinin <azinin@nexsi.com>, idr@merit.edu > From: Jeffrey Haas <jhaas@nexthop.com> > Subject: Re: 2842 > Suggested tweaks, largely removing some redundancies between the two > paragraphs. > On Sun, Apr 07, 2002 at 02:37:04PM -0700, Yakov Rekhter wrote: >> BGP speakers SHOULD NOT include more than one instance of a >> capability with the same Capability Code, Capability Length, >> and Capability Value. Note however, that processing of multiple >> instances of such capability does not require special handling, >> as additional instances do not change the meaning of announced >> capability. >> BGP speakers MAY include more than one instance of a capability >> (as identified by the Capability Code) with non-zero Capability >> Length field, but with different Capability Value, and either >> the same or different Capability Length. Processing of these >> capability instances is specific to the Capability Code and MUST >> be described in the document introducing the new capability. > BGP speakers SHOULD NOT include more than one instance of a > capability with the same Capability Code, Capability Length and > Capability Value. Additional instances of a capability code do not > change the meaning of an announced capability. Processing of these > capability instances is specific to the Capabilility Code and MUST > be described in the document introducing the new capability. >> Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA13938 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 17:00:34 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id F3B8D912C2; Tue, 9 Apr 2002 16:58:50 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id BF3B0912C7; Tue, 9 Apr 2002 16:58:49 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 18A16912C2 for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 16:58:45 -0400 (EDT) Received: by segue.merit.edu (Postfix) id E7FF25DEC0; Tue, 9 Apr 2002 16:58:44 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 9314A5DEB5 for <idr@merit.edu>; Tue, 9 Apr 2002 16:58:44 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g39KwlU47164; Tue, 9 Apr 2002 16:58:47 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g39KvCB06661; Tue, 9 Apr 2002 16:57:12 -0400 (EDT) Date: Tue, 9 Apr 2002 16:57:12 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Dan Tappan <tappan@cisco.com> Cc: Yakov Rekhter <yakov@juniper.net>, idr@merit.edu Subject: Re: extended communities questions and observations Message-ID: <20020409165712.C6231@nexthop.com> References: <4.3.2.7.2.20020409150101.0215b8e0@pilgrim.cisco.com> <200204091802.g39I2hT76285@merlot.juniper.net> <20020408182036.D13188@nexthop.com> <200204091802.g39I2hT76285@merlot.juniper.net> <20020409145237.A6231@nexthop.com> <4.3.2.7.2.20020409150101.0215b8e0@pilgrim.cisco.com> <20020409152627.B6231@nexthop.com> <4.3.2.7.2.20020409153208.0215ce20@pilgrim.cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <4.3.2.7.2.20020409153208.0215ce20@pilgrim.cisco.com>; from tappan@cisco.com on Tue, Apr 09, 2002 at 03:50:28PM -0400 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk On Tue, Apr 09, 2002 at 03:50:28PM -0400, Dan Tappan wrote: > Are you concerned by the fact that AS 65534 is from the private space? No. > "in order for the community value to be unique the local administrator > value must be uniquely assigned by the entity or entities allocating values > with a given global administrator value". > > But it is really necessary to spell that out? I would say yes, but ONLY if you're keeping the "uniqueness" paragraph for Route Origin and Target. I'd be just as happy to have those paragraphs deleted. BTW: "Two extended communities are declared equal only when [the] entire 8 octets are equal" (note correction). > I guess I'm not sure what > your concern is: > - multiple assigners using the same GA value? > - A single assigner failing to keep track of which LA values have been > assigned? > > How is this different from any other number assignment problem- e.g. IP > addresses? > > > -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id PAA11947 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 15:28:29 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id CBBB6912B5; Tue, 9 Apr 2002 15:28:06 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 99820912B6; Tue, 9 Apr 2002 15:28:06 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8D5A7912B5 for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 15:28:05 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 69A975DE63; Tue, 9 Apr 2002 15:28:05 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id D8E0D5DE60 for <idr@merit.edu>; Tue, 9 Apr 2002 15:28:04 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g39JS3U44727; Tue, 9 Apr 2002 15:28:03 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g39JQRK06468; Tue, 9 Apr 2002 15:26:27 -0400 (EDT) Date: Tue, 9 Apr 2002 15:26:27 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Dan Tappan <tappan@cisco.com> Cc: Yakov Rekhter <yakov@juniper.net>, idr@merit.edu Subject: Re: extended communities questions and observations Message-ID: <20020409152627.B6231@nexthop.com> References: <200204091802.g39I2hT76285@merlot.juniper.net> <20020408182036.D13188@nexthop.com> <200204091802.g39I2hT76285@merlot.juniper.net> <20020409145237.A6231@nexthop.com> <4.3.2.7.2.20020409150101.0215b8e0@pilgrim.cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <4.3.2.7.2.20020409150101.0215b8e0@pilgrim.cisco.com>; from tappan@cisco.com on Tue, Apr 09, 2002 at 03:11:13PM -0400 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk On Tue, Apr 09, 2002 at 03:11:13PM -0400, Dan Tappan wrote: > uniqueness > > n : the quality of being one of a kind; "that singularity distinguished him > from all his companions" [syn: singularity] > Source: WordNet ® 1.6, © 1997 Princeton University Given this, consider a route target of type 0x00. It has the properties of an AS of 65534 and a Local Administrator value of 0xffffffff. How is 0xffffffff unique within AS 65534? > "ensure that values for these particular extended communities can be > assigned in a distributed manner without fear of overlap" Or perhaps, "The local administrator field must have a well defined and consistant meaning throughout the domain defined by the global administrator value"? -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id OAA11232 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 14:55:53 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 3FC48912B1; Tue, 9 Apr 2002 14:55:14 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 0D91D912B2; Tue, 9 Apr 2002 14:55:13 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id EB5FE912B1 for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 14:55:12 -0400 (EDT) Received: by segue.merit.edu (Postfix) id C41555DEFB; Tue, 9 Apr 2002 14:55:12 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (dns.nexthop.com [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 3F4085DE9C for <idr@merit.edu>; Tue, 9 Apr 2002 14:55:12 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g39IsDU43834; Tue, 9 Apr 2002 14:54:13 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g39Iqce06403; Tue, 9 Apr 2002 14:52:38 -0400 (EDT) Date: Tue, 9 Apr 2002 14:52:37 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Yakov Rekhter <yakov@juniper.net> Cc: idr@merit.edu, tappan@cisco.com Subject: Re: extended communities questions and observations Message-ID: <20020409145237.A6231@nexthop.com> References: <20020408182036.D13188@nexthop.com> <200204091802.g39I2hT76285@merlot.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204091802.g39I2hT76285@merlot.juniper.net>; from yakov@juniper.net on Tue, Apr 09, 2002 at 11:02:43AM -0700 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk Yakov, On Tue, Apr 09, 2002 at 11:02:43AM -0700, Yakov Rekhter wrote: > The 'local administrator' field does not "address" any routers. It simply > provides a mechanism for guaranteeing uniqueness of the community. Again, what do you mean by "uniqueness"? I think what you mean is implied by an earlier portion of the document: "...ensuring that communities can be assigned for a plethora of uses, without fear of overlap." Perhaps an example would clarify things. [Aggregation] > It is a matter of policy. Could you note this in the document? > > What about confederation boundaries? > > My take on this would be to allow propagation across confed boundaries. I would too. Could you add this to the document? > Yakov. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id OAA10099 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 14:06:02 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id A8623912BD; Tue, 9 Apr 2002 14:04:40 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id DA262912B2; Tue, 9 Apr 2002 14:04:39 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id B27AF912B1 for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 14:02:45 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 9804C5DEE8; Tue, 9 Apr 2002 14:02:45 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 454DE5DE34 for <idr@merit.edu>; Tue, 9 Apr 2002 14:02:45 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g39I2hT76285; Tue, 9 Apr 2002 11:02:43 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204091802.g39I2hT76285@merlot.juniper.net> To: Jeffrey Haas <jhaas@nexthop.com> Cc: idr@merit.edu, tappan@cisco.com Subject: Re: extended communities questions and observations In-Reply-To: Your message of "Mon, 08 Apr 2002 18:20:36 EDT." <20020408182036.D13188@nexthop.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <75322.1018375363.1@juniper.net> Date: Tue, 09 Apr 2002 11:02:43 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Jeff, Based on the discussion with the rest of the co-authors... > Extended communities authors: > > In both the route target and route origin communities, you have > the following paragraph: > > : When the value of the Type field is 0x00 or 0x02, the value of the > : Local Administrator sub-field in the Value Field MUST be unique > : within the Autonomous system carried in the Global Administrator sub- > : field. > > This probably should read "When the value of the high order octet of > the Type field..." Yes, this is correct. We'll fix it. > In general, what property of uniqueness is meant here? > > Consider the route target community. The route target community is > defined as: > > : The Route Target Community identifies one or more routers that may > : receive a set of routes (that carry this Community) carried by BGP. > > By this definition, one or more routers may be addressed by a given > route target's local administrator field for a given AS in the global > administrator field. What is meant by "unique" in this context? The 'local administrator' field does not "address" any routers. It simply provides a mechanism for guaranteeing uniqueness of the community. > The same question applies to the route origin community. Ditto. > > My archives (although potentially incomplete) show other people asking > this question as well: How should extended communities deal with > aggregation? It is a matter of policy. > A good case can probably be made to disallow aggregation of > routes with dissimilar route target and route origin sets. > > I'm not certain it makes sense to ever include link bandwidth within > an aggregate. ditto. > > Under operations: > : A BGP speaker should not propagate a non-transitive extended > : community across the Autonomous system boundary. > > What about confederation boundaries? My take on this would be to allow propagation across confed boundaries. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA06076 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 11:28:53 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id DE2A991233; Tue, 9 Apr 2002 11:28:28 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 5D9A69129E; Tue, 9 Apr 2002 11:28:27 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 92A8D91233 for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 11:28:25 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 628A85DE84; Tue, 9 Apr 2002 11:28:25 -0400 (EDT) Delivered-To: idr@merit.edu Received: from hotmail.com (f13.law4.hotmail.com [216.33.149.13]) by segue.merit.edu (Postfix) with ESMTP id 0D3795DE5B for <idr@merit.edu>; Tue, 9 Apr 2002 11:28:25 -0400 (EDT) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Tue, 9 Apr 2002 08:28:24 -0700 Received: from 65.194.140.2 by lw4fd.law4.hotmail.msn.com with HTTP; Tue, 09 Apr 2002 15:28:24 GMT X-Originating-IP: [65.194.140.2] From: "Bruno Rijsman" <bwarijsman@hotmail.com> To: idr@merit.edu Subject: In favor of bit for "regular vs extended" type of extended community. Date: Tue, 09 Apr 2002 11:28:24 -0400 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: <F13nevYJvSnvPWc7wLk000021d7@hotmail.com> X-OriginalArrivalTime: 09 Apr 2002 15:28:24.0524 (UTC) FILETIME=[305BD0C0:01C1DFDB] Sender: owner-idr@merit.edu Precedence: bulk Jeffrey> It would greatly simplify things if we used a bit to Jeffrey> distinguish regular vs. extended types. This would Jeffrey> clarify the spec and, I believe, can be made to be Jeffrey> backwards compatable with the current one. Jeffrey> [more...] I am strongly in favor of the change suggested by Jeffrey. If find the current form of the draft very confusing and inconsistent and I think it would benefit greatly from this change (assuming it can be done in a backwards compatible way). We might want to call it the "value size bit" (to avoid confusion caused by a term like "extended type extended community"). -- Bruno Rijsman _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id JAA03501 for <idr-archive@nic.merit.edu>; Tue, 9 Apr 2002 09:42:48 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 7D849912AE; Tue, 9 Apr 2002 09:42:30 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 0C58E912AF; Tue, 9 Apr 2002 09:42:29 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id AACFE912AE for <idr@trapdoor.merit.edu>; Tue, 9 Apr 2002 09:42:26 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 72D885DE3A; Tue, 9 Apr 2002 09:42:01 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 201295DE34 for <idr@merit.edu>; Tue, 9 Apr 2002 09:42:01 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g39DfiT65175; Tue, 9 Apr 2002 06:41:44 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204091341.g39DfiT65175@merlot.juniper.net> To: Alex Zinin <azinin@nexsi.com> Cc: Jeffrey Haas <jhaas@nexthop.com>, idr@merit.edu Subject: Re: 2842 In-Reply-To: Your message of "Mon, 08 Apr 2002 18:16:45 PDT." <156450306887.20020408181645@nexsi.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <92682.1018359704.1@juniper.net> Date: Tue, 09 Apr 2002 06:41:44 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Alex, > Yakov, > > Provided that the WG agrees that this is the right text, > it would address my concerns. Do you have any objections to the Jeff's modifications of my text ? Yakov. > > Alex > > Sunday, April 7, 2002, 2:37:04 PM, Yakov Rekhter wrote: > > > Alex, > > >> Makes perfect sense. > >> > >> Alex > >> > >> Wednesday, March 27, 2002, 8:46:49 AM, Jeffrey Haas wrote: > >> > To be fair, zero-length shouldn't be the bugaboo. It should be > >> > multiple capabilities with the same code _and the same data_. > >> > The zero-length case is just one example of this. > > > With this in mind, how about the following: > > > BGP speakers SHOULD NOT include more than one instance of a > > capability with the same Capability Code, Capability Length, > > and Capability Value. Note however, that processing of multiple > > instances of such capability does not require special handling, > > as additional instances do not change the meaning of announced > > capability. > > > BGP speakers MAY include more than one instance of a capability > > (as identified by the Capability Code) with non-zero Capability > > Length field, but with different Capability Value, and either > > the same or different Capability Length. Processing of these > > capability instances is specific to the Capability Code and MUST > > be described in the document introducing the new capability. > > > Yakov. > Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id VAA17226 for <idr-archive@nic.merit.edu>; Mon, 8 Apr 2002 21:45:08 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 78D1A9129E; Mon, 8 Apr 2002 21:20:31 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 427F8912A2; Mon, 8 Apr 2002 21:20:31 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 58D839129E for <idr@trapdoor.merit.edu>; Mon, 8 Apr 2002 21:20:30 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 3E9425DFCE; Mon, 8 Apr 2002 21:20:30 -0400 (EDT) Delivered-To: idr@merit.edu Received: from chrome.nexsi.com (system149.nexsi.com [66.35.207.149]) by segue.merit.edu (Postfix) with ESMTP id 183545DFAB for <idr@merit.edu>; Mon, 8 Apr 2002 21:20:30 -0400 (EDT) Received: from khonsu.Winnet.NEXSI.NET (khonsu.winnet.nexsi.net [192.168.104.132]) by chrome.nexsi.com (Postfix) with ESMTP id 74A2CF024; Mon, 8 Apr 2002 18:20:16 -0700 (PDT) Date: Mon, 8 Apr 2002 18:16:45 -0700 From: Alex Zinin <azinin@nexsi.com> X-Mailer: The Bat! (v1.60c) Personal Reply-To: Alex Zinin <azinin@nexsi.com> Organization: Nexsi Systems X-Priority: 3 (Normal) Message-ID: <156450306887.20020408181645@nexsi.com> To: Yakov Rekhter <yakov@juniper.net> Cc: Jeffrey Haas <jhaas@nexthop.com>, idr@merit.edu Subject: Re: 2842 In-Reply-To: <200204072137.g37Lb4T89388@merlot.juniper.net> References: <200204072137.g37Lb4T89388@merlot.juniper.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-idr@merit.edu Precedence: bulk Yakov, Provided that the WG agrees that this is the right text, it would address my concerns. Alex Sunday, April 7, 2002, 2:37:04 PM, Yakov Rekhter wrote: > Alex, >> Makes perfect sense. >> >> Alex >> >> Wednesday, March 27, 2002, 8:46:49 AM, Jeffrey Haas wrote: >> > To be fair, zero-length shouldn't be the bugaboo. It should be >> > multiple capabilities with the same code _and the same data_. >> > The zero-length case is just one example of this. > With this in mind, how about the following: > BGP speakers SHOULD NOT include more than one instance of a > capability with the same Capability Code, Capability Length, > and Capability Value. Note however, that processing of multiple > instances of such capability does not require special handling, > as additional instances do not change the meaning of announced > capability. > BGP speakers MAY include more than one instance of a capability > (as identified by the Capability Code) with non-zero Capability > Length field, but with different Capability Value, and either > the same or different Capability Length. Processing of these > capability instances is specific to the Capability Code and MUST > be described in the document introducing the new capability. > Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id TAA13665 for <idr-archive@nic.merit.edu>; Mon, 8 Apr 2002 19:14:33 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 0EBEA9126A; Mon, 8 Apr 2002 19:14:12 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id CEBFD9130B; Mon, 8 Apr 2002 19:14:11 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id CA9009126A for <idr@trapdoor.merit.edu>; Mon, 8 Apr 2002 19:14:10 -0400 (EDT) Received: by segue.merit.edu (Postfix) id A67245DFA2; Mon, 8 Apr 2002 19:14:10 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (unknown [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 534B75DF8D for <idr@merit.edu>; Mon, 8 Apr 2002 19:14:10 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g38NE5U15797 for <idr@merit.edu>; Mon, 8 Apr 2002 19:14:05 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g38NCYR16670 for idr@merit.edu; Mon, 8 Apr 2002 19:12:34 -0400 (EDT) Date: Mon, 8 Apr 2002 19:12:33 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: idr@merit.edu Subject: extended communities - extended vs. regular types Message-ID: <20020408191233.E13188@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk I've deliberately separated this from the previous questions since this is more opinion than "how is this supposed to work?" In the extended communities documentation, the distinction between "regular" and "extended" types are confusing, especially when attempting to avoid collisions in the regular vs extended space when creating new ones. It would greatly simplify things if we used a bit to distinguish regular vs. extended types. This would clarify the spec and, I believe, can be made to be backwards compatable with the current one. Thus: Third bit: Extended bit: Value 0: The community is extended and the value field is of length 6. Value 1: The community is regular and the value field is of length 7. The remaining 5 bits incicate the structure of the community. In the case of extended types, I'd suggest referring the 5 bits as "format" bits. We have already defined 0-3. This leaves 28 formats that can be assigned. This would work for IANA and Vendor assigned. Continuing the extended type example, this leaves the next octet of the extended type field to be the extended community type. Three are currently defined: route target, route origin and link bandwidth. This would limit regular types to 32 IANA assigned values. This may be unacceptable for the authors since there was presumably a motivation to introduce the regular type. All in all, this is a plea for some regularity in the packet formatting. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id SAA12731 for <idr-archive@nic.merit.edu>; Mon, 8 Apr 2002 18:23:16 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id A2D9C912D4; Mon, 8 Apr 2002 18:22:36 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 706DA912F8; Mon, 8 Apr 2002 18:22:36 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 6477A912D4 for <idr@trapdoor.merit.edu>; Mon, 8 Apr 2002 18:22:35 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 3EF9A5DF86; Mon, 8 Apr 2002 18:22:35 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (unknown [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id DF5AF5DE21 for <idr@merit.edu>; Mon, 8 Apr 2002 18:22:34 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g38MM8U14670 for <idr@merit.edu>; Mon, 8 Apr 2002 18:22:08 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g38MKaP16618 for idr@merit.edu; Mon, 8 Apr 2002 18:20:36 -0400 (EDT) Date: Mon, 8 Apr 2002 18:20:36 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: idr@merit.edu Subject: extended communities questions and observations Message-ID: <20020408182036.D13188@nexthop.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk Extended communities authors: In both the route target and route origin communities, you have the following paragraph: : When the value of the Type field is 0x00 or 0x02, the value of the : Local Administrator sub-field in the Value Field MUST be unique : within the Autonomous system carried in the Global Administrator sub- : field. This probably should read "When the value of the high order octet of the Type field..." In general, what property of uniqueness is meant here? Consider the route target community. The route target community is defined as: : The Route Target Community identifies one or more routers that may : receive a set of routes (that carry this Community) carried by BGP. By this definition, one or more routers may be addressed by a given route target's local administrator field for a given AS in the global administrator field. What is meant by "unique" in this context? The same question applies to the route origin community. My archives (although potentially incomplete) show other people asking this question as well: How should extended communities deal with aggregation? A good case can probably be made to disallow aggregation of routes with dissimilar route target and route origin sets. I'm not certain it makes sense to ever include link bandwidth within an aggregate. Under operations: : A BGP speaker should not propagate a non-transitive extended : community across the Autonomous system boundary. What about confederation boundaries? -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA02954 for <idr-archive@nic.merit.edu>; Mon, 8 Apr 2002 11:30:32 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id 5462191281; Mon, 8 Apr 2002 11:27:14 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id CCBAA9127D; Mon, 8 Apr 2002 11:27:13 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 01E369127C for <idr@trapdoor.merit.edu>; Mon, 8 Apr 2002 11:27:08 -0400 (EDT) Received: by segue.merit.edu (Postfix) id DD4725DE9C; Mon, 8 Apr 2002 11:27:08 -0400 (EDT) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (unknown [64.211.218.216]) by segue.merit.edu (Postfix) with ESMTP id 898A35DDC6 for <idr@merit.edu>; Mon, 8 Apr 2002 11:27:08 -0400 (EDT) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g38FQoU04079; Mon, 8 Apr 2002 11:26:50 -0400 (EDT) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g38FPFi13202; Mon, 8 Apr 2002 11:25:15 -0400 (EDT) Date: Mon, 8 Apr 2002 11:25:15 -0400 From: Jeffrey Haas <jhaas@nexthop.com> To: Yakov Rekhter <yakov@juniper.net> Cc: Alex Zinin <azinin@nexsi.com>, idr@merit.edu Subject: Re: 2842 Message-ID: <20020408112515.A13188@nexthop.com> References: <13677668090.20020327120531@nexsi.com> <200204072137.g37Lb4T89388@merlot.juniper.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200204072137.g37Lb4T89388@merlot.juniper.net>; from yakov@juniper.net on Sun, Apr 07, 2002 at 02:37:04PM -0700 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk Suggested tweaks, largely removing some redundancies between the two paragraphs. On Sun, Apr 07, 2002 at 02:37:04PM -0700, Yakov Rekhter wrote: > BGP speakers SHOULD NOT include more than one instance of a > capability with the same Capability Code, Capability Length, > and Capability Value. Note however, that processing of multiple > instances of such capability does not require special handling, > as additional instances do not change the meaning of announced > capability. > BGP speakers MAY include more than one instance of a capability > (as identified by the Capability Code) with non-zero Capability > Length field, but with different Capability Value, and either > the same or different Capability Length. Processing of these > capability instances is specific to the Capability Code and MUST > be described in the document introducing the new capability. BGP speakers SHOULD NOT include more than one instance of a capability with the same Capability Code, Capability Length and Capability Value. Additional instances of a capability code do not change the meaning of an announced capability. Processing of these capability instances is specific to the Capabilility Code and MUST be described in the document introducing the new capability. > Yakov. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA04487 for <idr-archive@nic.merit.edu>; Sun, 7 Apr 2002 17:37:29 -0400 (EDT) Received: by trapdoor.merit.edu (Postfix) id CF76191210; Sun, 7 Apr 2002 17:37:07 -0400 (EDT) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 9B6D791211; Sun, 7 Apr 2002 17:37:07 -0400 (EDT) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 78B0191210 for <idr@trapdoor.merit.edu>; Sun, 7 Apr 2002 17:37:06 -0400 (EDT) Received: by segue.merit.edu (Postfix) id 558BC5DDC6; Sun, 7 Apr 2002 17:37:06 -0400 (EDT) Delivered-To: idr@merit.edu Received: from merlot.juniper.net (natint.juniper.net [207.17.136.129]) by segue.merit.edu (Postfix) with ESMTP id 034235DD9E for <idr@merit.edu>; Sun, 7 Apr 2002 17:37:06 -0400 (EDT) Received: from juniper.net (garnet.juniper.net [172.17.28.17]) by merlot.juniper.net (8.11.3/8.11.3) with ESMTP id g37Lb4T89388; Sun, 7 Apr 2002 14:37:04 -0700 (PDT) (envelope-from yakov@juniper.net) Message-Id: <200204072137.g37Lb4T89388@merlot.juniper.net> To: Alex Zinin <azinin@nexsi.com> Cc: Jeffrey Haas <jhaas@nexthop.com>, idr@merit.edu Subject: Re: 2842 In-Reply-To: Your message of "Wed, 27 Mar 2002 12:05:31 PST." <13677668090.20020327120531@nexsi.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <8137.1018215424.1@juniper.net> Date: Sun, 07 Apr 2002 14:37:04 -0700 From: Yakov Rekhter <yakov@juniper.net> Sender: owner-idr@merit.edu Precedence: bulk Alex, > Makes perfect sense. > > Alex > > Wednesday, March 27, 2002, 8:46:49 AM, Jeffrey Haas wrote: > > To be fair, zero-length shouldn't be the bugaboo. It should be > > multiple capabilities with the same code _and the same data_. > > The zero-length case is just one example of this. With this in mind, how about the following: BGP speakers SHOULD NOT include more than one instance of a capability with the same Capability Code, Capability Length, and Capability Value. Note however, that processing of multiple instances of such capability does not require special handling, as additional instances do not change the meaning of announced capability. BGP speakers MAY include more than one instance of a capability (as identified by the Capability Code) with non-zero Capability Length field, but with different Capability Value, and either the same or different Capability Length. Processing of these capability instances is specific to the Capability Code and MUST be described in the document introducing the new capability. Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id JAA13477 for <idr-archive@nic.merit.edu>; Fri, 5 Apr 2002 09:23:44 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id D537791209; Fri, 5 Apr 2002 09:23:05 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 9F3BF912D4; Fri, 5 Apr 2002 09:23:05 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8CAB291209 for <idr@trapdoor.merit.edu>; Fri, 5 Apr 2002 09:23:04 -0500 (EST) Received: by segue.merit.edu (Postfix) id 6CE205DDE6; Fri, 5 Apr 2002 09:23:04 -0500 (EST) Delivered-To: idr@merit.edu Received: from smtp.adc.com (smtp.adc.com [155.226.10.207]) by segue.merit.edu (Postfix) with ESMTP id CBB2C5DD9B for <idr@merit.edu>; Fri, 5 Apr 2002 09:23:03 -0500 (EST) Received: from smtp.adc.com (localhost [127.0.0.1]) by smtp.adc.com (8.11.1/8.11.1) with ESMTP id g35EN2u15023 for <idr@merit.edu>; Fri, 5 Apr 2002 08:23:02 -0600 (CST) Received: from kbenstead (bas-195-163.basystems.com [146.71.195.163]) by smtp.adc.com (8.11.1/8.11.1) with SMTP id g35EN2815015 for <idr@merit.edu>; Fri, 5 Apr 2002 08:23:02 -0600 (CST) From: "Ken Benstead" <ken_benstead@adc.com> To: <idr@merit.edu> Subject: RE: FW: BGP without an IGP Date: Fri, 5 Apr 2002 09:26:04 -0500 Message-ID: <NEBBIAJEGKNCNDDKGDDAIELNCGAA.ken_benstead@adc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) Importance: Normal In-Reply-To: <3CAD378E.5060005@lucent.com> X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 Sender: owner-idr@merit.edu Precedence: bulk Hi Ilan, You wrote: > Also it's recommended not to rely on BGP itself to establish another > BGP connection. In your case as Ben said, the route D will not be > propagated to Router R1. Once the R1-R2 and R2-R3 peerings are established, (and R1, R2 and R3 have exchanged their directly connected networks), R1 and R3 will be able to reach each other. For example, from R1's perspective, it can get to C.R3 via B.R2 and B is directly connected, (recursive lookup). Similarly R3 can get to B.R1 via C.R2 with C being directly connected. In the middle, B knows how to get to both B.R1 and C.R3 as they are both directly connected. So R1 can send packets to C.R3 and R3 can send packets to B.R1 and that will allow the R1-R3 peering to be established. Now R3 can advertise D to R1 with C.R3 as next-hop. R1 can already get to C.R3 so it can now also get to D. > Even in the case of R1-R2-R3, if the BGP sesson > btw R2 and R3 goes down , the session between R1 and R2 will also go > down and it will take longer time to converge. I'm afraid I don't understand your point here. Can you elaborate? Ken > -----Original Message----- > From: Ilankumaran N [mailto:ni8@lucent.com] > Sent: Friday, April 05, 2002 12:35 AM > To: Ken Benstead > Subject: Re: FW: BGP without an IGP > > > Also it's recommended not to rely on BGP itself to establish another > BGP connection. In your case as Ben said, the route D will not be > propagated to Router R1. Even in the case of R1-R2-R3, if the BGP sesson > btw R2 and R3 goes down , the session between R1 and R2 will also go > down and it will take longer time to converge. > > > Rds, > Ilan > > Ken Benstead wrote: > > >Forgot to send this to the list. > > > >>-----Original Message----- > >>From: Ken Benstead [mailto:ken_benstead@adc.com] > >>Sent: Thursday, March 28, 2002 4:17 PM > >>To: Abarbanel, Benjamin > >>Subject: RE: BGP without an IGP > >> > >> > >>Ben, > >> > >>I realized I messed up my example just before your message > >>arrived. I broke the IBGP readvertisment rule. > >> > >>Below is what I should have said. As each peering comes up the > >>routers only advertise their directly connected networks which, I > >>think, does not violate the readvertisement rule. As each set of > >>peerings come up they are able to advertise networks that are one > >>hop further away and thus allow the next set of peerings to come up. > >> > >>Ken > >> > >>================================================================== > >>=============== > >> > >>Assume we have four routers running BGP with IBGP sessions configured > >>between them and "next-hop-self" enabled on each session. Each router > >>redistributes its directly connected networks into BGP. > >> > >> > >> -----R1---------R2---------R3---------R4----- > >> NET A NET B NET C NET D NET E > >> > >> > >>The configured sessions are: > >> > >> 1-hop: B.R1 - B.R2 C.R2 - C.R3 D.R3 - D.R4 > >> 2-hop: B.R1 - C.R3 C.R2 - D.R4 > >> 3-hop: B.R1 - D.R4 > >> > >>Initially only the one-hop sessions will come up. Each router > >>will have the following routes. > >> > >> R1 R2 R3 R4 > >> A via direct B via direct C via direct D via direct > >> B via direct C via direct D via direct E via direct > >> C via B.R2 A via B.R1 B via C.R2 C via D.R3 > >> D via C.R3 E via D.R4 > >> > >>With these tables the two-hop sessions can come up resulting in > a further > >>exchange of routes. The result, after route selection, would be: > >> > >> R1 R2 R3 R4 > >> A via direct B via direct C via direct D via direct > >> B via direct C via direct D via direct E via direct > >> C via B.R2 A via B.R1 B via C.R2 C via D.R3 > >> D via C.R3 D via C.R3 E via D.R4 B via C.R2 > >> E via D.R4 A via B.R1 > >> > >>Now the three-hop session can come up and exchange routes. You > >>end up with: > >> > >> R1 R2 R3 R4 > >> A via direct B via direct C via direct D via direct > >> B via direct C via direct D via direct E via direct > >> C via B.R2 A via B.R1 B via C.R2 C via D.R3 > >> D via C.R3 D via C.R3 E via D.R4 B via C.R2 > >> E via D.R4 E via D.R4 A via B.R1 A via B.R1 > >> > >>This gives full reachability. > >> > >> > >> > >> > >> > > > Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id NAA19831 for <idr-archive@nic.merit.edu>; Thu, 4 Apr 2002 13:35:28 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id C665B912D4; Thu, 4 Apr 2002 13:35:08 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 91CC7912D5; Thu, 4 Apr 2002 13:35:08 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 6FB66912D4 for <idr@trapdoor.merit.edu>; Thu, 4 Apr 2002 13:35:07 -0500 (EST) Received: by segue.merit.edu (Postfix) id 51A6D5DDBA; Thu, 4 Apr 2002 13:35:07 -0500 (EST) Delivered-To: idr@merit.edu Received: from prattle.redback.com (prattle.redback.com [155.53.12.9]) by segue.merit.edu (Postfix) with ESMTP id 2D2D05DD9B for <idr@merit.edu>; Thu, 4 Apr 2002 13:35:07 -0500 (EST) Received: from popserv3.redback.com (popserv3.redback.com [155.53.12.64]) by prattle.redback.com (Postfix) with ESMTP id B1F8C1DCC75; Thu, 4 Apr 2002 10:35:06 -0800 (PST) Received: from redback.com (fall.redback.com [155.53.36.220]) by popserv3.redback.com (Postfix) with ESMTP id 84FCB7E6C1; Thu, 4 Apr 2002 10:35:06 -0800 (PST) To: "Bruno Rijsman" <bwarijsman@hotmail.com> Cc: idr@merit.edu, enke@redback.com Subject: Re: Suggested new cease subcode: "connection collision" In-Reply-To: Message from "Bruno Rijsman" <bwarijsman@hotmail.com> of "Thu, 04 Apr 2002 13:20:31 EST." <F26GUOd0CFkOtTsV13Z000158b8@hotmail.com> Date: Thu, 04 Apr 2002 10:35:06 -0800 From: Enke Chen <enke@redback.com> Message-Id: <20020404183506.84FCB7E6C1@popserv3.redback.com> Sender: owner-idr@merit.edu Precedence: bulk I doubt that the suggested subcode would be of any use in reality. AFAIK, sending notification for connection collision would reset the session state to "IDLE" for most of depoyed routers. -- Enke > From: "Bruno Rijsman" <bwarijsman@hotmail.com> > To: idr@merit.edu > Subject: Suggested new cease subcode: "connection collision" > Date: Thu, 04 Apr 2002 13:20:31 -0500 > > I'd like to suggest another subcode for draft-ietf-idr-cease-subcode-00: > "connection collision" (as described in section 6.8 of > draft-ietf-idr-bgp4-17) > > -- Bruno > > > _________________________________________________________________ > MSN Photos is the easiest way to share and print your photos: > http://photos.msn.com/support/worldwide.aspx > Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id NAA19500 for <idr-archive@nic.merit.edu>; Thu, 4 Apr 2002 13:21:14 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id 4FB3091209; Thu, 4 Apr 2002 13:20:34 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 1BA34912D3; Thu, 4 Apr 2002 13:20:34 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 89A5991209 for <idr@trapdoor.merit.edu>; Thu, 4 Apr 2002 13:20:32 -0500 (EST) Received: by segue.merit.edu (Postfix) id 6F7DF5DDBF; Thu, 4 Apr 2002 13:20:32 -0500 (EST) Delivered-To: idr@merit.edu Received: from hotmail.com (f26.law4.hotmail.com [216.33.149.26]) by segue.merit.edu (Postfix) with ESMTP id 139475DD95 for <idr@merit.edu>; Thu, 4 Apr 2002 13:20:32 -0500 (EST) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Thu, 4 Apr 2002 10:20:31 -0800 Received: from 65.194.140.2 by lw4fd.law4.hotmail.msn.com with HTTP; Thu, 04 Apr 2002 18:20:31 GMT X-Originating-IP: [65.194.140.2] From: "Bruno Rijsman" <bwarijsman@hotmail.com> To: idr@merit.edu Subject: Suggested new cease subcode: "connection collision" Date: Thu, 04 Apr 2002 13:20:31 -0500 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: <F26GUOd0CFkOtTsV13Z000158b8@hotmail.com> X-OriginalArrivalTime: 04 Apr 2002 18:20:31.0549 (UTC) FILETIME=[67AE06D0:01C1DC05] Sender: owner-idr@merit.edu Precedence: bulk I'd like to suggest another subcode for draft-ietf-idr-cease-subcode-00: "connection collision" (as described in section 6.8 of draft-ietf-idr-bgp4-17) -- Bruno _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id RAA16406 for <idr-archive@nic.merit.edu>; Wed, 3 Apr 2002 17:12:07 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id 67EF091264; Wed, 3 Apr 2002 17:11:19 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 0B0BF9126A; Wed, 3 Apr 2002 17:11:18 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 64F4F91264 for <idr@trapdoor.merit.edu>; Wed, 3 Apr 2002 17:11:17 -0500 (EST) Received: by segue.merit.edu (Postfix) id 320BE5DE41; Wed, 3 Apr 2002 17:11:17 -0500 (EST) Delivered-To: idr@merit.edu Received: from sentry.gw.tislabs.com (sentry.gw.tislabs.com [192.94.214.100]) by segue.merit.edu (Postfix) with ESMTP id B83C55DE11 for <idr@merit.edu>; Wed, 3 Apr 2002 17:11:13 -0500 (EST) Received: by sentry.gw.tislabs.com; id RAA15596; Wed, 3 Apr 2002 17:16:51 -0500 (EST) Received: from raven.gw.tislabs.com(10.33.1.50) by sentry.gw.tislabs.com via smap (V5.5) id xma015568; Wed, 3 Apr 02 17:15:54 -0500 Received: from phoenix (dyn096.gw.tislabs.com [10.33.10.96]) by raven.gw.tislabs.com (8.11.6/8.11.6) with ESMTP id g33MA9G24018; Wed, 3 Apr 2002 17:10:09 -0500 (EST) Message-Id: <4.2.2.20020403170826.00a88350@pop.gw.tislabs.com> X-Sender: sandy@pop.gw.tislabs.com (Unverified) X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.2 Date: Wed, 03 Apr 2002 17:09:29 -0500 To: idr@merit.edu From: Sandy Murphy <sandy@tislabs.com> Subject: slides from IETF Cc: sandy@tislabs.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_33445411==_" Sender: owner-idr@merit.edu Precedence: bulk --=====================_33445411==_ Content-Type: text/plain; charset="us-ascii"; format=flowed My slides don't seem to have made it to the list. So here they are. --Sandy --=====================_33445411==_ Content-Type: application/octet-stream; name="BGPSecurityAnalysis.idr.Mar202002.ppt"; x-mac-type="534C4433"; x-mac-creator="50505433" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="BGPSecurityAnalysis.idr.Mar202002.ppt" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAADAAAAXQEAAAAAAAAA EAAAXwEAAAEAAAD+////AAAAAGUBAABmAQAAXgEAAP////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////8A bh7wvisAAFNLwpmp9bXTUi03+kqzQXX/iVBORw0KGgoAAAANSUhEUgAAARoAAABMCAIAAAA9ce+z AAAABGdBTUEAALGIlZj0pgAAAAlwSFlzAAAOxAAADsMB2mqY3AAAIABJREFUeJzsnW1wXNV5x5/7 su+rd8uWLMt2bIFlGyciYBMHN7w14H5IbJpJCu1kClPazJQPjMuHdMadjhnaTj2dEEqGfGjp1ExK 3QbSCBLAdiARDi8OBmLwC6aRzWJJlrSrlVbal3vP2/P0w9ldXa92LdlaU0ju78OZu2fPPXfvXf33 ec5znnNkEBFcAUShwLMzynVEPi8dVzoFACBEXRIiEKFSdiRihcLBhgY7HAm3tYYam67Eh/Hx+Xgw 6ignUopNZ1hmik1Po1KECoqyQQAgIiAiIlIKAFCp4kvE8kvTtiOtbbHOznjncjMQqNcH8/H5eKiP nPjMtDuZdqemQBsfIiDUsuGcJBp5BxUCKpRCAIASChFRYTiAtgXRINkmwYXSii9f3rhqdUPXisV/ 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 EhISExMTFBQUFRUVFhYWFxcXGBgYGRkZGhoaGxsbHBwcHR0dHh4eHx8fICAgISEhIiIiIyMjAAAA JSUlJiYmJycnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8vLAAAAAAAAAAAAz8/P AAAAAAAAAAAA09PT1NTU1dXV1tbW19fX2NjY2dnZ2tra29vb3Nzc3d3d3t7e39/f4ODg4eHh4uLi 4+Pj5OTk5eXl5ubm5+fn6Ojo6enp6urq6+vr7Ozs7e3t7u7u7+/v8PDw8fHx8vLy8/Pz9PT09fX1 9vb29/f3+Pj4+fn5+vr6+/v7/Pz8/f39/v7+////FhvY5QAAAAlwSFlzAAAuIQAALiUBYzc5+wAA IABJREFUeJzsXWlzG0eSzcYN3iJpWY7xrGMmYv//D9mvO7G7Mx5bMsULaAB9H3XlZhZAkCIAEqIL BETV00Gi0Wf168yXWVnVgB4ezgDbPgGPtwRPJw+H8HTycAhPJw+H8HTycAhPJw+H8HTycAhPJw+H 8HTycAhPJw+H8HTycAhPJw+H8HTycAhPJw+H8HTycAhPJw+H8HTycAhPJw+H8HTycAhPJw+H8HTy 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 ai0rt0iWsQxZm5mUsx5t3Gf9ryc3GblkMe983l3DZz6z8Izn731R6L8w2JzCfe1r/yOzyp9auZDl Mh1Ku+bg2/Ykl6z67LN5lCTz2E3WsVsms69Opt9uGulwNJ5EMiR1lU/1WllKtbvuFO5c5Heyifcj g81JJzG1Djy99PlK7tsXr8cS1Pq2wrH1jd5el0vlu+6D2/uilgnWVneznGTNdw57UM76qZfOV+3t ZmUZ/nro36HvMdic8C+QEwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyR EwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyR EwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwyREwz9BKROxkEE4et+AAAAAElF TkSuQmCCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwDoA1cWAAABAOkDKAAAAIAWAADg EAAA4BAAAIAWAAAFAAAACgAAAAIAAAAAAAAAAQAAAAAAAAEPAAkEpgAAAAAACgQEAAAAAQAAAA8A zA+SAAAAAADNDwgAAAAAAAAAARwAMAEAww8YAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAsxIAEAC6 DxgAAABCAGkAdABtAGEAcAAgAEkAbQBhAGcAZQAgALoPGgAAAFAAYQBpAG4AdAAuAFAAaQBjAHQA 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 IABvAHUAdABzAGkAZABlAHIAcwAgAGEAbgBvAHQAaABlAHIAIAB3AGEAeQAgAHQAbwAgAGUAZgBm AGUAYwB0ACAAcgBvAHUAdABpAG4AZwANAGkAbgBzAGkAZABlAHIAcwAgAHcAaQB0AGgAIABrAG4A bwB3AGwAZQBkAGcAZQAgAG8AZgAgAHAAZQBlAHIAIABjAG8AbQBtAHUAbgBpAHQAaQBlAHMAIABj AGEAbgAgAGUAZgBmAGUAYwB0ACAAdAByAGEAZgBmAGkAYwAgAGYAbABvAHcADQBDAG8AbgBmAGUA ZABlAHIAYQB0AGkAbwBuAHMADQBjAGEAbgAgAHAAbwB0AGUAbgB0AGkAYQBsAGwAeQAgAGUAZgBm AGUAYwB0ACAAcgBvAHUAdABpAG4AZwAgAG8AdQB0AHMAaQBkAGUAIABjAG8AbgBmAGUAZABlAHIA YQB0AGkAbwBuACAAQQBTABkgcwAgAGkAZgAgAGMAbwBuAGYAZQBkAGUAcgBhAHQAaQBvAG4AcwAg AGEAcgBlACAAdAByAGEAbgBzAG0AaQB0AHQAZQBkACAAbwB1AHQAcwBpAGQAZQAAAKEPSAAAAA0A AAAAAAAAAAByAAAAAQAAAAAADwAAAAAAAAAAAGQAAAABAAAAAAANAAAAAAAAAHIAAAAAAAAADwAA AAAAAABkAAAAAAAAAAAA8wMUAAAACAAAAAQAAAACAAAAAwEAAAAAAAAAAJ8PBAAAAAAAAAAAAKgP FQAAAE1pc3VzZSBvZiBDb21tdW5pdGllcxAAnw8EAAAAAQAAAAAAqA8jAAAAQmF0eiBwcmVzZW50 YXRpb24gYXQgQmxhY2tIYXQgIDE5OTkAAPMDFAAAAAkAAAAEAAAAAgAAAAQBAAAAAAAAAACfDwQA AAAAAAAAAACoDxgAAABUcmFmZmljIEVmZmVjdCBvZiBNaXN1c2UQAJ8PBAAAAAEAAAAAAKoPCgAA AAEAAAABAAAAAAAAAPMDFAAAAAoAAAAAAAAAAgAAAAUBAAAAAAAAAACfDwQAAAAAAAAAAACgD0oA AABDAG8AbQBtAGUAbgB0AHMAIABJABkgbQAgAG4AbwB0ACAAcwB1AHIAZQAgAHcAaABhAHQAIAB0 AG8AIABkAG8AIAB3AGkAdABoABAAnw8EAAAAAQAAAAAAoA/yAQAAQQBuAHkAIABtAGEAbABmAG8A cgBtAGUAZAAgAG0AZQBzAHMAYQBnAGUAIABjAGEAbgAgAGMAYQB1AHMAZQAgAGEAIABwAGUAZQBy AGkAbgBnACAAcwBlAHMAcwBpAG8AbgAgAHQAbwAgAGIAZQAgAGQAcgBvAHAAcABlAGQADQBTAG8A bQBlACAAcAByAG8AYgBsAGUAbQBzACAAZwBvACAAYQB3AGEAeQAgAGkAZgAgAEIARwBQACAAdwBv AHIAawBlAGQAIABvAHYAZQByACAAdABoAGUAIABsAGkAbgBrACAAbABhAHkAZQByACAAaQBuAHMA dABlAGEAZAAgAG8AZgAgAG8AdgBlAHIAIABJAFAADQBUAEMAUAAgAHMAZQBxAHUAZQBuAGMAZQAg AG4AdQBtAGIAZQByAHMAIABhAHIAZQAgAGEAZABlAHEAdQBhAHQAZQAgAHAAcgBvAHQAZQBjAHQA aQBvAG4ALAAgAHcAZQAgAGQAbwBuABkgdAAgAG4AZQBlAGQAIABNAEQANQANAEIAbwBnAHUAcwAg AEEAUwBfAFAAQQBUAEgAUwAgAGEAcgBlACAAbgBvAHQAIABhACAAcAByAG8AYgBsAGUAbQAgAC0A IAB1AHMAZQAgAGYAaQBsAHQAZQByAHMAAADzAxQAAAALAAAAAAAAAAIAAAAGAQAAAAAAAAAAnw8E AAAAAAAAAAAAqA8GAAAAT1JJR0lOEACfDwQAAAABAAAAAACoD4MAAABFdmVyeW9uZSBwb2ludGVk IG91dCB0aGF0IE9yaWdpbiBpcyBub3cgcGFydCBvZiB0aGUgZGVjaXNpb24gcHJvY2VzcywgYW5k IHNvIG1vZGlmeWluZyB0aGlzIGNhbiBlZmZlY3Qgcm91dGluZw1UZXh0IHdpbGwgYmUgY2hhbmdl ZAAA8wMUAAAADAAAAAAAAAACAAAABwEAAAAAAAAAAJ8PBAAAAAAAAAAAAKgPCAAAAE5FWFRfSE9Q EACfDwQAAAABAAAAAACgD6oBAAAcIHQAaABlACAAcgBvAG8AdAAgAG8AZgAgAG0AbwBzAHQAIABv AGYAIAB0AGgAZQAgAHUAcABkAGEAdABlACAAYgBhAHMAZQBkACAAZQB4AHAAbABvAGkAdABzACAA YQBuAGQAIAB3AGEAcgByAGEAbgB0AHMAIABmAGEAcgAgAG0AbwByAGUAIABhAHQAdABlAG4AdABp AG8AbgAdIA0AHCBzAGgAYQByAGkAbgBnACAAcwB1AGIAbgBlAHQAIABpAHMAIABuAG8AdAAgAGEA IABzAHQAcgBpAGMAdAAgAHIAZQBxAHUAaQByAGUAbQBlAG4AdAA6ACAAYwBvAG4AcwBpAGQAZQBy ACAAZQBCAEcAUAAgAG0AdQBsAHQAaQAtAGgAbwBwAB0gDQBkAHIAYQBmAHQAIABuAGUAZQBkAHMA IABtAG8AcgBlACAAYwBvAG4AcwBpAGQAZQByAGEAdABpAG8AbgAgAG8AZgAgAHYAdQBsAG4AZQBy AGEAYgBpAGwAaQB0AGkAZQBzACAAYQBuAGQAIABzAG8AbAB1AHQAaQBvAG4AcwAAAKEPHAAAANYA AAAAAAAAAACWAAAAAAABAAEAQAAAAAAAAAAAAPMDFAAAAA0AAAAAAAAAAgAAAAgBAAAAAAAAAACf DwQAAAAAAAAAAACoDwcAAABBU19QQVRIAAChDxwAAAAIAAAAAAAAAAAABwAAAAAAAAABAAAAAAAB AAEAEACfDwQAAAABAAAAAACgD+oBAABBAGIAbwB1AHQAIABhAGwAdwBhAHkAcwAgAHAAcgBlAC0A cABlAG4AZABpAG4AZwAgAG8AbgBlABkgcwAgAG8AdwBuACAAQQBTACAAYQBuAGQAIABuAGUAZQBk AGkAbgBnACAAYwBoAGUAYwBrAHMAIABvAG4AIABpAG4AYwBvAG0AaQBuAGcAIAB1AHAAZABhAHQA ZQBzAA0AHCBSAGUAYwBlAG4AdAAgAEMAaQBzAGMAbwBzACwAIABmAG8AcgAgAGUAeABhAG0AcABs AGUALAAgAGgAYQB2AGUAIAB0AGgAaQBzACAAIgBoAGkAZABlACAAQQBTACIAIABmAGUAYQB0AHUA cgBlACwAIAB3AGgAaQBjAGgAIAB3AG8AdQBsAGQAIABtAGEAawBlACAAbwBuAGUAIABhAHMAcwB1 AG0AZQAgAHQAaABhAHQAIABjAGgAZQBjAGsAcwAgAGwAaQBrAGUAIAB0AGgAaQBzACAAaABhAHYA ZQBuACcAdAAgAGIAZQBlAG4AIABpAG0AcABsAGUAbQBlAG4AdABlAGQALgAdIA0ASABvAHcAIABk AG8AZQBzACAAdABoAGkAcwAgAHIAZQBsAGEAdABlACAAdABvACAATgBFAFgAVABfAEgATwBQAD8A AAChD0IAAABNAAAAAAAAAAAAhwAAAAEAAAAAACIAAAAAAAAAAABMAAAAAAAAAAEAAAAAAAEAAQCH AAAAAAABAAEAIgAAAAAAAAAAAPMDFAAAAA4AAAAAAAAAAgAAAAkBAAAAAAAAAACfDwQAAAAAAAAA AACoDwUAAABJUFNFQxAAnw8EAAAAAQAAAAAAoA80AQAASQBQAFMARQBDACAAcAByAG8AdgBpAGQA ZQBzACAAHCBhAG4AdABpAC0AcgBlAHAAbABhAHkAHSAgAHAAcgBvAHQAZQBjAHQAaQBvAG4ADQBJ AFAAUwBFAEMAIABkAG8AZQBzACAAbgBvAHQAIABwAHIAbwB2AGkAZABlACAAYQAgABwgYQBuAHQA aQAtAHIAZQBwAGwAeQAdICAAcAByAG8AdABlAGMAdABpAG8AbgAgACgAYgB1AHQAIABpAHQAGSBz ACAAYQBuACAAZgBhAHMAYwBpAG4AYQB0AGkAbgBnACAAaQBkAGUAYQAgAHQAbwAgAGMAbwBuAHMA aQBkAGUAcgAgADoALQApACkADQBUAGUAeAB0ACAAdwBpAGwAbAAgAGIAZQAgAGYAaQB4AGUAZAAA APMDFAAAAA8AAAAAAAAAAgAAAAoBAAAAAAAAAACfDwQAAAAAAAAAAACoDxQAAABPdGhlciBCR1Ag ZXh0ZW5zaW9ucxAAnw8EAAAAAQAAAAAAoA98AQAAZAB5AG4AYQBtAGkAYwAgAGMAYQBwAGEAYgBp AGwAaQB0AGkAZQBzACwAIABPAFIARgAsACAAcgBvAHUAdABlACAAcgBlAGYAcgBlAHMAaAAsACAA cgBvAHUAdABlACAAcgBlAGYAbABlAGMAdABpAG8AbgAsACAAJiANAFMAaABvAHUAbABkACAAdABo AGUAeQAgAGIAZQAgAGkAbgBjAGwAdQBkAGUAZAAgAGkAbgAgAHQAaABpAHMAIABkAHIAYQBmAHQA PwAgACAARQBhAGMAaAAgAGEAZABkAHIAZQBzAHMAZQBkACAAaQBuACAAdABoAGUAaQByACAAbwB3 AG4AIABkAHIAYQBmAHQAPwAgACAATgBlAHcAIAB2AGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgA aQBzACAAZAByAGEAZgB0ACAAYQBzACAAZQBhAGMAaAAgAGIAZQBjAG8AbQBlAHMAIABSAEYAQwA/ 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 AQAAAAAAAAAFAAAACwIAAAAABQAAAAwCygK6AwUAAAAJAgAAAAIFAAAAAQL///8CBQAAAAQBDQAA AAUAAAAHAQMAAAChJwAAQQsgAMwAeACgAAAAAADKAroDAAAAACgAAACgAAAAeAAAAAEACAAAAAAA AEsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADw yqYABAQEAAgICAAMDAwAERERABYWFgAcHBwAIiIiACkpKQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ /wCTANYA/+zMAMbW7wDW5+cAkKmtAAAAMwAAAGYAAACZAAAAzAAAMwAAADMzAAAzZgAAM5kAADPM AAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZZgAAmZkAAJnMAACZ/wAAzAAA AMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAzAAAAMwAzADMAZgAzAJkAMwDMADMA/wAz MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm/wAzmQAAM5kzADOZ ZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/mQAz/8wAM/// AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZmAABmZjMA ZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM/wBm /wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxm AJnMmQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwA mTMAAMwzMwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDM mWYAzJmZAMyZzADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/ zADM//8AzAAzAP8AZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZ AP9mzADMZv8A/5kAAP+ZMwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A //8zAMz/ZgD//5kA///MAGZm/wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCW lpYAy8vLALKysgDX19cA3d3dAOPj4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD/ /wD/AAAA/wD/AP//AAD///8A//////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// 9r2NZ2eNveKZvAeZvLwHB7y8B5m8vLwHmLy8BweZvLy8//////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////7ZgYD1hYGGTtra8 traTtry2tra8tpO2tryTtry2vLa8vf////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////95mYGFgYGaNZkVFRUVFRUVFRURFPkVF RUVFRWhERT9FREVo9P////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////+SZ2eutq683j1oRGdtP20+bj5uRUVnbUVnRGhEbmhEbmg/ Z2////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////koyNvK62jfRgZ25u/0u2krxFk2hEk41FvO+TbpK8RG28RUVF//////////// ////////////////AP8A/wD/AP8AAP8A//////////////////////////////////////////// ////////////////////////////AP////////////////////////////////////////////// /42NvLy8tpKNYGht9JJobrxuZ5NFP+9oRZIHaG67k268aERoRP////////////////////////// /wD/AP8A/wD/AAD/AP////////////////////////////////////////////////////////// /////////////wD///////////////////////////////////////////////+8tfH/vLW8Z2Bn aI5uaGiSRWiNRWhuaERojmhok25ik2hFRW////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////7b09LyvjWdnRUU/REVFP0VERT9F REU/RURFP0VERUVoRGj2//////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////+94t68ko2uvL28vby9vL28vby9vL28vby9vL28vby9 vL3///////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////+9vLa2G/////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////wAAAAD///////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////wD//wD/////AP////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////AAD/AAAAAAAAAAAA//8A//8A/wAAAAAAAAD/AAD/AP8AAAAAAAD/AAD//wAAAAAAAP8A AAAAAP////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////8A/wD/ AAD/AAD/AP//AAD/AAD/AP8AAP8A//8A/wD/AP8AAP8A//8A//8A//8A/wD/AP8A/wD///////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////8AAP8AAAAAAAAAAAD/AAAA /wD/AAAAAAD/AP8AAP8A/wAAAAAAAP8AAP//AAAAAAAA/wAAAAAA//////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////8A//////8AAP///wD///// ////AP////8A//////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////AP////////8AAAD//////////wD/////AP// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////8A/////wD//wD/ /wD//wAAAAD/AAAAAAAAAAD///8AAAAAAP//AP//////AAAAAP8A/wD/AAAA/wD/AAAA////AP// AP8AAAAA/wAAAP8AAAAA/wAAAAAA/wAAAAD///////////////////////////////////////// ////////////////////////////////////////////////AP//AP8A/wAA//8A//8A/////wD/ AAD/AP8A////AP8AAP///wD//wD/AP//AP//AAAA/wD/AP8A//8A/////wD/AAD//wD/AP8A/wD/ AP//AP8A/wAA/wD///8A//////////////////////////////////////////////////////// /////////////////////////////////wD/AAD//wD/AP//AP//AP////8AAAAAAAAAAP///wAA AAD///8A/wAA/wAAAAD/AP8A/wAAAAD/AP8AAP//////AP8A/wAAAAD/AAAA/wAAAAD/AAAAAP8A AAAAAP////////////////////////////////////////////////////////////////////// ////////////////////AP8A////AP///wD//wD/////////AP///////////////////wD/AP// ////////////////////AP////////8A//////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////AP///wD//wD//wAA//8AAP///////wD//////////////////wD///8A//////////////// /////wD/////////AP////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////AAD///////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////wAA////////AP////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////wAAAP8AAAAAAAD/AAAAAP//AAAA//8A////AP8AAAAA//8A/wAA AAD//wD///////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////wD/AP8AAP8A/wD/AAD//wD/AP//AP8AAAD/AP8AAP//AP8AAP8A//8AAP////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////wD/ /wAAAAAAAP8AAAAA//8AAAD//wAA/wAA/wD/AAD//wAAAAAAAP8AAAD///////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////wD///////////////8A ////////////AP//AP////////////8A//////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////AAD/////////////AP//////////AP// //8A////////////AP////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////AAD///////////////////////// //////8AAP////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////AP////////////////////////////////8A//// //////////////////////////////////////////////////////////////////////////// //////////////////////////////8AAAAAAP////8AAAD//wAAAP//////AAAA////AAD//wAA ////AAAAAAD//wAAAAAA/wD//////wAAAP//AAAAAAD/AAAAAAD/AAAAAP///wAA//8AAAAAAP// //////////////////////////////////////////////////////////////////////////// /////////////////wD///8A//8A////AP//AP///////wD//wD/AP///wD/////AP//AAD///// AAD///8AAP//////AP///wD//wD//wAA/wD///8A/wAA/////wD//wD///8A//////////////// //////////////////////////////////////////////////////////////////////////// //8A////AP//AP///wD//wAAAP////////8A/wAAAP8A/////wD//wAA/////wAA////AAD///// /wAAAAAA//8A//8A/wAA////AP8AAP//AAD///8A/wAA//////////////////////////////// ////////////////////////////////////////////////////////////////AAAAAP///wD/ /wAAAP8A//8A/////wAA//8A/wD/AP////8A//8AAP////8AAP//AP//AP//////AP8A////AAD/ AAD/AP///wAA//8A/wD/////AP8A//////////////////////////////////////////////// /////////////////////////////////////////////////wD///8A//8A////////AP//AP// /wD//////wD///8AAP8AAP8AAAAAAP8AAAAAAAD//wAA/////wD/AP//AAD/AP//AP////8AAP// AAD/AAD/AAD//wAA//////////////////////////////////////////////////////////// //////////////////////////////////8A////AP//AP//AAD//wD//wD///8A//8A//////// //////////////////8A//////////////8A/wD/////////////////AP////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////8AAAAAAP////8AAP8A/wAAAAD//////wAAAP////////////////////// //8A/////////////////wD/////////////////AAD/////////////AP////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// ////////////BQAAAAcBAQAAAAgAAAD6AgUAAQAAAAAAAAAEAAAALQEAAAcAAAD8AgEAAAAAAAAA BAAAAC0BAQAPAAAAJgYPABQAVE5QUAQADAAAAAAAAAAAAAAAAAAJAAAAJgYPAAgA/////wEAAAAD AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA /v8AAAQAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAALVzdWcLhsQk5cIACss+a5EAAAABdXN1ZwuGxCT lwgAKyz5rjwDAAD4AgAAEAAAAAEAAACIAAAAAwAAAJAAAAAPAAAAqAAAAAQAAADMAAAABgAAANQA AAAHAAAA3AAAAAgAAADkAAAACQAAAOwAAAAKAAAA9AAAABcAAAD8AAAACwAAAAQBAAAQAAAADAEA ABMAAAAUAQAAFgAAABwBAAANAAAAJAEAAAwAAABxAgAAAgAAAOQEAAAeAAAADwAAAE9uLXNjcmVl biBTaG93AAAeAAAAGQAAAE5ldHdvcmsgQXNzb2NpYXRlcywgSW5jLgAAbwADAAAA+1MCAAMAAAAx AAAAAwAAAAsAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAMRUIAAsAAAAAAAAACwAAAAAA AAALAAAAAAAAAAsAAAAAAAAAHhAAAA8AAAAQAAAAVGltZXMgTmV3IFJvbWFuAAwAAABDb3VyaWVy IE5ldwAPAAAARGVmYXVsdCBEZXNpZ24ADQAAAEJpdG1hcCBJbWFnZQAWAAAAQkdQIFNlY3VyaXR5 IEFuYWx5c2lzAB0AAABQcm9ncmVzcyBTaW5jZSBEZWNlbWJlciBJRVRGABYAAABBZGRlZCBWdWxu ZXJhYmlsaXRpZXMAFgAAAE1pc3VzZSBvZiBDb21tdW5pdGllcwAZAAAAVHJhZmZpYyBFZmZlY3Qg b2YgTWlzdXNlACYAAABDb21tZW50cyBJkm0gbm90IHN1cmUgd2hhdCB0byBkbyB3aXRoAAcAAABP UklHSU4ACQAAAE5FWFRfSE9QAAgAAABBU19QQVRIAAYAAABJUFNFQwAVAAAAT3RoZXIgQkdQIGV4 dGVuc2lvbnMADBAAAAgAAAAeAAAACwAAAEZvbnRzIFVzZWQAAwAAAAIAAAAeAAAAEAAAAERlc2ln biBUZW1wbGF0ZQADAAAAAQAAAB4AAAAVAAAARW1iZWRkZWQgT0xFIFNlcnZlcnMAAwAAAAEAAAAe AAAADQAAAFNsaWRlIFRpdGxlcwADAAAACwAAAAAAmAAAAAMAAAAAAAAAIAAAAAEAAAA2AAAAAgAA AD4AAAABAAAAAgAAAAoAAABfUElEX0dVSUQAAgAAAOQEAABBAAAATgAAAHsANgBEADMANQA2ADMA OQAxAC0AMwBDADAAMgAtADEAMQBEADYALQBCADIANwA1AC0AMAAwADAAMAAwADAAMAAwADAAMAAw ADAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFIAbwBvAHQA IABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW AAUB//////////8DAAAAEI2BZJtPzxGG6gCqALkp6AAAAAAAAAAAAAAAAECLhwOf08EBYAEAAEAA AAAAAAAAUABpAGMAdAB1AHIAZQBzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAABIAAgH/////AgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAjO4BAAAAAABDAHUAcgByAGUAbgB0ACAAVQBzAGUAcgAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgACAP///////////////wAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBv AHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIBAQAAAAUAAAD///// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwEAAARSAAAAAAAAAQEAAAIBAAAD AQAABAEAAAUBAAAGAQAABwEAAAgBAAAJAQAACgEAAAsBAAAMAQAADQEAAA4BAAAPAQAAEAEAABEB AAASAQAAEwEAABQBAAAVAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAAHwEA ACABAAAhAQAAIgEAACMBAAAkAQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAA/v///ywBAAAtAQAA LgEAAC8BAAAwAQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8 AQAAPQEAAD4BAAA/AQAAQAEAAEEBAABCAQAAQwEAAEQBAABFAQAARgEAAEcBAABIAQAASQEAAEoB AABLAQAATAEAAE0BAABOAQAATwEAAFABAABRAQAAUgEAAFMBAABUAQAA/v///1YBAABXAQAAWAEA AFkBAABaAQAAWwEAAFwBAAD+////aQEAAP3////+/////v/////////////////////////9//// /f///////////////v////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////+//////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////wAA9g8oAAAAFAAA AF/AkeNLZQAAEAD0AwMA//9TYW5kcmEgTC4gTXVycGh5CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAA BQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAAT AAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEA AAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAA ADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAA PgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABM AAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoA AABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAA AGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAA dwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAgAAAAIEAAACCAAAAgwAAAIQAAACF AAAAhgAAAIcAAACIAAAAiQAAAIoAAACLAAAAjAAAAI0AAACOAAAAjwAAAJAAAACRAAAAkgAAAJMA AACUAAAAlQAAAJYAAACXAAAAmAAAAJkAAACaAAAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAA AKIAAACjAAAApAAAAKUAAACmAAAApwAAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAA sAAAALEAAACyAAAAswAAALQAAAC1AAAAtgAAALcAAAC4AAAAuQAAALoAAAC7AAAAvAAAAL0AAAC+ AAAAvwAAAMAAAADBAAAAwgAAAMMAAADEAAAAxQAAAMYAAADHAAAAyAAAAMkAAADKAAAAywAAAMwA AADNAAAAzgAAAM8AAADQAAAA0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAA ANsAAADcAAAA3QAAAN4AAADfAAAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAOcAAADoAAAA 6QAAAOoAAADrAAAA7AAAAO0AAADuAAAA7wAAAPAAAADxAAAA8gAAAPMAAAD0AAAA9QAAAPYAAAD3 AAAA/v////kAAAD6AAAA+wAAAPwAAAD9AAAA/gAAAP8AAAAAAQAAAQEAAAIBAAADAQAABAEAAAUB AAAGAQAABwEAAAgBAAAJAQAACgEAAAsBAAAMAQAADQEAAA4BAAAPAQAAEAEAABEBAAASAQAAEwEA ABQBAAAVAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAAHwEAACABAAAhAQAA IgEAACMBAAAkAQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAA/v///ywBAAAtAQAALgEAAC8BAAAw AQAAMQEAADIBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8AQAAPQEAAD4B AAA/AQAAQAEAAEEBAABCAQAAQwEAAEQBAABFAQAARgEAAEcBAABIAQAASQEAAEoBAABLAQAATAEA AE0BAABOAQAATwEAAFABAABRAQAAUgEAAFMBAABUAQAA/v///1YBAABXAQAAWAEAAFkBAABaAQAA WwEAAFwBAAD+////XgEAAF8BAABgAQAAYQEAAGIBAABjAQAAZAEAAP7////9/////f////3///9p AQAA/v////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////9SAG8AbwB0ACAARQBuAHQAcgB5 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAf////////// AwAAABCNgWSbT88RhuoAqgC5KegAAAAAAAAAAAAAAAAAAAAAAAAAAP7///8AAAAAAAAAAFAAaQBj AHQAdQByAGUAcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAASAAIB////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AIzuAQAAAAAAQwB1AHIAcgBlAG4AdAAgAFUAcwBlAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAABoAAgEBAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABdAQAAABAAAAAAAAAFAFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0AYQB0AGkA bwBuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAQIAAAAFAAAA/////wAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsBAAAEUgAAAAAAAFAAbwB3AGUAcgBQAG8AaQBuAHQA IABEAG8AYwB1AG0AZQBuAHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIB//////////// ////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+AAAAG9lAAAAAAAABQBEAG8A YwB1AG0AZQBuAHQAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAA ADgAAgEEAAAA//////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVAQAA ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA --=====================_33445411==_-- Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id PAA14025 for <idr-archive@nic.merit.edu>; Wed, 3 Apr 2002 15:53:48 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id AA52691233; Wed, 3 Apr 2002 15:53:08 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 6D4099129E; Wed, 3 Apr 2002 15:53:08 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 8DA2D91233 for <idr@trapdoor.merit.edu>; Wed, 3 Apr 2002 15:53:07 -0500 (EST) Received: by segue.merit.edu (Postfix) id 6F8D05DDA0; Wed, 3 Apr 2002 15:53:07 -0500 (EST) Delivered-To: idr@merit.edu Received: from prattle.redback.com (prattle.redback.com [155.53.12.9]) by segue.merit.edu (Postfix) with ESMTP id 3956B5DD98 for <idr@merit.edu>; Wed, 3 Apr 2002 15:53:07 -0500 (EST) Received: from popserv1.redback.com (popserv1.redback.com [155.53.12.56]) by prattle.redback.com (Postfix) with ESMTP id 88091CAB74; Wed, 3 Apr 2002 12:53:06 -0800 (PST) Received: from redback.com (fall.redback.com [155.53.36.220]) by popserv1.redback.com (Postfix) with ESMTP id E2AB115D3C1; Wed, 3 Apr 2002 12:53:05 -0800 (PST) To: Yakov Rekhter <yakov@juniper.net> Cc: idr@merit.edu, Alex Zinin <azinin@nexsi.com>, enke@redback.com Subject: Re: 2842 In-Reply-To: Message from Yakov Rekhter <yakov@juniper.net> of "Mon, 25 Mar 2002 17:15:52 PST." <200203260115.g2Q1FqT86295@merlot.juniper.net> Date: Wed, 03 Apr 2002 12:53:05 -0800 From: Enke Chen <enke@redback.com> Message-Id: <20020403205305.E2AB115D3C1@popserv1.redback.com> Sender: owner-idr@merit.edu Precedence: bulk Hi, Yakov: A while back Bruno Rijsman suggested adding some error code/subcodes to the "Dynamic Capability" draft, which seems to be a good idea and we plan to include in the next revision. If we need to have an update version for 2842, we could take the opportunity to add one or more error subcodes for the Capability Parameters as well. -- Enke > Message-Id: <200203260115.g2Q1FqT86295@merlot.juniper.net> > To: Yakov Rekhter <yakov@juniper.net> > Cc: idr@merit.edu, Alex Zinin <azinin@nexsi.com> > Subject: Re: 2842 > In-Reply-To: Your message of "Mon, 25 Mar 2002 17:03:50 PST." > <200203260103.g2Q13oT85615@merlot.juniper.net> > Date: Mon, 25 Mar 2002 17:15:52 -0800 > From: Yakov Rekhter <yakov@juniper.net> > Sender: owner-idr@merit.edu > Precedence: bulk > > [replying to myself...] > > > Folks, > > > > During the IESG review Alex Zinin brought up an issue that the > > the following text from the current spec is a bit underspecified: > > > > A particular capability, as identified by its Capability Code, may > > occur more than once within the Optional Parameter. > > > > To address this I'd like to proposed to replace the above sentence > > with the following: > > > > If a particular capability, as identified by its Capability Code, > > occurs more than once within the Optional Parameter, and the > > Length field of the Optional Parameter is non-zero, then > > handling this is specific to the Capability Code. > > If a particular capability, as identified by its Capability Code, > occurs more than once within the Optional Parameter, and the > value of the Capability Length field is non-zero, then > handling this is specific to the Capability Code. > > Yakov. Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id LAA29621 for <idr-archive@nic.merit.edu>; Tue, 2 Apr 2002 11:18:43 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id 4366791262; Tue, 2 Apr 2002 11:18:26 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 1124891263; Tue, 2 Apr 2002 11:18:25 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 0509091262 for <idr@trapdoor.merit.edu>; Tue, 2 Apr 2002 11:18:24 -0500 (EST) Received: by segue.merit.edu (Postfix) id D369B5DE29; Tue, 2 Apr 2002 11:18:24 -0500 (EST) Delivered-To: idr@merit.edu Received: from presque.djinesys.com (presque.djinesys.com [198.108.88.2]) by segue.merit.edu (Postfix) with ESMTP id 8BB4A5DDA4 for <idr@merit.edu>; Tue, 2 Apr 2002 11:18:24 -0500 (EST) Received: from jhaas.nexthop.com (jhaas.nexthop.com [64.211.218.31]) by presque.djinesys.com (8.11.3/8.11.1) with ESMTP id g32GI7L73043; Tue, 2 Apr 2002 11:18:08 -0500 (EST) (envelope-from jhaas@nexthop.com) Received: (from jhaas@localhost) by jhaas.nexthop.com (8.11.0/8.11.0) id g32GH9n10139; Tue, 2 Apr 2002 11:17:09 -0500 (EST) Date: Tue, 2 Apr 2002 11:17:09 -0500 From: Jeffrey Haas <jhaas@nexthop.com> To: "Reddy, Sudhakar" <sudhakarr@netplane.com>, Bruno Rijsman <bwarijsman@hotmail.com> Cc: idr@merit.edu, danny@tcb.net Subject: Re: Question on Confederations Message-ID: <20020402111708.B10034@nexthop.com> References: <F74lThWxjHe9DVPl7lr00013932@hotmail.com> <E7E13AAF2F3ED41197C100508BD6A3282514BA@india_exch.hyderabad.mindspeed.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <E7E13AAF2F3ED41197C100508BD6A3282514BA@india_exch.hyderabad.mindspeed.com>; from sudhakarr@netplane.com on Mon, Mar 25, 2002 at 11:09:34PM -0500 X-NextHop-MailScanner: Found to be clean Sender: owner-idr@merit.edu Precedence: bulk Once upon a time, Danny McPherson was going to put out another RFC fixing this. However, he suggested there may be a few other items in there that might need addressing. Does anyone remember what those might be? And yes, the RFC is broken as shown in recent e-mails. -- Jeff Haas NextHop Technologies Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id KAA29076 for <idr-archive@nic.merit.edu>; Tue, 2 Apr 2002 10:58:08 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id C0B0091260; Tue, 2 Apr 2002 10:57:44 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 9286291261; Tue, 2 Apr 2002 10:57:44 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id 5FCAD91260 for <idr@trapdoor.merit.edu>; Tue, 2 Apr 2002 10:57:43 -0500 (EST) Received: by segue.merit.edu (Postfix) id 4311A5DE29; Tue, 2 Apr 2002 10:57:43 -0500 (EST) Delivered-To: idr@merit.edu Received: from hotmail.com (f74.law4.hotmail.com [216.33.149.74]) by segue.merit.edu (Postfix) with ESMTP id DFCAB5DE21 for <idr@merit.edu>; Tue, 2 Apr 2002 10:57:42 -0500 (EST) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Tue, 2 Apr 2002 07:57:42 -0800 Received: from 65.194.140.2 by lw4fd.law4.hotmail.msn.com with HTTP; Tue, 02 Apr 2002 15:57:41 GMT X-Originating-IP: [65.194.140.2] From: "Bruno Rijsman" <bwarijsman@hotmail.com> To: idr@merit.edu Subject: Mistake in RFC 3065 ? Date: Tue, 02 Apr 2002 10:57:41 -0500 Mime-Version: 1.0 Content-Type: text/plain; format=flowed Message-ID: <F74lThWxjHe9DVPl7lr00013932@hotmail.com> X-OriginalArrivalTime: 02 Apr 2002 15:57:42.0207 (UTC) FILETIME=[1F20B4F0:01C1DA5F] Sender: owner-idr@merit.edu Precedence: bulk RFC 3065 section 6.1 contains the following fragment of text: b) When a given BGP speaker advertises the route to a BGP speaker located in a neighboring autonomous system that is a member of the local autonomous system confederation, then the advertising speaker shall update the AS_PATH attribute as follows: 1) if the first path segment of the AS_PATH is of type AS_CONFED_SEQUENCE, the local system shall prepend its own AS number as the last element of the sequence (put it in the leftmost position). 2) if the first path segment of the AS_PATH is not of type AS_CONFED_SEQUENCE the local system shall prepend a new path segment of type AS_CONFED_SEQUENCE to the AS_PATH, including its own confederation identifier in that segment. Shouldn't item 2) be changed to: 2) if the first path segment of the AS_PATH is not of type AS_CONFED_SEQUENCE the local system shall prepend a new path segment of type AS_CONFED_SEQUENCE to the AS_PATH, including its own AS number in that segment. -- Bruno _________________________________________________________________ Join the worlds largest e-mail service with MSN Hotmail. http://www.hotmail.com Received: from trapdoor.merit.edu (postfix@trapdoor.merit.edu [198.108.1.26]) by nic.merit.edu (8.9.3/8.9.1) with ESMTP id AAA13009 for <idr-archive@nic.merit.edu>; Mon, 1 Apr 2002 00:22:36 -0500 (EST) Received: by trapdoor.merit.edu (Postfix) id 65A279122D; Mon, 1 Apr 2002 00:22:13 -0500 (EST) Delivered-To: idr-outgoing@trapdoor.merit.edu Received: by trapdoor.merit.edu (Postfix, from userid 56) id 318A39122E; Mon, 1 Apr 2002 00:22:13 -0500 (EST) Delivered-To: idr@trapdoor.merit.edu Received: from segue.merit.edu (segue.merit.edu [198.108.1.41]) by trapdoor.merit.edu (Postfix) with ESMTP id EAB879122D for <idr@trapdoor.merit.edu>; Mon, 1 Apr 2002 00:22:11 -0500 (EST) Received: by segue.merit.edu (Postfix) id C97BF5DDCE; Mon, 1 Apr 2002 00:22:11 -0500 (EST) Delivered-To: idr@merit.edu Received: from ganesh.ctd.hctech.com (unknown [202.54.64.2]) by segue.merit.edu (Postfix) with ESMTP id E74D25DD99 for <idr@merit.edu>; Mon, 1 Apr 2002 00:22:10 -0500 (EST) Received: by GANESH with Internet Mail Service (5.5.2653.19) id <H872C5P7>; Mon, 1 Apr 2002 10:55:32 +0530 Message-ID: <D11B30C7348BD511A40700010283497B5DE890@GAYATRI> From: "Venu Kumar G - CTD, Chennai." <venug@ctd.hcltech.com> To: idr@merit.edu Subject: scope of ATOMIC AGGREGATOR attribute Date: Mon, 1 Apr 2002 10:49:45 +0530 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-idr@merit.edu Precedence: bulk hi ! Socpe of ATOMIC AGGREGATOR setting is only when overlapping routes are received from same adj-rib-in peer during phase 1 process or it also includes while sending aggregatted route to external/internal peers with diffferent AS_PATH attributes of aggregating routes during phase 3 process. Some of the implemenations will set the ATOMIC AGGREGATOR during the phase 3 process, But when i read the rfc section (9.2.2.2) it does not delineates clearly. Regards & Thanks Venu G. Disclaimer: This document is intended for transmission to the named recipient only. If you are not that person, you should note that legal rights reside in this document and you are not authorized to access, read, disclose, copy, use or otherwise deal with it and any such actions are prohibited and may be unlawful. The views expressed in this document are not necessarily those of HCL Technologies Ltd. Notice is hereby given that no representation, contract or other binding obligation shall be created by this e-mail, which must be interpreted accordingly. Any representations, contractual rights or obligations shall be separately communicated in writing and signed in the original by a duly authorized officer of the relevant company.
- Re: as4bytes - 4byte speaker receiving new* attri… Enke Chen
- Re: as4bytes - 4byte speaker receiving new* attri… Jeffrey Haas
- Re: as4bytes - 4byte speaker receiving new* attri… Jeffrey Haas
- Re: as4bytes - 4byte speaker receiving new* attri… Enke Chen
- as4bytes - 4byte speaker receiving new* attribute… Jeffrey Haas
- Re: Another suggestion for draft-ietf-idr-bgp4-12… Enke Chen
- Re: Another suggestion for draft-ietf-idr-bgp4-12… Jeffrey Haas
- Re: Another suggestion for draft-ietf-idr-bgp4-12… Jeffrey Haas
- Re: Another suggestion for draft-ietf-idr-bgp4-12… Enke Chen
- Re: Suggested changes to bgp4 draft for maximum p… Enke Chen
- Re: AS-wide Unique BGP Identifier Enke Chen
- Re: A Question about Tie breaking rules (draft-ie… Enke Chen
- Re: Maximum Prefix Limit Enke Chen
- Re: IDR WG Last Call Jeffrey Haas
- Re: IDR WG Last Call Susan Hares
- Re: IDR WG Last Call Susan Hares
- Re: IDR WG Last Call Russ White
- Re: IDR WG Last Call Enke Chen
- Re: IDR WG Last Call Jeffrey Haas
- Re: IDR WG Last Call Enke Chen
- Re: processing order of reach/unreach in rfc2858b… Alex Zinin
- Re: processing order of reach/unreach in rfc2858b… Jeffrey Haas
- Re: processing order of reach/unreach in rfc2858b… Enke Chen
- Re: Graceful restart comment Enke Chen
- Re: Graceful restart comment Gargi Nalawade
- Re: Graceful restart comment Jeffrey Haas
- Re: Graceful restart comment Pedro Roque Marques
- Re: Graceful restart comment Jeffrey Haas
- Re: Graceful restart comment Pedro Roque Marques
- Re: Graceful restart comment Jeffrey Haas
- Re: Graceful restart comment Jeffrey Haas
- Re: Graceful restart comment Kaarthik Sivakumar
- Re: Graceful restart comment Manav Bhatia
- Re: admin dist/gp spec proposal Enke Chen
- Re: [Idr] Last Call on draft-ietf-idr-rfc2796bis-… Enke Chen