Re: [lisp] 6830bis Review (PLEASE COMMENTS)

Dino Farinacci <farinacci@gmail.com> Mon, 18 December 2017 18:07 UTC

Return-Path: <farinacci@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 C39E6129C6B for <lisp@ietfa.amsl.com>; Mon, 18 Dec 2017 10:07:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.568
X-Spam-Level:
X-Spam-Status: No, score=0.568 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_COMMENT_SAVED_URL=0.357, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_HTML_ATTACH=0.01] autolearn=no 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 tocStjp8bzCu for <lisp@ietfa.amsl.com>; Mon, 18 Dec 2017 10:07:17 -0800 (PST)
Received: from mail-it0-x232.google.com (mail-it0-x232.google.com [IPv6:2607:f8b0:4001:c0b::232]) (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 18373126D05 for <lisp@ietf.org>; Mon, 18 Dec 2017 10:07:17 -0800 (PST)
Received: by mail-it0-x232.google.com with SMTP id u62so29352003ita.2 for <lisp@ietf.org>; Mon, 18 Dec 2017 10:07:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=vhHZhxa0Y+ya4ANt3xlSrbrND6n/JI4pwcZvVJ2l55E=; b=sU6zxo5zVuir/BfBURCkmZ6sfon5hxmLjBchOdoQPxrLCbBxbIivNuiipSxLCNRKgC E3W1/WG3FmlIXltch7SHOkdQiDxbXPiUqfTetEQG3FNeLDavsl5ny0HQAD0kDmMjiN4V Jtmgj4GIDze+eCMobPP3ipWc5Y5skA5dBkeDnhLiTYz7EIxFztg7TDU7kz7HieDXRF7G IoYaaCquMUVRHYoawIzpGv18MVYuWY5yg6O30wwAmanxYmONl+DKp2lGxYyplU5iB90m L7d0PwB9Q7CJv9OtgbauM0Kpvw6le126U5osCuhMmwmLKkQtC52ze/qfOa/cbbmE3wa2 43VA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=vhHZhxa0Y+ya4ANt3xlSrbrND6n/JI4pwcZvVJ2l55E=; b=fcf0GamVgCfEI/XfpahHx8i/WZup+oSho+V6Od79FWFCF+r8e6i0BUvuV67o0qvA/z QT0Ejtc2KRZCBgLqw0taOGvL2pJBWyxHfpqQra1uVsnNYYWBhukj4viF1X2GG8QhK7VX ayoYDvjI9K7OMqRMOWZ5h5+6k/WwXNoOk83PPgjMfSRLU0NkZUH/d6AyRrLnLR6zCSvc ByhedQu3obqifuH2xQ4VYvuVr3wCemCZdZe7c6MzBZ9rWrmT6qSVzt51NoAwh5zktxgn puXz2WFn/xi6ksEoIlPupaNjZa2Mvp+x0UPh9Nmsy11kWhkXj6aUjgpb7CDQ06McmkMF OESA==
X-Gm-Message-State: AKGB3mKUZpc/b0prjp0UZAGBkhrviwsFb4gzIZ2Kxdqhu6Xb9/amcO7G Qt9WZal3VlQBSLHCBGHZie3b99rr
X-Google-Smtp-Source: ACJfBovmRviVI+q9E0v/5uiibXvwO75urkf86lf2SWS2ALuPW1ji9hIXNFkmMDQZ9q9K3GXQNAf96g==
X-Received: by 10.36.211.22 with SMTP id n22mr708391itg.5.1513620436080; Mon, 18 Dec 2017 10:07:16 -0800 (PST)
Received: from [172.19.131.117] ([12.130.117.85]) by smtp.gmail.com with ESMTPSA id 134sm6955592ion.0.2017.12.18.10.07.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 18 Dec 2017 10:07:13 -0800 (PST)
From: Dino Farinacci <farinacci@gmail.com>
Message-Id: <CD05F27B-5177-4D67-B6CD-25DEE0CC14CE@gmail.com>
Content-Type: multipart/mixed; boundary="Apple-Mail=_EBF70E63-3D33-4166-9407-E9E9514946DC"
Mime-Version: 1.0 (Mac OS X Mail 11.1 \(3445.4.7\))
Date: Mon, 18 Dec 2017 10:06:59 -0800
In-Reply-To: <86F3ABEE-5623-45EB-AD8F-342027FA6101@gigix.net>
Cc: "lisp@ietf.org list" <lisp@ietf.org>, lisp-chairs@tools.ietf.org
To: Luigi Iannone <ggx@gigix.net>
References: <907CD955-B043-4728-ABD6-5AD96192EC5F@inria.fr> <4EAD1E98-E8E7-4A0A-8300-2D185B9109CC@gigix.net> <4D2A0EA8-9096-4E12-99F9-B60910D7122E@gmail.com> <86F3ABEE-5623-45EB-AD8F-342027FA6101@gigix.net>
X-Mailer: Apple Mail (2.3445.4.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/30LH8808gKN-phyg9V3uPjJ9-xQ>
Subject: Re: [lisp] 6830bis Review (PLEASE COMMENTS)
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: Mon, 18 Dec 2017 18:07:29 -0000

> Dino,
> 
> thanks for the hard work. 

I am trying to make it less harder than it needs to be. New diff and text file enclosed.

> my replies inline (trimmed the points we agree or have been clarified by your answers).

Thanks for that.

> @ALL:   this is not a private discussion between me and Dino and I invite all of you to chime in and provide an opinion.
> 
> There one clear point here:  This document is not about data-plane, is data-plane + fragmented information that does not belong here. 

It is about not losing important information we decided 10 years ago to keep in because otherwise, we’d have to sprinkle it across documents. And WE DID decide to NOT create a third document.

> The document can be shorter and to the point. There are a lot of OAM information that does not belong to the data-plane.

The OAM information is necessary for the data-plane. And if LISP-GPE, VXLAN, or any other data plane wants to use their own OAM or use the LISP control-plane differently, it needs to be documented in their data-planes. Hence, why this information is there.

Short is not necessarily good if the document is incomplete. And I think the effort we have put in over the last couple of years finds the right balance.

>>> 
>>> It is not alphabetical and not logical (at least I cannot se it).
>> 
>> Originally it was suppose to be logical. I will double check to make sure the terms are introduced in an obvious sequence. If I can avoid forward-references, I will do so.
>> 
> 
> I guess this is still on your to do list. 

I thought the order was fine so I didn’t change it.

>> 
>>>>  Re-encapsulating Tunneling in RTRs:   Re-encapsulating Tunneling
>>>> 
>>> RTR have never been defined.e
>> 
>> It is being defined right here. I’ll read word it.
>> 
> 
> If you define it the text should read like:
> 
> RTR: Re-encapsulating Tunnel Router…….

Changed.

>>> 
>>>> Any references to tunnels in this specification refer to
>>>>     dynamic encapsulating tunnels; they are never statically
>>>>     configured.
>> 
>> Well many have said that LISP tunnels are not like traditional tunnels. Traditional tunnels are configured and provisioned. Where LISP tunnels are dynamic and used on demand. I would like the sectiond to stay.
> 
> You can move this sentence in the intro or where it make sense to you. In the Definition of terms is just lost.

I added it as the first definition in the Definition of Terms section.

> 
> [snip]
>> 
>>>>  Server-side:  Server-side is a term used in this document to indicate
>>>>     that a connection initiation attempt is being accepted for a
>>>>     destination EID.  
>>>> 
>>> 
>>> 
>>> 
>>> Rest of the paragraph not needed here. (it is specified in the operation part of the document)
>>> 
>>>> The ETR(s) at the destination LISP site may be
>>>>     the first to send Map-Replies to the source site initiating the
>>>>     connection.  The ETR(s) at this destination site can obtain
>>>>     mappings by gleaning information from Map-Requests, Data-Probes,
>>>>     or encapsulated packets.
>> 
>> Okay, reworded though.
> 
> Still not needed. And you added “MAY” which is pointless. Please delete. The procedures are described elsewhere in the document. 

Sentence removed.

> 
>>>>  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 think it should be kept in. I feel it adds value.
> 
> You break the operational flow by opening a different point describing what is what. It makes the overall procedure unclear.

It was put there because someone commented on it. You have to tell me why you think it breaks flow. We discuss how end-systems send to EIDs. We say what EIDs are and how they are assigned to hosts. And then we move to RLOCs. It is pretty plan, simple, and straight-forward.

> 
> 
>> 
>>>>  o  EID-Prefixes are likely to be hierarchically assigned in a manner
>>>>     that is optimized for administrative convenience and to facilitate
>>>>     scaling of the EID-to-RLOC mapping database.  The hierarchy is
>>>>     based on an address allocation hierarchy that is independent of
>>>>     the network topology.
>>>> 
>>> Drop the last bullet it is about scalability.
>> 
>> Right, but still important to mention. Many of the benefits of LISP aren’t always obvious. So we have to point them out.
> 
> Dino, this has to go away. This is NOT the control-plane advertisement document. This is the LISP control-plane, that’s all.
> This was agreed upon at the time of rechartering.

Sorry disagree. You have to mention some control-plane. And not the definition of it but how its used by this data-plane.

> 
> [snip]
>> 
>>>> 5.1.  LISP IPv4-in-IPv4 Header Format
>>>> 
>>>>       0                   1                   2                   3
>>>>       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>>>>      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>>>    / |Version|  IHL  |Type of Service|          Total Length         |
>>>>   /  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>>> 
>>>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>>    /  |Version|  IHL   |DSCP      |ECN|          Total Length         |
>>>   /   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>> 
>>> The correct IPv4 Header is with DSCP and ECN. Please update below as well.
>> 
>> I am not sure we should change this. We are referencing the RFC791 so good to be consistent.
> 
> Go on the data tracker: https://tools.ietf.org/html/rfc791
> 
> You will read that 791 has been updated by RFC 1349, RFC 2474, and RFC 6864. You have to refer to these documents.
> Please update.

Changed for both IPv4 and IPv6. And referenced only 2474. 1349 is replaced by 2474 and 6864 discusses the ID field that is not what is being commented on here.

> 
>>> 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.
>> 
>> We went through this with a lot of people for RFC6830. It took many months to resolve. I dare not touch this text.
> 
> You have just to move it up and separate it in two bullets. No changes needed.

Can you be more specific please.

>> 
>>>> 9.  Routing Locator Selection
>>>> 
>>> 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.
>> 
>> We have already decided (a year ago) not to move this because its the data-plane that needs to know about locator reachability so it knows which locators to use.
> 
> Please check the minutes of past meetings (as I did), the only unclear point was SMR, everything else was agreed to be moved out. 

Please point it out. We have taken every input from the WG. And Albert and I were in sync and thought you had agreed (or maybe you stopped disagreeing until now).

>> 
>>>> 10.  Routing Locator Reachability
>>>> 
>>>>  Several mechanisms for determining RLOC reachability are currently
>>>>  defined:
>>>> 
>>> There exists data-plane based reachability mechanisms and control plane reachability mechanisms.
>>> We have to keep here only the data plane based mechanism and move the other in 6833bis.
>>> 
>>> We need to keep: 1, 6, Echo-Nonce, 
>>> 
>>> We need to move: 2, 3, 4, 5,  RLOC-Probing
>> 
>> Again, we already had this debate. The decision was made and agreed upon. We shouldn’t open this up again.
> 
> Exactly, it has been decided, hence control plane things go in the control plane document. (or OAM)

You are trying to draw a hard wall between the data-plane and control-plane. In the real world that is not how protocols are deployed.

>> 
>>>>  When an ETR decapsulates a packet, it will check for any change in
>>>>  the 'Locator-Status-Bits' field.  When a bit goes from 1 to 0, the
>>>>  ETR, if acting also as an ITR, will refrain from encapsulating
>>>>  packets to an RLOC that is indicated as down.  It will only resume
>>>>  using that RLOC if the corresponding Locator-Status-Bit returns to a
>>>>  value of 1.  Locator-Status-Bits are associated with a Locator-Set
>>>>  per EID-Prefix.  Therefore, when a Locator becomes unreachable, the
>>>>  Locator-Status-Bit that corresponds to that Locator's position in the
>>>>  list returned by the last Map-Reply will be set to zero for that
>>>>  particular EID-Prefix.
>>>> 
>>> We need to cite the threats document because of the security issues of LSB.
>> 
>> We reference it in the Security Considerations section. Don’t you think its good enough. Otherwise, we’ll have to reference it in every situation that the threats document covers.
> 
> One thing is the threats an other is a feature that you cannot use in public deployments. 
> Somewhere in this document we must state that LSB cannot be used in public deployments. Choose where. 

I put a reference to the Security Consideration section that talks about LSB vulnerabiliies as well as has the refernece to the LISP threats RFC.

>>> 
>>> Actually I remember a suggestion about putting operations issues like this in an OAM document which would be a good idea. 
>> 
>> I don’t agree. We had already mentioned there is a control-plane protocol that is described in RFC6833bis and a data-plane protocol that USEs the control-plane protocol. And the usage should be here.
> 
> Not following here. Why should the data-plane control the control plane?

It is not controlling the control-plane, it is using it. Did my example of an API not make that clear?

This example:

>> Think of it as an API. There is a document that defines an API and there is a document on which API calls are used for the use-case of say a data-plane.



> Changing a mapping can be triggered by data plane events but the control plane will manage.

Sorry, no, the data-plane manages the map-cache, its own data structure. The data-plane uses messages to manage that map-cache, and those messages are defined in the control-plane spec.

> It’s like routing, the data plane can detect a link outage but is the control plane that will do 

Well that is not true. The OS infrastructure detects a link failure. The IP forwaring engine does not (and I know I implemented at least 6 different data-planes over the years).

> the rest. Said differently, you can detect a link failure with IP but is IGP that will find an alternative route.

Why would IP detect a link failre for AppleTalk (another network layer protocol). And AppleTalk doesn’t do it for itself either. Not a good example.

>> Making changes like this to RFC6833 will be huge.
> 
> You do not have to. see my comment above.
> 
>> We have the documents separated in the current state right now that seems to work and seems to be clear.
> 
> I did not have time to go over 6833bis, but concerning 6830bis the document is not clear and it is a patchwork of data-plane, control-plane, and deployment issues.
> 
> This is not what was agreed upon when we started this effort.

The effort was continuing. And we created options with further study. Both Albert and I did that further study and the drafts reflect the decisions. There were no WG objections other than from you which we had thought we convinced.

>>>> 
>>>> 19.  Security Considerations
>>>> 
>>>>  Security considerations for LISP are discussed in [RFC7833], in
>>>>  addition [I-D.ietf-lisp-sec] provides authentication and integrity to
>>>>  LISP mappings.
>>>> 
>>> lisp-sec is control-plane has to be referenced in 6833bis.
>> 
>> Yes, but if an ITR caches a coarse EID-prefix, then there is a data-plane redirection attack.
>> 
> 
> My point is that lisp-sec provides control plane features, so the sentence does not bring anything to the discussion.
> Please delete.
> 
> 
>>>> 21.1.  LISP UDP Port Numbers
>>>> 
>>>>  The IANA registry has allocated UDP port numbers 4341 and 4342 for
>>>>  lisp-data and lisp-control operation, respectively.  IANA has updated
>>>>  the description for UDP ports 4341 and 4342 as follows:
>>>> 
>>>>      lisp-data      4341 udp    LISP Data Packets
>>>>      lisp-control   4342 udp    LISP Control Packets
>>>> 
>>> 4342 is control-plane and MUST be requested to IANA in the 6833bis document.
>> 
>> We didn’t want to change the registry so we are keeping this here. Its really no big deal.
> 
>> Note the data-plane implementation will have to send to the 4342 socket so its not out of place at all for this to be in this document.
>> 
> 
> 4342  is control plane not data plane, any further review beyond the WG will point out this inconsistency.

Sorry a data-plane component uses it. Why split it up when we can have this in one place.

Dino