Re: [Gen-art] Genart last call review of draft-ietf-bess-nsh-bgp-control-plane-12

Alissa Cooper <> Wed, 18 December 2019 02:09 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B5777120073; Tue, 17 Dec 2019 18:09:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key) header.b=USvI4ShF; dkim=pass (2048-bit key) header.b=iKZNzsGv
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id KUnfbJZGbFk7; Tue, 17 Dec 2019 18:09:01 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 2FEEF120043; Tue, 17 Dec 2019 18:09:01 -0800 (PST)
Received: from compute7.internal (compute7.nyi.internal []) by mailout.nyi.internal (Postfix) with ESMTP id B5B2321FA7; Tue, 17 Dec 2019 21:08:59 -0500 (EST)
Received: from mailfrontend1 ([]) by compute7.internal (MEProxy); Tue, 17 Dec 2019 21:08:59 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=n zzhVYEf1u7pKX9XJ7nVzXnVzl7v/ZnqYHa1wet79Us=; b=USvI4ShFb2TlebDqe 5+hjcvTk2oX8rGOgfbNDhDlbH1XyvjXHyixH8J7wwvwYgWBzujkmej/5XiYMa/m+ 891f5HTvE0rGRH61He+NTjynLxRc3fN5wVwUI5SjINabcHSmgPqVFXrMdlKIpOu0 US0nVCp8ZYi4Fv0u8bdDqEAEztBt1ihHKx5fYB7rTyQJg0G3UAnqglyGZ+Jv/Zq8 5I9M7r3POpLXc2eM19WHSZSWvC9TP9llV6lWR0eKH9DF2EFJOepQzsMmAUflihNQ xTHlNzAgQKH+X3heWlpNcLx0bWBfndgknLprqTkT442cdIeP8HLvaCKrUjZCCll8 J8Uqg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=nzzhVYEf1u7pKX9XJ7nVzXnVzl7v/ZnqYHa1wet79 Us=; b=iKZNzsGvYsrpPZBlz3qJwfbP8ETIVtb0JvBPXgIEl/EFJ3ie8cIKXld99 Vk939yh7pIupc5/TGo9bbSpNQ5Q3jDY4/uMNdPMewTFBe7zmaK/G0V7kM3FqigP9 h++cevhamSQW/cw7dbE5U8Zh1gHhRcbhgEg46bY3l92VtmPvRZoUYhHTqjrzdHW2 0/D2LfQG2UvP80XiPzE8IIyBpeDEeHqghew/MzmWrHd10WSSP9HGNCrov7UfwI1H R11JXghA7piUzxnBu/ffXGcfShZ4pdPb4h48ljvPtMsfT1TxSg7pJsQwhPFs/uWv WSR+4BdAEYE8Dlj+HIFqEZ8rSlppQ==
X-ME-Sender: <xms:Oor5XdZL6sy6pPyGtJHZ8Oc9t-y9xa-_WoADtCdiX1vTxhTn22yOHA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrvddtkedggeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffgffkfhfvofesthhqmhdthhdtjeenucfhrhhomheptehlihhs shgrucevohhophgvrhcuoegrlhhishhsrgestghoohhpvghrfidrihhnqeenucffohhmrg hinhepihgvthhfrdhorhhgnecukfhppedujeefrdefkedruddujedrledtnecurfgrrhgr mhepmhgrihhlfhhrohhmpegrlhhishhsrgestghoohhpvghrfidrihhnnecuvehluhhsth gvrhfuihiivgeptd
X-ME-Proxy: <xmx:Oor5XeeYFtaC82jnuZvfQaOLlj97wj7_iZaPcOdDmTekghYmMWpmXQ> <xmx:Oor5XU7wnMlgqq-oOPe-6T2ftWFGfxTwVrDYmEEIRdaOOtnyk5ZAlQ> <xmx:Oor5XTZIjn2mIIgYOSwlBNE9UY5yvI6YxySp5GGz9DIs1fICWuWRQA> <xmx:O4r5XWSALWFbRafdPNIywYwcRyAyAjE0k4V0EsSfJS_V6i2gxPf6cw>
Received: from (unknown []) by (Postfix) with ESMTPA id 472DE8005A; Tue, 17 Dec 2019 21:08:58 -0500 (EST)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Alissa Cooper <>
In-Reply-To: <>
Date: Tue, 17 Dec 2019 21:08:57 -0500
Cc: Adrian Farrel <>, General Area Review Team <>,,,
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <030601d5af41$b31b8d40$1952a7c0$> <> <>
To: Brian E Carpenter <>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <>
Subject: Re: [Gen-art] Genart last call review of draft-ietf-bess-nsh-bgp-control-plane-12
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "GEN-ART: General Area Review Team" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 18 Dec 2019 02:09:04 -0000

Brian, thanks for your reviews of this document. Adrian, thanks for addressing Brian’s comments. I entered a No Objection ballot.


> On Dec 13, 2019, at 6:05 PM, Brian E Carpenter <> wrote:
> Hi,
> For the record, the -13 version addresses all my comments.
> Thanks
>   Brian Carpenter
> On 11-Dec-19 11:49, Brian E Carpenter wrote:
>> Thanks Adrian. All OK for me, with one inserted comment below.
>> Regards
>>   Brian
>> On 10-Dec-19 23:07, Adrian Farrel wrote:
>>> Hi Brian,
>>> Thanks for your time with this.
>>> In line...
>>>> Comments:
>>>> ---------
>>>> I am not a BGP expert and did not check the BGP details. This
>>>> is a pretty complex mechanism so I would have liked to hear of
>>>> at least a lab-scale implementation. I wouldn't be shocked if
>>>> this was diverted to Experimental.
>>> At the moment I don't have access to a lab, so I won't comment about that.
>>> I will note four things:
>>> 1. I don't consider the mechanism to be "pretty complex", but "rather simple". It may be that the difference is whether you have to pick up all of BGP to understand this draft or whether it comes as a small increment.
>>> 2. Obviously (?) the document has had eyes from a number of BGP experts especially a very careful review by the document shepherd. It was shared with IDR and caught comments from one of the IDR chairs.
>>> 3. It's an IBGP mechanism not an EBGP mechanism, so the exposure to the stability of the Internet is reduced.
>>> 4. The BESS chairs ran a poll on the list to determine whether to progress as is in advance of implementations.
>>>> Minor issues:
>>>> -------------
>>>> Actually these are mainly questions:
>>> Questions are good.
>>>> There are numerous references, starting in the Abstract, to the
>>>> "Controller" but it isn't defined or described in any one place.
>>>> I expected to find it in RFC8300, but no. So what is the Controller?
>>> Right. This is a good catch. A "controller" is a centralised component responsible for determining SFPs and maybe more. It is akin to an SDN controller. We definitely need to add text for this.
>>> It is not an 8300 concept. Indeed, 8300 is principally focused on the forwarding plane.
>>> Furthermore, the control plane and orchestration aspects of SFC are a bit sketchy in 7665.
>>> draft-ietf-sfc-control-plane might have been a good source of information, but the SFC WG appears to have given up on it.
>>> So, yes, we need a short definition in 1.2, and a paragraph in 2.2.
>>>> RFC8300 requires NSH+original_packet to be encapsulated in a Transport
>>>> Encapsulation. In section 2.1 we find:
>>>>> Note that the presence of the NSH can make it difficult for nodes in
>>>>> the underlay network to locate the fields in the original packet that
>>>>> would normally be used to constrain equal cost multipath (ECMP)
>>>>> forwarding.  Therefore, it is recommended that the node prepending
>>>>> the NSH also provide some form of entropy indicator that can be used
>>>>> in the underlay network.  How this indicator is generated and
>>>>> supplied, and how an SFF generates a new entropy indicator when it
>>>>> forwards a packet to the next SFF are out of scope of this document.
>>>> I would have expected that text to state that the entropy indicator is
>>>> a property of the Transport Encapsulation required by RFC8300. (Isn't
>>>> the Service Function Overlay Network in fact the embodiment of the
>>>> Transport Encapsulation?) 
>>> Well, yes and no.
>>> The entropy indicator is carried in the transport encapsulation, and is used by the transport (underlay) network.
>>> But it is a property of the payload. In particular, it is a property of what is encapsulated by the NSH.
>>> The mechanism that encapsulates for the transport would normally have visibility into the payload to create the entropy indicator (hashing on specific fields), but the inclusion of the NSH makes that harder. Hence the recommendation that the entropy indicator is provided by the mechanism that prepends the NSH.
>> Yes, understood. Of course IPv6 has its own header field precisely for this purpose and both RFC6437 and RFC6438 are there to help you ;-). Shame about IPv4.
>>> I think the text says this and that those skilled in the art (you have to understand the use of the entropy indicators and the inclusion of the NSH) will get this.
>>>> In section 2.2 we find:
>>>>> When choosing the next SFI in a path, the SFF uses the SPI and SI as
>>>>> well as the SFT to choose among the SFIs, applying, for example, a
>>>>> load balancing algorithm or direct knowledge of the underlay network
>>>>> topology as described in Section 4.
>>>> I'm probably missing something, but doesn't that risk a conflict with
>>>> the statement above about the entropy indicator? How would this choice
>>>> of path be guaranteed congruent with the choice of path by the underlay
>>>> network? Or doesn't that matter?
>>> No, this is a choice of SFIs, not a choice of paths between SFFs.
>>> The former is determining the path in the overlay, the latter (using the entropy indicator) is selecting the path through the underlay.
>>>>> 4.4.  Classifier Operation
>>>>> As shown in Figure 1, the Classifier is a component that is used to
>>>>> assign packets to an SFP.
>>>>> The Classifier is responsible for determining to which packet flow a
>>>>> packet belongs (usually by inspecting the packet header),...
>>>> Would it be better to state explicitly that the method of classification
>>>> is out of scope for this document? There is a whole world of complexity
>>>> in that "(usually...)".
>>> Yes, happy to say it is out of scope.
>>>>> 4.5.  Service Function Forwarder Operation
>>>> This section left me a bit puzzled. We've got the original packet,
>>>> the classifier puts an NSH in front, we've got forwarding state,
>>>> but we don't seem to have an IP header in front of the NSH to hand to
>>>> the fowarding engine. Where's the Transport Encapsulation?
>>> OK. We can tweak that. We are principally interested in the overlay forwarding in this section, but we should note that transmission between SFFs is across the underlay and so there is a "transport" encapsulation.
>>>> Nits:
>>>> -----
>>>> "such errors should be logged" ... "should log the event"
>>>> "should either withdraw the SFPR or re-advertise it"
>>>> Intentional lower case "should"?
>>> We'll go through these. The first few I looked at are reciting behaviour defined in 8300 and I don't think it is appropriate to use upper case for that. It is "as defined in RFC 8300" not new normative text.
>>>> IDnits said:
>>>> -- The document has examples using IPv4 documentation addresses according
>>>>    to RFC6890, but does not use any IPv6 documentation addresses.  Maybe
>>>>    there should be IPv6 examples, too?
>>> Maybe. I think we would need to add some v6 examples rather than convert some of the existing (because there is a flow between the current examples).
>>> I'm not sure it is very important because there is no use of prefixes, but I'd be happy to include some v6 examples if someone wants to draft a couple.
>>> Best,
>>> Adrian
> _______________________________________________
> Gen-art mailing list