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

Robert Raszuk <raszuk@cisco.com> Sat, 13 February 2010 23:50 UTC

Return-Path: <raszuk@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 53CD83A7912 for <idr@core3.amsl.com>; Sat, 13 Feb 2010 15:50:22 -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 EH3NzR5N1Ct7 for <idr@core3.amsl.com>; Sat, 13 Feb 2010 15:50:21 -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 E5CC03A729B for <idr@ietf.org>; Sat, 13 Feb 2010 15:50:20 -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,470,1262563200"; d="scan'208";a="482734229"
Received: from sj-core-4.cisco.com ([171.68.223.138]) by sj-iport-6.cisco.com with ESMTP; 13 Feb 2010 23:51:45 +0000
Received: from [192.168.1.57] (sjc-raszuk-87113.cisco.com [10.20.147.254]) by sj-core-4.cisco.com (8.13.8/8.14.3) with ESMTP id o1DNphiq025236; Sat, 13 Feb 2010 23:51:44 GMT
Message-ID: <4B773B0F.4070004@cisco.com>
Date: Sun, 14 Feb 2010 00:51:43 +0100
From: Robert Raszuk <raszuk@cisco.com>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: Enke Chen <enkechen@cisco.com>, John Leslie <john@jlc.net>, idr@ietf.org
References: <5C5F1128072545A58786700CFD9617D1@corp.nexthop.com> <20100212170929.GF12861@verdi> <D498F43C-05F1-431C-8943-49A1C358DBD3@eng.gxn.net> <20100213215306.GI12861@verdi> <4B773747.40006@cisco.com>
In-Reply-To: <4B773747.40006@cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
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
Reply-To: raszuk@cisco.com
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:50:22 -0000

Enke and all,

I support progressing the draft to the RFC.

I don't think that what is in fact proposed in the draft is that 
"hacky". Assigning a special meaning to a given value (here 255) is IMHO 
a natural way to extend the available space.

Of course there could be other ways to extend the capability space .. 
mark other value to mean OPEN2 msg will follow .. introduce hierarchy 
within each AF etc .. but those would be truly hacky or at least much 
more hacky :-).

Cheers,
R.


> 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
>>   
> 
> _______________________________________________
> Idr mailing list
> Idr@ietf.org
> https://www.ietf.org/mailman/listinfo/idr
>