Re: [nvo3] Role of control plane in draft-dt-nvo3-encap-01

Erik Nordmark <nordmark@sonic.net> Fri, 19 May 2017 05:55 UTC

Return-Path: <nordmark@sonic.net>
X-Original-To: nvo3@ietfa.amsl.com
Delivered-To: nvo3@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 905401293DB for <nvo3@ietfa.amsl.com>; Thu, 18 May 2017 22:55:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-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 SZS39qE3xpYp for <nvo3@ietfa.amsl.com>; Thu, 18 May 2017 22:55:41 -0700 (PDT)
Received: from d.mail.sonic.net (d.mail.sonic.net [64.142.111.50]) (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 B14481242F7 for <nvo3@ietf.org>; Thu, 18 May 2017 22:50:46 -0700 (PDT)
Received: from [192.168.1.125] (107-128-215-68.lightspeed.sntcca.sbcglobal.net [107.128.215.68]) (authenticated bits=0) by d.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id v4J5ogbE007143 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 18 May 2017 22:50:43 -0700
To: Tom Herbert <tom@herbertland.com>, Erik Nordmark <nordmark@acm.org>
Cc: "nvo3@ietf.org" <nvo3@ietf.org>
References: <CALx6S35GXTSx=eiBrVqbDDYrkaE1syQhStLBgRGyAVKGPzzfUg@mail.gmail.com> <7662c052-0bae-d409-c7bd-58f33797567d@acm.org> <CALx6S37QiGuDUnKsiJwani9oYm-5vGLTwP8jRnJ8ZFb1jHzQ-g@mail.gmail.com>
From: Erik Nordmark <nordmark@sonic.net>
Message-ID: <17e069b7-0ac8-5e64-f1c3-a45ff6a99f78@sonic.net>
Date: Thu, 18 May 2017 22:50:42 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <CALx6S37QiGuDUnKsiJwani9oYm-5vGLTwP8jRnJ8ZFb1jHzQ-g@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Sonic-CAuth: UmFuZG9tSVahwT49YyuQmRayx6WlpJP7eL8qyBCMQKjojVc5YfjIB9jgpqzemd0U3v2MxTORhh5KzGkTxYuPWrtqNYM0EALoglafa+YEXmc=
X-Sonic-ID: C;HIiAGFc85xGwVYo9YI2qTQ== M;7iGwGFc85xGwVYo9YI2qTQ==
X-Sonic-Spam-Details: 0.0/5.0 by cerberusd
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/pYtCuLxUO0_cwvT63PnqkP7CMpU>
Subject: Re: [nvo3] Role of control plane in draft-dt-nvo3-encap-01
X-BeenThere: nvo3@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Network Virtualization Overlays \(NVO3\) Working Group" <nvo3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3>, <mailto:nvo3-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nvo3/>
List-Post: <mailto:nvo3@ietf.org>
List-Help: <mailto:nvo3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3>, <mailto:nvo3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 05:55:42 -0000

On 05/18/2017 01:44 PM, Tom Herbert wrote:
> On Thu, May 18, 2017 at 10:03 AM, Erik Nordmark <nordmark@acm.org> wrote:
>>
>> Tom,
>>
>> I'm trying to make sure we capture the discussion about the control plane
>> accurately.
>>
>> On 04/15/2017 03:19 PM, Tom Herbert wrote:
>>>
>>> - I do not believe this is at all plausible. 1) This could only help
>>> the endpoints and not intermediate devices. As point out two sentences
>>> below transit nodes may need to process extensions. 2) This creates an
>>> a dependency between data plane and control plane that is at odds with
>>> the requirement for control plane independence (section 2.1 of Geneve
>>> draft) 3) This would entail a serious design and implementation effort
>>> that would likely only be ready long after the dataplane has been
>>> deployed. 4) This creates new problems for interoperability, for
>>> instance two devices could support same set of options but can't
>>> interoperate because they need different orderings.
>>
>>
>> First of all, the intermediate devices would always have a harder time,
>> especially as they might be of an older vintage than the NVEs; the classical
>> ossification problem caused by things in the middle.
>>
>> The draft suggests
>>     The Geneve draft could specify that the subset and order of option
>>     TLVs should be configurable for each remote NVE in the absence of a
>>     protocol control plane.
>> thus there is a way to get this off the ground.
>>
>> I don't think it would be hard to specify how this is carried in an IETF
>> standard control plane such as EVPN.
>>
>> Note that there are two places where the control plane can help.
>> 1. The egress NVE only needing to deal with the subset of the defined
>> extensions that it implements.
>> 2. The egress NVE being able to control the order of the extensions in the
>> packet.
>>
>> Are your concerns only about the second?

Repeating the above question since you didn't answer: Do you have any 
concerns about #1 i.e. the ability for the egress NVE to specify the set 
of extensions it supports?


>>
> It's not clear to me how negotiated ordering helps, nor how to resolve
> conflicting ordering constraints between to nodes: e.g. for options
> A,B,C I might want to send them in order ABC, but maybe you can only
> receive them as CBA. Who wins?

For the ordering part (i.e., #2 above) just as the set (#1) it is the 
egress NVE which makes a statement in the control plane.
Hence no conflicts.
But an ingress NVE would need to be capable of including different 
subsets (#1) and different order (#2) when encapsulating to different 
egress NVEs.

    Erik


> 
>> I think for concerns about the amount of headers the hardware can parse, the
>> first one is the key one. And it also handles the somewhat esoteric case of
>> an egress NVE only supporting one extension.
>>
>> Thus if the WG thinks the ordering (for egress NVEs which support two or
>> more extensions) is not important then WG can remove the ordering part while
>> keeping the subset part.
>>
> It always makes sense to send the minimal amount of information and no
> more, but endpoint negotiation doesn't take intermediate nodes into
> account and they might drop packets if their parsing buffer is
> exceeded. This is a generic problem that is not specific to
> encapsulation, for instance extension headers can push things over the
> limit. To that end I proposed a "Headers too long" ICMP error in 6man
> to provide a feedback signal.
> 
> Tom
> 
>>     Erik
>>
>>
>>
>>
>