Re: [Idr] AD Review of draft-ietf-idr-bgp-extended-messages-20

Thomas Mangin <thomas.mangin@exa-networks.co.uk> Mon, 13 March 2017 09:31 UTC

Return-Path: <thomas.mangin@exa-networks.co.uk>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5EE1712955C; Mon, 13 Mar 2017 02:31:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.619
X-Spam-Level:
X-Spam-Status: No, score=-2.619 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gbVsCBYP8GkJ; Mon, 13 Mar 2017 02:31:45 -0700 (PDT)
Received: from out-3.mail.exa.net.uk (out-3.mail.exa.net.uk [82.219.4.131]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F2F81294F7; Mon, 13 Mar 2017 02:31:26 -0700 (PDT)
Received: from smtp-1.mail.exa.net.uk (smtp-1.mail.exa.net.uk [82.219.5.1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by out-3.mail.exa.net.uk (ExaSMTPD) with ESMTPS id 4826A1C0066; Mon, 13 Mar 2017 09:31:24 +0000 (GMT)
Received: from smtp-1.mail.exa.net.uk (localhost [127.0.0.1]) by smtp-1.mail.exa.net.uk (ExaSMTPD) with ESMTP id 326A32211B6; Mon, 13 Mar 2017 09:31:24 +0000 (GMT)
Received: from bluemind.exa.net.uk (bluemind.exa.net.uk [82.219.13.108]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp-1.mail.exa.net.uk (ExaSMTPD) with ESMTPS; Mon, 13 Mar 2017 09:31:24 +0000 (GMT)
Received: from localhost.localdomain (localhost [127.0.0.1]) by bluemind.exa.net.uk (Postfix) with ESMTP id F35591121A4A; Mon, 13 Mar 2017 09:31:23 +0000 (GMT)
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=_36331215e36409b3ad1484cab3d8b4cf"
Date: Mon, 13 Mar 2017 09:31:23 +0000
From: Thomas Mangin <thomas.mangin@exa-networks.co.uk>
To: <idr-bounces@ietf.org>
In-Reply-To: <f3c1ba27-56c5-5994-8c58-5f2fbb4875e0@cisco.com>
References: <DAEE98CC-8483-499E-B71C-FE4C6FC15A4A@cisco.com> <20170228210627.GB17448@pfrc.org> <3eb4d853-1d44-6250-c70a-26f60eac39e6@cisco.com> <006e01d296db$a7c4c320$f74e4960$@ndzh.com> <CA+b+ERmddHoq+4FmU+Ct3MhH46om8yUt69EoQMyLnzweHF=JgQ@mail.gmail.com> <010101d2974a$8520d060$8f627120$@ndzh.com> <CA+b+ERnejrof2dfvb4YuKpWieLxWOF7mTXkZpaOgJc=y=2V+XA@mail.gmail.com> <018c01d29756$c8b4f610$5a1ee230$@ndzh.com> <CA+b+ER=r6tF3t-THjN_zz5hOLETRV5MjpcoEo+79exeafWBNfQ@mail.gmail.com> <01b301d29758$180458e0$480d0aa0$@ndzh.com> <e2fd2bc1-94fa-66fb-e2f0-668ee5a1f1a1@cisco.com> <CE23F9A0-DC7B-4AC1-A6E4-6BF5A287B71D@nist.gov> <7657b686-0685-9bdf-17ba-e7d618a237aa@cisco.com> <f3c1ba27-56c5-5994-8c58-5f2fbb4875e0@cisco.com>
Message-ID: <5491a618e2e481765b042d7ef7a65fc3@exa-networks.co.uk>
X-Sender: thomas.mangin@exa-networks.co.uk
User-Agent: Roundcube Webmail/0.8.5
X-Virus-Scanned: clamav-milter 0.99.2 at outbound1.mail.exa.net.uk
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/_U1TJLQlSCveVkWFsBOsd0RnxvE>
Cc: 'idr wg' <idr@ietf.org>, draft-ietf-idr-bgp-extended-messages@ietf.org, Susan Hares <shares@ndzh.com>, 'Robert Raszuk' <robert@raszuk.net>, idr-chairs@ietf.org
Subject: Re: [Idr] AD Review of draft-ietf-idr-bgp-extended-messages-20
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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: Mon, 13 Mar 2017 09:31:48 -0000

 Hello,

I just noticed that I tried to re-invent
draft-ietf-idr-ext-opt-param [1] on grow. For people not on both list,
here are the summary of what I found.

At least one implementation seen
in the wild (read ExaBGP) is buggy and do not check the "Optional
Parameters Length", parsing the rest of the OPEN buffer without
truncating
it.

https://github.com/Exa-Networks/exabgp/blob/974f97fc6be63f0b05755ffc3e1ea69a02c0505b/lib/exabgp/bgp/message/open/capability/capabilities.py#L159

While
I now fixed the bug, using 255 as a values and expecting the speaker to
handle this number as "magical" may break some deployment down the
line.

While I can only apologise for letting such a error in my code, I
would assume that more than one "home brewed" implementation may perform
bad or lazy OPEN parsing and that therefore the draft as written would
at some point break some currently working BGP session.

I therefore
proposed on grow an alternative way to encode the extended length within
a capability - total or extra bytes after the initial value in the 1
bytes length, and asking new implementation to make sure that the data
within the one byte length remains valid.
This approach does not change
at all the parsing of the current OPEN and for buggy implementation
ignoring the length (parsing the whole payload - like ExaBGP did), it
will continue to work, this change is transparent.

However this change
would not allow to extend an individual capability size (from one byte
to two) the way the current encoding propose, it would however allow
partial capability exchange between a speaker aware of the extension (if
this is a good or bad thing is surely up to debate).

I also realise
that it may be several years before the extended encoding, even if
available today, is required due to the growth of the OPEN size. I am
therefore only pointing this issue to the list for information so that
the author can decide if they consider this scenario as probable and
worthy of consideration or not.

Sincerely,

Thomas

On 2017-03-07
23:51, Enke Chen wrote: 

>
https://datatracker.ietf.org/doc/draft-ietf-idr-ext-opt-param/
[1]draft-ietf-idr-ext-opt-param-05
 

Links:
------
[1]
https://datatracker.ietf.org/doc/draft-ietf-idr-ext-opt-param/