Re: [lisp] 6830bis Review

Alberto Rodriguez-Natal <rodrigueznatal@gmail.com> Thu, 11 January 2018 14:21 UTC

Return-Path: <rodrigueznatal@gmail.com>
X-Original-To: lisp@ietfa.amsl.com
Delivered-To: lisp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 73B7512EB84 for <lisp@ietfa.amsl.com>; Thu, 11 Jan 2018 06:21:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=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 PrSDmBInlZVs for <lisp@ietfa.amsl.com>; Thu, 11 Jan 2018 06:21:56 -0800 (PST)
Received: from mail-it0-x236.google.com (mail-it0-x236.google.com [IPv6:2607:f8b0:4001:c0b::236]) (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 8E97212EB83 for <lisp@ietf.org>; Thu, 11 Jan 2018 06:21:56 -0800 (PST)
Received: by mail-it0-x236.google.com with SMTP id b5so4540342itc.3 for <lisp@ietf.org>; Thu, 11 Jan 2018 06:21:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=GY9lUt36jZMmWTlEciOu2lA1UN/8ChSFZU1CLiIzJYg=; b=C8QrhXuScmSqJvIHmbIlCDRwkX1sPF3B12faUrDb1Wyq0TWrsHADmJoP68hYA2oUXB giyxKCkRCXsZtMAJnaW9ogKj3z8Cq/wpNEhDVYsLdxcKSB+1cyZGNfdnI22PGqt4mbNG XYzmN5e2NprmPMyUuEE+lLmpdWh+SoPp01UqKfGpJ+opJdUtll23b/45uIBsi+CfrvQN 1sQq6WVAj40l5EwNec4/6/lHXgJW+YxRokKQs2wP0Je2ktdihHmGQtRQOG3sAOn+aTal j3Uy+KfpvM/4rdbmMd/6vlzzeCxkJEDJ0Unuw9raryM+8ysxyKEHNchbok79UxJbXdCs U4iA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=GY9lUt36jZMmWTlEciOu2lA1UN/8ChSFZU1CLiIzJYg=; b=BZoeXT4pDki7q7eSuhoX3rpbn7sFr9dzSwAD5Bbwoa4iNZcXWokGF/EFcCU1aw5Y8J rKGQtT/7W1Nt6E6KeYn0E7PItk6BlF149UKO8dbPpnF0LVlfMnZ+8iIRL9C/4PD8i212 Rg3APu39Pn3vok5jfHU9zZG3pzRd+ImHKTTVQ0uvEQ+WuCrMAIK3yPbXMyd07vARF0U7 9wqF5b+9NiRiCHbeadAR3I/0REwZQpPuJWthL/rdDrEHSgUe5LZt+vlvOelVvd//qnAI XqRig+sdMqZLxbpChhH6G4LC0IK/JkaCuBF0o0FN91tjNDTd/3nUTiMkchI7UCGK1SHt 3UPw==
X-Gm-Message-State: AKwxyteuXlwMXNTjMHr/bn9OAyn2wrxkBD8rw9BygL/0PtkhMyU5beIH 42ZxtCinErRi2jNbEmAiP+7b4bAFQQX4jkX2gns=
X-Google-Smtp-Source: ACJfBou9H9QJ3UbmP3Y3DLHeOCjtQlEfF9+nq3gd5QjI+CzCzLPL7waHZPcLTd2aUfN6lVGSIRn/c7W+BHorh3lYN7s=
X-Received: by 10.107.7.41 with SMTP id 41mr4744364ioh.249.1515680515578; Thu, 11 Jan 2018 06:21:55 -0800 (PST)
MIME-Version: 1.0
Received: by 10.107.181.65 with HTTP; Thu, 11 Jan 2018 06:21:34 -0800 (PST)
In-Reply-To: <DA85FB85-45B8-4BF8-B5BC-F544E11AB90A@gmail.com>
References: <907CD955-B043-4728-ABD6-5AD96192EC5F@inria.fr> <4EAD1E98-E8E7-4A0A-8300-2D185B9109CC@gigix.net> <CAGE_QexqW=q51kXR9fo_8YDu6VVUHCBz-XrGt5iZ6FOTRxDLiA@mail.gmail.com> <49EE7D2D-FC59-42F1-A93A-B315D4D6420E@gigix.net> <98C25E20-BD78-462A-BDB4-572AA24C1A97@gigix.net> <829870A2-2D90-4967-983A-56F62E765796@gmail.com> <5754BC06-9CBD-4C52-9CD6-402610EAABF1@gigix.net> <DA85FB85-45B8-4BF8-B5BC-F544E11AB90A@gmail.com>
From: Alberto Rodriguez-Natal <rodrigueznatal@gmail.com>
Date: Thu, 11 Jan 2018 15:21:34 +0100
Message-ID: <CA+YHcKHxEJjFqm4z-PCo4LN_gv7v=mqQ7R47qPepLHJQ+kp=7w@mail.gmail.com>
To: Dino Farinacci <farinacci@gmail.com>
Cc: Luigi Iannone <ggx@gigix.net>, "lisp@ietf.org list" <lisp@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/KPNrRXyLWCMGxMAMEwHDMMZARZY>
Subject: Re: [lisp] 6830bis Review
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lisp/>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jan 2018 14:21:59 -0000

Adding my two cents to this discussion, in the hope that it helps with
the convergence.

My original hope with the reorganization of the RFCs was to be able to
use the LISP control-plane with a non-LISP data-plane. Putting aside
the discussion of what goes where, and with some pragmatism in mind, I
think we're close to that with the current 6833bis. The major
roadblock for me is the lack of SMR in that document, and I think this
aligns with the view of others in the list.

I believe that with the addition of SMR, 6833bis will have all the
required pieces to put together a viable LISP deployment (using a
non-LISP data-plane) without having to look into 6830bis. Sure, there
would be some mechanisms (e.g. RLOC probing) that would not be
available using only 6833bis, but I could live without those. In
addition, we could work on adding some extra explanation to the
introduction of 6833bis so a non-familiar reader could make use of
LISP without looking into 6830bis.

I think these two things (i.e. move SMR and extend 6833bis intro)
would minimize the changes required on the current documents and would
allow us to reach some rough consensus to make progress with the docs.
What do you guys think?

Alberto

On Wed, Jan 10, 2018 at 6:26 PM, Dino Farinacci <farinacci@gmail.com> wrote:
> From my perspective on the situation:
>
> (1) I made changes exactly to text that was requested.
> (2) I sometimes modify what the text that was requested.
> (3) I disgree with some text so don’t include it.
> (4) I have made many sub-revisions of -08.
> (5) Comments are coming in throughout the review period and I don’t know what revision you have read and what you have not read. I don’t know if your comments are old or based on one of the revisions. Because I see comments that I addressed but its not clear to me you know that (or at least you have not told me).
> (6) The changes in (1) and (2) have not been confirmed or denied by commenters. So I don’t know if what I changed has been accepted.
> (7) Adding text to something that has changed won’t go in properly. So referencing some offered text in a previous email can’t be just inserted.
>
> So -08 has been submitted. I don’t know what are the outstanding issues at this point. So I need commenters to be specific. This is what I suggest:
>
> (1) List the open issues by commenting on the latest submitted -08.
> (2) Include text from the -08 draft and your comments follow with suggested text.
>
> Let’s use that as a base to comment and discuss further. I can’t read your minds so I need more of your help. So please put more effort into it.
>
> Thanks in advance for your support,
> Dino
>
>
>> On Jan 10, 2018, at 2:03 AM, Luigi Iannone <ggx@gigix.net> wrote:
>>
>> Dino,
>>
>>> On 9 Jan 2018, at 18:54, Dino Farinacci <farinacci@gmail.com> wrote:
>>>
>>> Guys, please look at the latest changes instead of hashing the same arguments.
>>>
>>> This is what I am going to do. I am going to submit the myriad of changes already agreed to and then we can open up comments again for -08. I have been holding these diffs for a few weeks now and have received little commentary on the latest changes. So if your points have not been addressed, state them again AFTER reading the changes to -08.
>>>
>>
>> I find this request unfair.
>> I spent quite a bit of time reviewing and discussing this document, now you just try to wash all out by requesting comments on -08.
>>
>> Please let's continue discussing on the open issues so to find a solution.
>>
>> Thanks
>>
>> Luigi
>>
>>
>>
>>> The diff of the changes are included yet again.
>>>
>>> Dino
>>>
>>> <rfcdiff-rfc6830bis.html>
>>>
>>>> On Jan 9, 2018, at 7:04 AM, Luigi Iannone <ggx@gigix.net> wrote:
>>>>
>>>>
>>>> HI Albert,
>>>>
>>>> thanks for your reply.
>>>>
>>>> My comments inline. (trimming what is OK for me)
>>>>
>>>> Luigi
>>>>
>>>>> On 27 Dec 2017, at 02:48, Albert Cabellos <albert.cabellos@gmail.com> wrote:
>>>>>
>>>>
>>>> [snip]
>>>>>>
>>>>>>
>>>>>> Endpoint ID (EID):   An EID is a 32-bit (for IPv4) or 128-bit (for
>>>>>>    IPv6) value used in the source and destination address fields of
>>>>>>    the first (most inner) LISP header of a packet.  The host obtains
>>>>>>    a destination EID the same way it obtains a destination address
>>>>>>    today, for example, through a Domain Name System (DNS) [RFC1034]
>>>>>>    lookup or Session Initiation Protocol (SIP) [RFC3261] exchange.
>>>>>>    The source EID is obtained via existing mechanisms used to set a
>>>>>>    host's "local" IP address.  An EID used on the public Internet
>>>>>>    must have the same properties as any other IP address used in that
>>>>>>    manner; this means, among other things, that it must be globally
>>>>>>    unique.  An EID is allocated to a host from an EID-Prefix block
>>>>>>    associated with the site where the host is located.  An EID can be
>>>>>>    used by a host to refer to other hosts.  Note that EID blocks MAY
>>>>>>    be assigned in a hierarchical manner, independent of the network
>>>>>>    topology, to facilitate scaling of the mapping database.  In
>>>>>>    addition, an EID block assigned to a site may have site-local
>>>>>>    structure (subnetting) for routing within the site; this structure
>>>>>>    is not visible to the global routing system.  In theory, the bit
>>>>>>    string that represents an EID for one device can represent an RLOC
>>>>>>    for a different device.  As the architecture is realized, if a
>>>>>>    given bit string is both an RLOC and an EID, it must refer to the
>>>>>>    same entity in both cases.
>>>>>>
>>>>>>
>>>>>> Is the above sentence really necessary?
>>>>>>
>>>>>
>>>>> Agreed, why not simplify the definitions. They are written from the ‘Internet scalability mindset’, why not say that an EID is an address of the overlay and an RLOC an address of the overlay. This change may require further changes on the document so I am not 100% sure if this is a good idea.
>>>>
>>>> For clarification I was just referring to the sentence:
>>>>
>>>> " As the architecture is realized, if a given bit string is both an RLOC and an EID, it must refer to the same entity in both cases.”
>>>>
>>>> I am wondering if such constrain is really necessary. If namespaces are well scoped there is no need for this.
>>>>
>>>> [snip]
>>>>
>>>> About the following:
>>>>
>>>>>
>>>>>>
>>>>>> o  EIDs are typically IP addresses assigned to hosts.
>>>>>>
>>>>>> o  Other types of EID are supported by LISP, see [RFC8060] for
>>>>>>    further information.
>>>>>>
>>>>>> I would put the last two bullets in the definition of EID. It simplifies the story here.
>>>>>>
>>>>>>
>>>>>
>>>>> I suggest to leave them here, I don´t think that readers start from the ‘Definition of terms’, these are relevant concepts to understand LISP.
>>>>
>>>> Good point about de definition of terms. What really bothers me is the bullet organisation. What can be done is to merge these two bullets with the previous one.
>>>>
>>>>>
>>>>>>
>>>>>> The description of the encap/decap operation lacks of clarity concerning how to deal with
>>>>>> ECN bits and DSCP .
>>>>>>
>>>>>> 1. I think that the text should make explicitly the difference between DSCP and ECN fields.
>>>>>>
>>>>>> 2. How to deal with ECN should be part of the description of the  encap/decap not a paragraph apart.
>>>>>>  This basically means that half of the last paragraph should be a bullet of the ITR/PITR encapsulation
>>>>>>  and the other half  in the ETR/PETR operation.
>>>>>
>>>>>
>>>>> Agreed, what about this (please comment):
>>>>>
>>>>>  When doing ITR/PITR encapsulation:
>>>>>
>>>>>   o  The outer-header 'Time to Live' field (or 'Hop Limit' field, in the case of IPv6) SHOULD be copied from the inner-header 'Time to Live' field.
>>>>>   o  The outer-header 'Differentiated Services Code Point' (DSCP) field (or the 'Traffic Class' field, in the case of IPv6) SHOULD be copied from the inner-header DSCP field ('Traffic Class' field, in the case of IPv6) considering the exception listed below.
>>>>>  o  The 'Explicit Congestion Notification' (ECN) field (bits 6 and 7 of the IPv6 'Traffic Class' field) requires special treatment in order to avoid discarding indications of congestion [RFC3168]. ITR encapsulation MUST copy the 2-bit 'ECN' field from the inner header to the outer header. Re-encapsulation MUST copy the 2-bit 'ECN' field from the stripped outer header to the new outer header.
>>>>>
>>>>> When doing ETR/PETR decapsulation:
>>>>>
>>>>>  o  The inner-header 'Time to Live' field (or 'Hop Limit' field, in the case of IPv6) SHOULD be copied from the outer-header 'Time to Live' field, when the Time to Live value of the outer header is less than the Time to Live value of the inner header.  Failing to perform this check can cause the Time to Live of the inner header to increment across encapsulation/decapsulation cycles.  This check is also performed when doing initial encapsulation, when a packet comes to an ITR or PITR destined for a LISP site.
>>>>>  o  The inner-header 'Differentiated Services Code Point' (DSCP) field (or the 'Traffic Class' field, in the case of IPv6) SHOULD be copied from the outer-header DSCP field ('Traffic Class' field, in the case of IPv6) considering the exception listed below.
>>>>>  o  The 'Explicit Congestion Notification' (ECN) field (bits 6 and 7 of the IPv6 'Traffic Class' field) requires special treatment in order to avoid discarding indications of congestion [RFC3168]. If the 'ECN' field contains a congestion indication codepoint (the value is '11', the Congestion Experienced (CE) codepoint), then ETR decapsulation MUST copy the 2-bit 'ECN' field from the stripped outer header to the surviving inner header that is used to forward the packet beyond the ETR.  These requirements preserve CE indications when a packet that uses ECN traverses a LISP tunnel and becomes marked with a CE indication due to congestion between the tunnel endpoints.
>>>>>
>>>>> Note that if an ETR/PETR is also an ITR/PITR and chooses to re-encapsulate after decapsulating, the net effect of this is that the new outer header will carry the same Time to Live as the old outer header minus 1.
>>>>>
>>>>> Copying the Time to Live (TTL) serves two purposes: first, it preserves the distance the host intended the packet to travel; second, and more importantly, it provides for suppression of looping packets in the event there is a loop of concatenated tunnels due to misconfiguration.  See Section 18.3 for TTL exception handling for traceroute packets.
>>>>>
>>>>
>>>> Text looks very good to me.
>>>>
>>>>
>>>>>
>>>>>>
>>>>>> Large part of this section is about control plane issues and as such should be put in 6833bis.
>>>>>>
>>>>>> What this section should state is that priority and weight are used to select the RLOC to use.
>>>>>> Only exception is gleaning where we have one single RLOC and we do not know neither priority nor weight.
>>>>>>
>>>>>> All the other operational discussion goes elsewhere, but not in this document.
>>>>>>
>>>>>
>>>>> Agree, I suggest moving it to 6833bis. What to leave in 6830bis is less obvious, maybe something like (not final, just a couple of ideas):
>>>>>
>>>>> The data-plane must follow the state stored in the map-cache to encapsulate and decapsulate packets. The map-cache is populated using a control-plane, such as [6833bis]. ETRs encapsulate packets following the Priorities and Weights stored in the map-cache.
>>>>>
>>>>
>>>> Yes, this is what I meant.
>>>>
>>>>
>>>>> Actually we should merge this section with 'Routing Locator Hashing'
>>>>>
>>>>>
>>>>
>>>> I think is a good idea.
>>>>
>>>> [snip]
>>>>>> 13.  Changing the Contents of EID-to-RLOC Mappings
>>>>>>
>>>>>>
>>>>>> This is a control plane issue, as such it has to go in 6833bis, with two exception:
>>>>>> The very first paragraph stetting the problem, and the versioning subsection, because it is a data-plane mechanism.
>>>>>>
>>>>>> All of the rest 6833bis
>>>>>>
>>>>>> Actually I remember a suggestion about putting operations issues like this in an OAM document which would be a good idea.
>>>>>>
>>>>>>
>>>>>
>>>>> So you are suggesting that the LISP control-plane does not define any mechanism to update EID-to-RLOC mappings?
>>>>>
>>>>
>>>> Not exactly. Control-plane should discuss how to change the mappings, but things like clock sweep is just management not a control plane mechanism, as such it does not really needs to be standardised because there are no interoperability issues, hence it make really sense  to put it elsewhere.
>>>>
>>>> Thanks
>>>>
>>>> Luigi
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> lisp mailing list
>>>> lisp@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/lisp
>>>
>>
>
> _______________________________________________
> lisp mailing list
> lisp@ietf.org
> https://www.ietf.org/mailman/listinfo/lisp