Re: [Idr] WG Last Call foir draft-ietf-idr-bgp-extended-messages (11/12 to 11/26)

Robert Raszuk <robert@raszuk.net> Tue, 28 November 2017 19:02 UTC

Return-Path: <rraszuk@gmail.com>
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 531AB1270A0; Tue, 28 Nov 2017 11:02:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.398
X-Spam-Level:
X-Spam-Status: No, score=-2.398 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.199, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 yZa0LrD-vQcp; Tue, 28 Nov 2017 11:02:36 -0800 (PST)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB90B126557; Tue, 28 Nov 2017 11:02:35 -0800 (PST)
Received: by mail-wm0-x22a.google.com with SMTP id l141so1623970wmg.1; Tue, 28 Nov 2017 11:02:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=3W6h8O7QcAGClN8zNa/wQPJlT7Bs/+pW9kNLnh986A4=; b=UiuGlZXj354qs29Rd8YLNa1AdcKlBOzQ7mqbLSTZqPuzL60Qeo7ewjwVi49O4A9wf2 rV7FPbAJXlpu5j3RFzMQ3KTM47ELT6Y2MbZrrBS6VCr1UY4KZj/XNfwS3gB3+d6VNxC6 Zsdtg93Ycc3U22v+2/h7GB5qKVzuFpzAzKqFccMr0D9b00IKFcBOU198/67M11KzRikr KWA+DrYHBNpZ+1ufy36Io4y+Km3f000hLE8nUyJwDLt+m/XYQQwsm7PfUv0h28yGNs5i pjow8osyjUhxuRGoNd+8so9/v1Wtn0tvY8VMZlfFiDzTnxORUx0xGA0puV4xCcKVIQ/x R6Kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=3W6h8O7QcAGClN8zNa/wQPJlT7Bs/+pW9kNLnh986A4=; b=OYKcviIWeaZqlDofajUlqr45ZFBrm5oTrIGe4F4A13rrtiZd8z11sfDaee+0DI3Ypt 69oj6VAaH5+EDmtacKAM0f0oxV8CAb4Ly9Y63W/lhSQl42+cFnHLaMFhn1+V54rtQYfK ejqWhHavu/t2aeNuQdQTSVGHy/YmYaub87ccBx/0//HUmNH37g6bv6u1dGLIztS39xe5 KDixztjgs09SWJPiermqEYQIL2gRk5T7UpBGfzz80wGi/OWV4Npy61NiyFHVbLStp3w3 kTIpfyI3Tvx/T56JNKqSoh7sqBtNt9aSk0EPjujQQEcumi45x00EXS1kiUl9MRLkv8pD yruQ==
X-Gm-Message-State: AJaThX65eBFQ7vQrhL9EtTjbu9/kWir9NMD+npJ0Vl0lCkXQPRUrZua6 ThFDYKi0BZtqZ0VMyYcxxTlCkqmJEOmTjev2GbhvSrY0
X-Google-Smtp-Source: AGs4zMZ6rNdvCoKDzdgljrjbcNlIMYdx/w+OfuXnT/QOPs86soihKD69lYAAxByuSGPqAzrdvx0bONYiSrF8kYd4cyQ=
X-Received: by 10.28.5.201 with SMTP id 192mr535670wmf.142.1511895754127; Tue, 28 Nov 2017 11:02:34 -0800 (PST)
MIME-Version: 1.0
Sender: rraszuk@gmail.com
Received: by 10.28.54.217 with HTTP; Tue, 28 Nov 2017 11:02:32 -0800 (PST)
In-Reply-To: <20171128183312.GT16871@pfrc.org>
References: <CACWOCC-EfzOYdUrHAWQN10LBzofySrKRADc6Zq-dyca1o0DPvw@mail.gmail.com> <CA+b+ER=ppm1N2wnMrPxxS_Nug2EaETBkW5gASTVZ2UKKq0aZJA@mail.gmail.com> <976743ea96934039a85fa74415b45862@XCH-ALN-014.cisco.com> <CA+b+ERmpEghcndHKM+WKKxg1V8ufTwg=xqb0J5jNowZHj2OwAQ@mail.gmail.com> <88d5df779a344b588745108c771d3145@XCH-ALN-014.cisco.com> <deae6e85c3ff47a6bbcac176eb91bd3e@XCH-ALN-014.cisco.com> <F0EAF2D4-656D-48BD-830B-DC2E8B862813@nist.gov> <A0106E1A-272D-4E1D-A0F3-E3531D583AA3@cisco.com> <1D2FD437-0EEF-4FF6-9853-C09E7EEA2A15@nist.gov> <2B92A151-5A78-46EE-8A46-C09603A37219@cisco.com> <20171128183312.GT16871@pfrc.org>
From: Robert Raszuk <robert@raszuk.net>
Date: Tue, 28 Nov 2017 20:02:32 +0100
X-Google-Sender-Auth: Z2_Yq3464i8lO0LUYM_T7iXxCso
Message-ID: <CA+b+ER=mECP4XkYB1txcyWgOcEfcY3-y8BsAPPy0skPp6TO0Sw@mail.gmail.com>
To: Jeffrey Haas <jhaas@pfrc.org>
Cc: "Jakob Heitz (jheitz)" <jheitz@cisco.com>, idr wg <idr@ietf.org>, "idr-ads@ietf.org" <idr-ads@ietf.org>
Content-Type: multipart/alternative; boundary="001a1143816e5cbfd3055f0fa9d4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/HN2tdu5BYJgdum_ZSSyv7MMqhB8>
Subject: Re: [Idr] WG Last Call foir draft-ietf-idr-bgp-extended-messages (11/12 to 11/26)
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 28 Nov 2017 19:02:38 -0000

Hi Jeff,

> We *MUST* be normative about the treat as withdraw behavior.

This does provide one way to address my main point that the draft MUST be
updated to define what to do when you get to a bottleneck. Otherwise each
implementation will try to do their own thing which will be a disaster.

However your suggestion creates troubleshooting nightmare. How does a
sender is to know that some routers 3 ASes away did not get his prefix ?
How does the receiver is to know that because he is running older device
with no software upgrade possible he will be potentially missing some
routes ?

Do we no longer care that any BGP4 proposal no matter how great and useful
it is MUST be incrementally deployable ?

Thx,
R.


On Tue, Nov 28, 2017 at 7:33 PM, Jeffrey Haas <jhaas@pfrc.org> wrote:

> [I'm choosing this message as my response point, but not intending to
> suggest that other bits of the thread weren't relevant.]
>
> On Wed, Nov 22, 2017 at 11:26:32PM +0000, Jakob Heitz (jheitz) wrote:
> > If router A follows this draft, then it can quite legitimately send an
> update with 16000 communities. If router B cannot receive and process it,
> then it’s broken.
> >
> > If path attribute size is not addressed, then this draft will cause
> inoperable implementations. As such, it is not fit for standardization.
> Either we assume the maximum possible size for all attributes or specify
> shorter maximum sizes. Anything less leads to failure to interoperate.
>
> BGP has always had an issue with features that had the risk of overflowing
> the Path Attributes.  I've seen this (as likely have others supporting
> implementations) with odd combinations of AS_PATH, communities, etc.
> Extended communities and new features simply make this more likely.
>
> My take on the issue is this:
> - If you've selected a route and are attempting to send it to a neighbor
> and
>   you are unable to format a valid BGP PDU containing only a single NLRI,
>   you MUST NOT try to send it.
> - If you previously sent reachability for that NLRI, and are unable to send
>   it as above, you MUST withdraw it.  Otherwise you run the risk of
>   improper reachability or forwarding.
>
> Basically, "treat as withdraw" applies here.
>
> IMO, it's no different for extended messsages.  If I receive a > 4k message
> and I can't format it for a subsequent peer, treat as withdraw for those
> peers.
>
> Where we've had good room for discussion has been what to do in order to
> avoid these sort of things:
> - Are there circumstances where we might be able to drop an optional
>   attribute?  Maybe.  This seems messy to me.
> - Are there circumstances where we might be able to limit the size of large
>   attributes?  (E.g. communities.)  Possibly.  But this may be unsafe and
>   would be highly circumstantial.  Whose route-target do you drop from a
> VPN
>   route as an example?
> - Is there wisdom in suggesting "old world" path attributes shouldn't be
>   allowed to overflow the 4k limit?  Possibly.  Then you start getting into
>   interesting mixes of combinatorics.  For example, long AS_PATH and a long
>   community list together.  Implementations already do things like limit
>   maximum AS_PATH length.
>
> My personal opinion on the mitigations is that we shouldn't try to be
> normative about them in the spec.  As noted in the AS_PATH example, vendors
> already limit some attributes to be shorter than what the protocol might
> maximally allow.  Leave it to the implementations to provide knobs
> appropriate to those implementations.  There may be room in the spec
> suggesting that such things are possible.
>
> We *MUST* be normative about the treat as withdraw behavior.
>
> -- Jeff
>