Re: [trill] [Tsv-art] Tsvart early review of draft-ietf-trill-over-ip-10

"Black, David" <David.Black@dell.com> Fri, 02 February 2018 17:21 UTC

Return-Path: <David.Black@dell.com>
X-Original-To: trill@ietfa.amsl.com
Delivered-To: trill@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 07DE612D96B; Fri, 2 Feb 2018 09:21:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.71
X-Spam-Level:
X-Spam-Status: No, score=-2.71 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=dell.com header.b=mSLdglLg; dkim=fail (1024-bit key) reason="fail (message has been altered)" header.d=emc.com header.b=XvFZSCnB
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 mCy1VLED3cgo; Fri, 2 Feb 2018 09:21:14 -0800 (PST)
Received: from esa5.dell-outbound.iphmx.com (esa5.dell-outbound.iphmx.com [68.232.153.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C0DA12D890; Fri, 2 Feb 2018 09:21:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1517592001; x=1549128001; h=from:cc:to:subject:date:message-id:references: in-reply-to:mime-version; bh=3k4TCBrf9w12RwISp9o8oVSBJ6JM96AYeMcsly/yEg4=; b=mSLdglLgLRET6lVFGNPnt50+H7UtFFyX6M5MC6VpZ6x90oLuuVIxRGoJ uHEjIPixJ6tXppCAlN6/if65Mc6Ag4NRbtyCNfJrRQ6j07IrVp1Yc90jf TieB2aTaciqXibwvxhs3i77M/1AP+C3Ikwk2O3hbGYEEOkhScI4AcZP3W o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2HBAAConHRah8qZ6ERdGwEBAQEDAQEBC?= =?us-ascii?q?QEBAYJZIiUEgQMQcCgKg1uYUoICiROQCkMKhTsCGoIeVxUBAQEBAQEBAQIBAhA?= =?us-ascii?q?BAQEKCwkIKC+COCQBDkshBjIBAQEBAQEBAQEBAQEBAQEBAQEXAj0TAhgBAQEDA?= =?us-ascii?q?SMKEx8NBgQDAQQJAgIBCBEEAQELFgEGAwICAhkGERQJCAIEARIIiUlMAw0IAbB?= =?us-ascii?q?BgicmgmuEKA2BMYIGAQEBAQEBAQEBAQEBAQEBAQEBAQEBFQgFhGSBNl+BWIE3M?= =?us-ascii?q?IIggQ6Ca0QEgUgpFR+CYTGCNIpZEoEIl3g4BgKMGIRPhyWGJYtxizOCfokTAgQ?= =?us-ascii?q?CBAUCGoE8NYF0cIMYCYJJEwyBCgEFAgRweIliB4EtgRcBAQE?=
X-IPAS-Result: =?us-ascii?q?A2HBAAConHRah8qZ6ERdGwEBAQEDAQEBCQEBAYJZIiUEgQM?= =?us-ascii?q?QcCgKg1uYUoICiROQCkMKhTsCGoIeVxUBAQEBAQEBAQIBAhABAQEKCwkIKC+CO?= =?us-ascii?q?CQBDkshBjIBAQEBAQEBAQEBAQEBAQEBAQEXAj0TAhgBAQEDASMKEx8NBgQDAQQ?= =?us-ascii?q?JAgIBCBEEAQELFgEGAwICAhkGERQJCAIEARIIiUlMAw0IAbBBgicmgmuEKA2BM?= =?us-ascii?q?YIGAQEBAQEBAQEBAQEBAQEBAQEBAQEBFQgFhGSBNl+BWIE3MIIggQ6Ca0QEgUg?= =?us-ascii?q?pFR+CYTGCNIpZEoEIl3g4BgKMGIRPhyWGJYtxizOCfokTAgQCBAUCGoE8NYF0c?= =?us-ascii?q?IMYCYJJEwyBCgEFAgRweIliB4EtgRcBAQE?=
Received: from esa2.dell-outbound2.iphmx.com ([68.232.153.202]) by esa5.dell-outbound.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Feb 2018 11:20:01 -0600
From: "Black, David" <David.Black@dell.com>
Cc: "tsv-art@ietf.org" <tsv-art@ietf.org>, "draft-ietf-trill-over-ip.all@ietf.org" <draft-ietf-trill-over-ip.all@ietf.org>, "trill@ietf.org" <trill@ietf.org>, "Black, David" <David.Black@dell.com>
Received: from mailuogwdur.emc.com ([128.221.224.79]) by esa2.dell-outbound2.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Feb 2018 23:19:23 +0600
Received: from maildlpprd56.lss.emc.com (maildlpprd56.lss.emc.com [10.106.48.160]) by mailuogwprd51.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id w12HL9AV008683 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 2 Feb 2018 12:21:11 -0500
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd51.lss.emc.com w12HL9AV008683
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=emc.com; s=jan2013; t=1517592072; bh=O94aeuW8I2q4z6328Ha6rR7Td20=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=XvFZSCnBLrEholR+2GvfZfNF9IZV5aJ2w1eJuST/7rHjrYM2m6uTxTxTG+8eDznSD JZ60tSlB3gRQaAEPpaCnhXfhku0TsM6eJICOmoVuQF/5zs8CiVZ7aYhydFnZfZoNdy Yu6GNiZDy//XjLK7ah40UXrpWNHqxZh2NmRSyT8c=
X-DKIM: OpenDKIM Filter v2.4.3 mailuogwprd51.lss.emc.com w12HL9AV008683
Received: from mailusrhubprd51.lss.emc.com (mailusrhubprd51.lss.emc.com [10.106.48.24]) by maildlpprd56.lss.emc.com (RSA Interceptor); Fri, 2 Feb 2018 12:20:57 -0500
Received: from MXHUB320.corp.emc.com (MXHUB320.corp.emc.com [10.146.3.98]) by mailusrhubprd51.lss.emc.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.0) with ESMTP id w12HIHuM015277 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=FAIL); Fri, 2 Feb 2018 12:20:57 -0500
Received: from MX307CL04.corp.emc.com ([fe80::849f:5da2:11b:4385]) by MXHUB320.corp.emc.com ([10.146.3.98]) with mapi id 14.03.0352.000; Fri, 2 Feb 2018 12:20:46 -0500
To: Magnus Westerlund <magnus.westerlund@ericsson.com>, Donald Eastlake <d3e3e3@gmail.com>
Thread-Topic: [Tsv-art] Tsvart early review of draft-ietf-trill-over-ip-10
Thread-Index: AQHS72i4JGpJwLB/iEWpfO2sv3/rE6I88jKAgVIqhoCAA2jugIAAKsow
Date: Fri, 2 Feb 2018 17:20:45 +0000
Message-ID: <CE03DB3D7B45C245BCA0D243277949362FFCA9F0@MX307CL04.corp.emc.com>
References: <149754795560.13109.17521244075940607817@ietfa.amsl.com> <CAF4+nEG-28weDot9R9Z4-05PX1tzBoKZSOHu8BJY2GiRzOv0nA@mail.gmail.com> <52E4A8FC978E0241AE652516E24CAF0029AC2251@ESESSMB103.ericsson.se> <CAF4+nEEhaY+gtyjhVN1uzwgJ8m5oy1VU3urdH_hh-2KYV+NXLQ@mail.gmail.com> <CAF4+nEEaJr7RwAaQx59fTvAhh0qy1NRqPx4HREvzGPRHqdx++w@mail.gmail.com> <e4cb17c2-188a-4201-8803-34437e38c36b@ericsson.com>
In-Reply-To: <e4cb17c2-188a-4201-8803-34437e38c36b@ericsson.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.238.44.138]
Content-Type: multipart/alternative; boundary="_000_CE03DB3D7B45C245BCA0D243277949362FFCA9F0MX307CL04corpem_"
MIME-Version: 1.0
X-Sentrion-Hostname: mailusrhubprd51.lss.emc.com
X-RSA-Classifications: public
Archived-At: <https://mailarchive.ietf.org/arch/msg/trill/PEZ927FtJVWsrKKgLw08je1GLgM>
Subject: Re: [trill] [Tsv-art] Tsvart early review of draft-ietf-trill-over-ip-10
X-BeenThere: trill@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Developing a hybrid router/bridge." <trill.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trill>, <mailto:trill-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trill/>
List-Post: <mailto:trill@ietf.org>
List-Help: <mailto:trill-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trill>, <mailto:trill-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Feb 2018 17:21:17 -0000

A couple of Diffserv-related follow-ups to Magnus’s comments:

[1]

> I don't really understand this change. Now you have priority 1 which points to the proposed new mapping for
> Lower than Best Effort, being the least prioritized. Then priority 0 intended to be more prioritized is CS1 which
> may still be lower than best effort (thus basically same as prio 1), or end up being receiving a more prioritized PHB than best effort.
> Why isn't 0 mapped to best effort (000000)? That appears that it would provide a more consistent behaviour.

+1 – zero should be best effort in all contexts.   Moreover, the table has additional problems:


      TRILL Priority  DEI  DSCP Field (Binary/decimal)

      --------------  ---  -----------------------------

                  0   0/1  001000 / 8

                  1   0/1  000010 / 0

                  2   0/1  010000 / 16

                  3   0/1  011000 / 24

                  4   0/1  100000 / 32

                  5   0/1  101000 / 40

                  6   0/1  110000 / 48

                  7   0/1  111000 / 56


The entry for priority 1 is inconsistent – 000010 Binary is *not* 0 decimal.

If 000010 was an attempt to anticipate a possible TSVWG assignment of DSCP 000010 / 2 as the default DSCP for less than best effort traffic, this serves as a practical lesson in why that sort of attempt to predict the future is not appropriate for a standard.   While that DSCP was suggested in some earlier TSVWG drafts, better understanding of some unfortunate “running code” in the Internet that zeros only the most significant 3 bits in the DSCP has led to TSVWG’s current direction (as of the Singapore meeting week) to open up the pool of DSCPs that end in 01 (xxxx01) for standards usage in order to assign either DSCP 1 (000001) or DSCP 5 (000101) as the default DSCP for less than best effort service.

> "All packets in a particular TCP stream SHOULD use the same DSCP codepoint or packet re-ordering may occur."


> I think that SHOULD is a MUST. You get no benefit from trying to send different packets in a TCP connection with different DSCPs.
> It will really only result in reordering, and additional retransmissions. Also the TCP stacks Head of line blocking will also not really
> allow any received payload to be released early. Thus, only downsides and now gain to use different DSCPs for a single connection.

+1, and see RFC 7657 for further discussion, including this text on why having a single TCP connection use DSCPs that vary only in drop precedence (i.e., aren’t supposed to cause reordering) is pointless:

   There are situations in which drop precedences should not be mixed.
   A simple example is that there is little value in mixing drop
   precedences within a TCP connection, because TCP's ordered delivery
  behavior results in any drop requiring the receiver to wait for the
   dropped packet to be retransmitted.

There are no “MUST” keywords in RFC 7657 because that RFC is informational design guidance, but its guidance justifies the “MUST” that Magnus suggests.  I would also suggest citing RFC 7657 as an informative reference.

Thanks, --David

From: Tsv-art [mailto:tsv-art-bounces@ietf.org] On Behalf Of Magnus Westerlund
Sent: Friday, February 2, 2018 4:29 AM
To: Donald Eastlake <d3e3e3@gmail.com>
Cc: tsv-art@ietf.org; draft-ietf-trill-over-ip.all@ietf.org; trill@ietf.org
Subject: Re: [Tsv-art] Tsvart early review of draft-ietf-trill-over-ip-10


Hi Donald,

I have reviewed the changes and my comments. Please see inline for my feedback. I will remove text not necessary to provide context. It is almost ready now. There are two areas where I think there needs to be some further improvements, DSCPs and TCP encapsulation. But the needed changes are relatively straightforward.

Den 2018-01-31 kl. 06:25, skrev Donald Eastlake:

Hi Magnus,



It has been a while but the just posted version -12 is intended to

resolve your comments except those related to middle boxes. (The TRILL

WG has decided middle boxes will be out of scope for this draft.)







On Thu, Jun 29, 2017 at 10:17 PM, Donald Eastlake <d3e3e3@gmail.com><mailto:d3e3e3@gmail.com> wrote:

On Tue, Jun 27, 2017 at 1:13 PM, Magnus Westerlund

<magnus.westerlund@ericsson.com><mailto:magnus.westerlund@ericsson.com> wrote:
Den 2017-06-26 kl. 02:07, skrev Donald Eastlake:

On Thu, Jun 15, 2017 at 1:32 PM, Magnus Westerlund

<magnus.westerlund@ericsson.com><mailto:magnus.westerlund@ericsson.com> wrote:





Diffserv usage

--------------



Section 4.3:

The new text from -12:

   The default TRILL priority and DEI to DSCP mapping, which may be

   configured per TRILL over IP port, is an follows. Note that the DEI

   value does not affect the default mapping and, to provide a

   potentially lower priority service than the default priority 0,

   priority 1 is considered lower priority than 0. So the priority

   sequence from lower to higher priority is 1, 0, 2, 3, 4, 5, 6, 7, as

   it is in [802.1Q].



      TRILL Priority  DEI  DSCP Field (Binary/decimal)

      --------------  ---  -----------------------------

                  0   0/1  001000 / 8

                  1   0/1  000010 / 0

                  2   0/1  010000 / 16

                  3   0/1  011000 / 24

                  4   0/1  100000 / 32

                  5   0/1  101000 / 40

                  6   0/1  110000 / 48

                  7   0/1  111000 / 56



   The above all follow the recommended DSCP values from [RFC2474]

   except for the placing of priority 1 below priority 0, as specified

   in [802.1Q], and for the DSCP value of 000010 binary for low effort

   as recommended in [LEphb].


I don't really understand this change. Now you have priority 1 which points to the proposed new mapping for Lower than Best Effort, being the least prioritized. Then priority 0 intended to be more prioritized is CS1 which may still be lower than best effort (thus basically same as prio 1), or end up being receiving a more prioritized PHB than best effort. Why isn't 0 mapped to best effort (000000)? That appears that it would provide a more consistent behaviour.







MTU and Fragmentation

---------------------

With the changes introduced and the no middlebox applicability it looks like the issues are resolved.






Zero Checksum:

--------------

The IPv6 zero checksum section (5.4.2) looks good.







TCP Encapsulation issue

-----------------------



So the TCP encapsulation section (5.6) is significantly improved, but some comments:


"All packets in a particular TCP stream SHOULD use the same DSCP
codepoint or packet re-ordering may occur."


I think that SHOULD is a MUST. You get no benefit from trying to send different packets in a TCP connection with different DSCPs. It will really only result in reordering, and additional retransmissions. Also the TCP stacks Head of line blocking will also not really allow any received payload to be released early. Thus, only downsides and now gain to use different DSCPs for a single connection.

"It is RECOMMEDED that
   at least two TCP connections be provided, for example one for
   priority 6 and 7 traffic and one for priority 0 through 5 taffice, in
   order to insure that urgent control traffic, including control
   traffic related to establishing and maintaining adjacency, is not
   significantly delayed by lower priority traffic."

I think this is fine, there is one potential issue here, but likely not a significant. If the high priority traffic is very sparse, then the TCP connection marked with a higher priority DSCP may have a very small congestion window. So when the high priority traffic is to be sent it will in fact be delayed more by the TCP stacks congestion control than the lower priority that has a larger window established. However, that is only really an issue if the high priority traffic is multiple packets that comes in burst. Also, if there is on path contention the lower priority traffic may still not make it even if sent earlier, so not using a high priority DSCP is not really an option either.

I think the IP/TCP/Trill and TCP header figures are simply non-relevant here. I think they can give the impression that a receiving node can process each TCP packet individually rather than running a full TCP implementation here. What is relevant is the framing format that delimit each Trill packet sent by TCP.

+--------+-------- // ----+ | Length | TRILL packet   |
      +--------+----- // -------+

The above figure is a bit confusing, I assume the intention is to indicate previous Trill packet with framing and the following one. I think you be more explicit about that as an explanation.


         If the
         initial 2 bytes of the TRILL packet are not one of these
         Ethertypes, then the receiver assumes that framing
         synchronization has been lost and MUST close that TCP
         connection.

Yes, this is very important text. I would recommend that it is moved into its own paragraph rather than hidden in a figure explanation. I am also missing the specification what to do when one have closed the connection. I assume that it is to have either part re-initiate. But, is it the closing party (receiver) that should do this, or the sending part? As TCP connections are bi-directional, but I assume that these are used only unidirectionally, and thus it matters who should establish them in relation to signalling? Congestion Control







Flow and ECMP

-------------



Issues resolved in the more limited applicability scope.







NAT and TRILL over IP:

I think it is fine with the WG saying that NATs are out of scope for Trill. However, I really think you need to say this upfront in the document that this specification relies on that there are no NAT in the path between the trill nodes using this specification. And be explicit if there would be NATs then things will not work as intended.

Cheers




Magnus Westerlund



----------------------------------------------------------------------

Media Technologies, Ericsson Research

----------------------------------------------------------------------

Ericsson AB                 | Phone  +46 10 7148287

Torshamnsgatan 23           | Mobile +46 73 0949079

SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com<mailto:magnus.westerlund@ericsson.com>

----------------------------------------------------------------------