Re: [lisp] Mirja Kühlewind's Discuss on draft-ietf-lisp-rfc6830bis-16: (with DISCUSS and COMMENT)

"Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net> Tue, 11 September 2018 16:29 UTC

Return-Path: <ietf@kuehlewind.net>
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 30AB4130EEA for <lisp@ietfa.amsl.com>; Tue, 11 Sep 2018 09:29:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); domainkeys=pass (1024-bit key) header.from=ietf@kuehlewind.net header.d=kuehlewind.net
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 GHLUyRZRw-_3 for <lisp@ietfa.amsl.com>; Tue, 11 Sep 2018 09:29:22 -0700 (PDT)
Received: from kuehlewind.net (kuehlewind.net [83.169.45.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B925C130EE9 for <lisp@ietf.org>; Tue, 11 Sep 2018 09:29:21 -0700 (PDT)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=kuehlewind.net; b=CsIxpoBKen4LV1KxhfpkyhAx6E+dGj+0EzSIiDBg3scMKRQ/jN+6cl51zRqGclduMYlxtystdMOu7Ts0iZqDb3SH5rFVv1s4GW3BL5+kB3lbpmD0nuCfgIp+TXsNbDmQFUr8sWs2ewmVFfNXUC3bzrMUIsZB/Vac7XJyCZkP0/I=; h=Received:Received:Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:X-Mailer:X-PPP-Message-ID:X-PPP-Vhost;
Received: (qmail 1355 invoked from network); 11 Sep 2018 18:28:19 +0200
Received: from mue-88-130-61-021.dsl.tropolys.de (HELO ?192.168.178.24?) (88.130.61.21) by kuehlewind.net with ESMTPSA (DHE-RSA-AES256-SHA encrypted, authenticated); 11 Sep 2018 18:28:19 +0200
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: "Mirja Kuehlewind (IETF)" <ietf@kuehlewind.net>
In-Reply-To: <7DEBCA24-9D55-4325-85AA-48AB3FAAB91D@gmail.com>
Date: Tue, 11 Sep 2018 18:28:17 +0200
Cc: The IESG <iesg@ietf.org>, draft-ietf-lisp-rfc6830bis@ietf.org, Luigi Iannone <ggx@gigix.net>, lisp-chairs@ietf.org, "lisp@ietf.org list" <lisp@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <0201F06C-DA9E-445A-A995-54BA805B595C@kuehlewind.net>
References: <153667905625.16761.12157659372502604927.idtracker@ietfa.amsl.com> <7DEBCA24-9D55-4325-85AA-48AB3FAAB91D@gmail.com>
To: Dino Farinacci <farinacci@gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
X-PPP-Message-ID: <20180911162819.1346.76251@lvps83-169-45-111.dedicated.hosteurope.de>
X-PPP-Vhost: kuehlewind.net
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/00MoVZ_GbYCfIQu1GgNeXewMUB8>
Subject: Re: [lisp] Mirja Kühlewind's Discuss on draft-ietf-lisp-rfc6830bis-16: (with DISCUSS and COMMENT)
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 11 Sep 2018 16:29:24 -0000

Hi Dino,

please see below.

> Am 11.09.2018 um 17:59 schrieb Dino Farinacci <farinacci@gmail.com>:
> 
>> Mirja Kühlewind has entered the following ballot position for
>> draft-ietf-lisp-rfc6830bis-16: Discuss
>> 
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>> 
>> 
>> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
>> for more information about IESG DISCUSS and COMMENT positions.
>> 
>> 
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-lisp-rfc6830bis/
> 
> Thanks for your comments Mirja.
> 
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>> 
>> I have a couple of smaller discuss points with should be straight-forward to
>> address and one more high-level discussion point that might not have a solution
>> (depending on the deployment status of LISP I guess) but I would like to at
>> least have a discussion. I start with the straight-forward onces:
>> 
>> 1) Unfortunately ECN decapsulation is slightly more complicated than described
>> in section 5.3. Please check section 3.2 in rfc6040 and revise accordingly
>> (maybe also provide a pointer to rfc6040 instead or in addition to rfc3168)!
>> (Also it seems like the text on ECN is simply just twice in sec 5.3; not sure
>> that is helpful).
> 
> Well it doesn’t have to be. I am a bit hesitant to just point to another long complicated RFC. This text has gone through review for quite a long time and many ECN experts decided we should write it this way. And this text did go through IESG review when RFC6830 was made experimental RFC.

Procedere explained in RFC6040 are actually not that complicated. It’s mainly the table provided in section 3.2. Please have a look at the draft. However, I disagree that it „negative“ to point for this part to another RFC. This is not a unique problem, that’s why we have RFC6040 and all approaches that face this problem should point to RFC6040 and implement the same strategy.

However, if you look at RFC6040 you see that the main problem is that if the inner codepoint is Not-ECT, you should just not copy the codepoint, which make sense because that probably means that ECN is not supported by the endpoints. Respectively, packets marked with CE should be drop to preserve the congestion signal. This is pretty straight-forward and should be clear. 

I don’t know how this could have been missed with RFC6830 but that seems to indicate it did not have each review for this aspect and we really need to fix that at least now.

> 
>> 2) Further, also in sec 5.3:
>> "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."
>> However, I didn't find any exceptions listed later in the doc. However, setting
>> the DSCP field might also be matter of local policy. E.g. if DSCP is not used
>> for a different purpose in the receiver side LISP network, it could make sense
>> to restore/keep the original value in the inner header.
> 
> This is a dangling reference where the “text below” was removed or reworded. So I will remove this reference.

Okay, that makes sense. I still don’t think that always just copying is the right approach as I applied above. I would like to see further text here.

> 
>> 3) Sec 7.1. only takes about ICMPv6 "Packet Too Big" packets while
>> "IPv4-encapsulated packet with the DF bit set to 1" should be addressed as well.
> 
> This is discussed in length. I don’t know how you could have missed this.

I didn't miss that discussion but the text got fixed incorrectly because it doesn’t not address IPv4 through the whole text. Please have a look and fix that as well. I think this is mainly an editorial issue but and important one to fix.
> 
>> 4) I would like to see another sentence in section 12 explicitly stating that
>> the source port SHOULD be the same for all packet belong to the same flow.
> 
> Done.
> 
>> 5) Sec 5.3 says "Both N- and V-bits MUST NOT be set in the same packet."
>> What happens if both bits are set? The 'Nonce/Map-Version' is just ignored, or
>> maybe the packet should be dropped or something? Please clarify in the doc!
> 
> If they are both set, there is text in the docuemnt that already says:
> 
>          <t hangText="N:">The N-bit is the nonce-present bit. When             
>          this bit is set to 1, the low-order 24 bits of the first 32           
>          bits of the LISP header contain a Nonce. See <xref
>          target="echo-nonce"/> for details. Both N- and V-bits MUST            
>          NOT be set in the same packet. If they are, a decapsulating           
>          ETR MUST treat the 'Nonce/Map-Version' field as having a              
>          Nonce value present.</t>

Okay, sorry, I actually missed that. That’s fine. Thanks!

> 
>> 6) And now the more-discussion-needed point:
>> So my underlying concern is the same as brought up by the TSV-ART review that
>> lisp information are not end-to-end integrity protected or authenticated.
> 
> I would like you to be more specific. Beacuse there is a lot of security in the protocol and we believe the current drafts, in their entirety, inicdate so.

I was thinking about the option to add an authenticated hash, anyway...
> 
>> However, while briefly thinking about how this could be eventually realized, I
>> noticed that there is actually no mechanism to extend the LISP header in any
> 
> Right, by design so it is efficient for hardware AND software forwarding. But we do have the LISP-GPE header that can be used for extensions. But that has limited deployment.
> 
>> way. There is no version, no option and the LISP header seems to have a fixed,
> 
> We decdied as a working group that the UDP port number would indicate what header follows and therefore what LISP version is used.

Okay, that needs to be explained in the doc!

Mirja


> 
>> implicitly specified length without an explicit length field. This seems too
> 
> That is right, the header is 8 bytes, fixed, by design.
> 
>> late to add any kind of extensibility mechanism at this stage of the protocols
>> lifetime, however, I would still like to discuss if there was any discussion
>> about extensibility, what was the reason to chose this approach, and potential
>> if some background about the choice should be given in the doc.
> 
> Well the original authors didn’t believe in having a lot of options in protocols, otherwise it will cause more un-interoperability. But has time has gone on, I believe we made the right choices, and have discovered that LISP is quite extensible, and even 10 years after the the original design, we can continue to add more LISP use-cases with the same basic protocol.
> 
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>> 
>> 1) In sec 7.1 I would recommend to provide a pointer to RFC4459 and align the
>> language to more what RFC4459 recommends: OLD "This behavior is performed by
>> the ITR when the source host originates
>>  a packet with the 'DF' field of the IP header set to 0."
>> MAYBE:
>> "This behavior MAY be performed by the ITR only when the source host originates
>>  a packet with the 'DF' field of the IP header set to 0.
> 
> Changed. Thanks for the suggestion.
> 
>> 2) Sec 4: "...this document recommends that a maximum of two
>>  LISP headers can be prepended to a packet."
>> MAYBE:
>> "it is RECOMMENDED that a maximum of two
>>  LISP headers can be prepended to a packet.”
> 
> Changed.
> 
> Thanks again,
> Dino
> 
> 
>