Re: [Idr] Working Group Last Call for draft-chen-bgp-ext-opt-param-02

Enke Chen <enkechen@cisco.com> Sat, 13 February 2010 23:34 UTC

Return-Path: <enkechen@cisco.com>
X-Original-To: idr@core3.amsl.com
Delivered-To: idr@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 82E9428C118 for <idr@core3.amsl.com>; Sat, 13 Feb 2010 15:34:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PuSuDEucat1O for <idr@core3.amsl.com>; Sat, 13 Feb 2010 15:34:08 -0800 (PST)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id 82C8928C117 for <idr@ietf.org>; Sat, 13 Feb 2010 15:34:08 -0800 (PST)
Authentication-Results: sj-iport-6.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos;i="4.49,469,1262563200"; d="scan'208";a="482730269"
Received: from sj-core-4.cisco.com ([171.68.223.138]) by sj-iport-6.cisco.com with ESMTP; 13 Feb 2010 23:35:32 +0000
Received: from [10.21.112.221] (sjc-vpn2-221.cisco.com [10.21.112.221]) by sj-core-4.cisco.com (8.13.8/8.14.3) with ESMTP id o1DNZWSx019997; Sat, 13 Feb 2010 23:35:32 GMT
Message-ID: <4B773747.40006@cisco.com>
Date: Sat, 13 Feb 2010 15:35:35 -0800
From: Enke Chen <enkechen@cisco.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: John Leslie <john@jlc.net>
References: <5C5F1128072545A58786700CFD9617D1@corp.nexthop.com> <20100212170929.GF12861@verdi> <D498F43C-05F1-431C-8943-49A1C358DBD3@eng.gxn.net> <20100213215306.GI12861@verdi>
In-Reply-To: <20100213215306.GI12861@verdi>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: idr@ietf.org
Subject: Re: [Idr] Working Group Last Call for draft-chen-bgp-ext-opt-param-02
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 13 Feb 2010 23:34:09 -0000

Hi, John:

The dynamic capability is a big hammer for this small nail :-)

While the dynamic capability is generic, I suspect that only a very 
small subset of capabilities (such as address families) will be 
implemented and made dynamic - due to complexities involved and the 
absence of the requirements for most of the capabilities.  Thus I 
believe that the solution offered in draft-checn-bgp-ext-opt-param-02 is 
necessary, and it is a better solution due to its simplicity (though 
"hacky" as pointed out).

Regards,   -- Enke


John Leslie wrote:
> Rob Shakir <rjs@eng.gxn.net> wrote:
>   
>> On 12 Feb 2010, at 17:09, John Leslie wrote:
>>
>>     
>>>   And, it's a poor fit to the item in our proposed Revised Charter:
>>> " 
>>> " - Specify a means to non-disruptively introduce new BGP Capabilities
>>> " to an existing BGP session.
>>>
>>> I support that as a work item; and it implies that there must be
>>> a way to advertise capabilities while a session remains OPEN. Thus
>>> (if the Revised Charter is adopted) we must define an (optional) new
>>> message format to carry Capability Advertisements, removing any need
>>> to crowd all capabilities into one OPEN message.
>>>       
>> I am not entirely sure that this is true.
>>     
>
>    "Any need" may seem to overstate the case: I was thinking that there
> could be no need if your peer _supports_ dynamic capabilities.
>
>    I agree there _could_ be a need to crowd capabilities into one OPEN
> message when you know you're speaking to a peer with no support (at all)
> of receiving Capability advertisements after the OPEN (which of course
> you can't know if you're the first to send an OPEN).
>
>    I am not aware of any cases which come anywhere close to the 704
> byte "theoretical maximum" on John Scudder's slides; and I'm pretty
> sure that dynamic capabilities would be a better solution than revising
> the OPEN message. If I'm wrong on either of these, please say so.
>
>   
>> Are there situations in which one would want a session to be opened
>> with a specific set of capabilities, and not even entertain the idea
>> that there might be further capabilities added to these?
>>     
>
>    This is possible, but seems less than reasonable if your BGP speaker
> supports dynamic capabilities.
>
>   
>> (I'm not sure that this is actually a concern in any deployment that
>> I am currently aware of, one would expect that if the capability is
>> not supported at one end, a request to add it is not a disaster.)
>>     
>
>    I agree: at worst, it would require a NAK; and in most cases it's
> entirely safe to ignore a capability advertisement.
>
>   
>> The other point that I can think of is that there is some "duplicate
>> work being done by a BGP speaker if it is unable to send an OPEN with
>> the full set of its capabilities, and instead needs to send an OPEN
>> and then negotiate any capabilities.
>>     
>
>    Unfortunately there's "duplicate work" in any case...
>
>    IMHO, the case you name is at least clean: you learn that your peer
> won't listen to dynamic capabilities, so you close and open with the
> capabilities you care most to advertise. (For that matter, if you know
> that list ahead of time, you can include all of them in the first OPEN.)
>
>    Under draft-chen-bgp-ext-opt-param, you must first send all the
> capabilites you care about; then see whether your peer sends you a
> NOTIFICATION saying in essence "I don't understand ext-opt-param;"
> then send an OPEN scaled back to a set that fits in 256 bytes.
>
>    This is messy: it's easy to imagine implementations that send
> slightly different NOTIFICATIONS...
>
>   
>> I agree with John here, at worst this would appear to be an overlap
>> - and there would appear to be no harm in progressing this proposal.
>>     
>
>    "No" harm is overstating the case: publishing ext-opt-param as
> an RFC takes significant effort; coding it in "all" implementations
> takes significant time and effort; and the complexity it introduces
> increases the chances of late bugs.
>
>   
>> The draft would mitigate the situation that there is some period
>> in which we need >255 bytes in the Optional Parameters, and there [is]
>> no (stable ;-)) implemented dynamic capabilities support.
>>     
>
>    A situation I would be most happy to avoid!
>
>    The sooner we finish off draft-ietf-idr-dynamic-cap, the less chance
> such a period will occur. The simpler we make it, the less chance
> stable implementation won't be available.
>
>    I would suggest we strip draft-ietf-idr-dynamic-cap of anything which
> really is a matter of "tuning", and clarify that a NAK is perfectly
> acceptable to a request to withdraw an advertised capability. This would
> enable partial implementations to ship and get field-testing.
>
>    (Heck, NAK should be acceptable to _anything_ you don't want to
> bother with: it's just that "ordinary" capabilities can safely be
> completely ignored.)
>
>    Limiting an implementation to the same functions now done during
> processing of capability advertisements currently parsed during an OPEN
> would greatly reduce the likelihood of non-stable implementations.
>
>    We _really_should_ resist the temptation to crowd too much into any
> particular BGP extension...
>
> --
> John Leslie <john@jlc.net>
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
>