Re: [Detnet] IPv6 encapsulation in dataplane doc

Jouni <jouni.nospam@gmail.com> Sun, 11 February 2018 21:43 UTC

Return-Path: <jouni.nospam@gmail.com>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77AF21271DF for <detnet@ietfa.amsl.com>; Sun, 11 Feb 2018 13:43:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 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] 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 b2MkGHQ6SRHP for <detnet@ietfa.amsl.com>; Sun, 11 Feb 2018 13:42:58 -0800 (PST)
Received: from mail-lf0-x22c.google.com (mail-lf0-x22c.google.com [IPv6:2a00:1450:4010:c07::22c]) (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 B55E21200B9 for <detnet@ietf.org>; Sun, 11 Feb 2018 13:42:57 -0800 (PST)
Received: by mail-lf0-x22c.google.com with SMTP id t79so17987310lfe.3 for <detnet@ietf.org>; Sun, 11 Feb 2018 13:42:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=UaR13lNuHQXg+/nhsTyi9T0kQWsR7Pd4w6cr/cOHdW0=; b=Tdibm/6a3WlXKmwaRRTefi7FR+ZHBVeLLKPu/n52qgmjzSs3Cns2P7V18gITKzZIRv wY1QAJqiE/yAfKJX3m/tbLpGx8A8oybgOXsiDpDgR87hlJKCexT2eGlUmTqToJmumAO5 9bsLy2j0vXbf+F4+0XxqXbDuFyiQZGWaq6/t8R6rwFoB13A5dwtoadaLfpA6YnjroMwP fyWqDIUsftckOU6ksODZoYCzfVfLvhMOUSy1+fE89WWmzO39SuLA9MkSTIfvqcJH+kiJ wAleSYGlIO/+jCFUwx2BMum6kXvb0R/Hq0+6CiXOsKkK0LU8/Ct9sI/KU6m25Z+jSvjv rKlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=UaR13lNuHQXg+/nhsTyi9T0kQWsR7Pd4w6cr/cOHdW0=; b=k5CRvmUBvF0bJrUMb7t1YS2ck/2HqJV4g3hUfNqAixWHsNARe3KWRIN2BBN16rUJUK 5qe4ZWicQIXgDeo/PHGvX6gGgMO3hV04P5I6/ShUU27r5Q5wHpPCp0TQKX/NHvdblYTx T2g5bZaRGm896LQytdUPhxENpZ8m6hX9jLPNZn5SK8JyStCDpLobeAkwo4mw8dXKM3j8 JRsNGU6uEXBYfd+7HqiZ0q6OV6Wmj4WztKfw57lUK4+uwvbr20X8pRmi88JIjD1jcMSI pLHCtAEEbzsPduPIrS167B3omumVVBfi95K6TTPaDI1h/4iEvu5V0segH/BAJ+U0wbDI MUpw==
X-Gm-Message-State: APf1xPBsPw23QCmz57n0QLzHSB2w2imgo9gXM534OJNZp6AyOlO7Lyk0 3Ss11sXGbJ9COslMNcD8HFk=
X-Google-Smtp-Source: AH8x224Ol1OQpwZHBJpIwIGmJGKIWLZpNabtzWBhwO419de0hl9sM1tBjMSWPIpCPha+GkmTYi1s/w==
X-Received: by 10.46.20.8 with SMTP id u8mr6581831ljd.12.1518385375836; Sun, 11 Feb 2018 13:42:55 -0800 (PST)
Received: from jounis-imac.home ([83.150.126.201]) by smtp.gmail.com with ESMTPSA id e11sm1314678ljf.44.2018.02.11.13.42.54 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 11 Feb 2018 13:42:55 -0800 (PST)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Jouni <jouni.nospam@gmail.com>
In-Reply-To: <b9c9fe85-fbd9-9859-51ca-27c9bda061a5@labn.net>
Date: Sun, 11 Feb 2018 23:42:53 +0200
Cc: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, detnet@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <7CF3359D-204E-46E9-B7C6-B6134120502E@gmail.com>
References: <cff50c52d2f945cfa8eff149f5242fb0@XCH-RCD-001.cisco.com> <16170c78f30.27d3.9b4188e636579690ba6c69f2c8a0f1fd@labn.net> <22c101d3a0bc$5795b080$06c11180$@gmail.com> <b17a1c79-010d-b4a0-aa07-8182b72f2577@labn.net> <00A9AB24-830A-46C7-B3DB-5C17D2AC91EC@gmail.com> <b9c9fe85-fbd9-9859-51ca-27c9bda061a5@labn.net>
To: Lou Berger <lberger@labn.net>
X-Mailer: Apple Mail (2.2104)
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/x2NY2vObJRyx_EIykQilpUyawqA>
Subject: Re: [Detnet] IPv6 encapsulation in dataplane doc
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Feb 2018 21:43:00 -0000


>>>> * End systems cannot participate to DetNet service layer packet
>>>> elimination & duplication business. If they still do e.g. using DetNet
>>>> DstOpt that is separate from subnet/transport layer provided service.
>>> 
>>> True, end station participation in PREF wouldn't be possible in this
>>> simplified approach for IP, but the end stations *could* still
>>> participate in the equivalent function provided by a sub-net layer such
>>> as TSN. So end to end detnet traffic protection is not possible, but it
>>> doesn't mean it can't be provided by lower network layers.  The gain
>>> here is a simplified and unified IP solution and simplified host
>>> processing/support, albeit with a loss of one of the three end to end
>>> detnet service attributes.
>> 
>> Yes, that’s true (as I already clarified in my latest mail to Pascal).
>> 
> 
> yes.  It's good for all to remember that DetNet is just as much (if not
> more) about supporting explicit routes with congestion protection and
> latency control....

Indeed..

>>>> * Different subnet/transport layer segments in the DetNet domain are
>>>> likely to use their own sequencing and duplication & elimination
>>>> solutions. I am not sure how independent those will be e.g., is the
>>>> sequence numbering unified across or only per segment. The former is not
>>>> IMO easy and the latter easily reduces to single points between segments
>>>> to handle number book keeping properly.  
>>> 
>>> Agreed.  The question for the WG is this a reasonable compromise in
>>> order to in our *initial* solution defined by the WG.  -- Nothing says
>>> we can't come back and improve on this in the future, but it will allow
>>> us to get *something* useful defined with less complexity.
>> 
>> I would first specify the required steps that make IP as-is work within one subnet/transport layer segment. That should be an achievable goal with a limitation of e.g. a single interconnection point between subnet/transport layer segments of different types/solutions. 
>> 
> 
> sure. as long as one of the 'attached stations' can be a router.

Yes. That’s the plan at least from my side.

- Juoni


> 
>> After that look into solving multiple interconnection points.. and there the L4 path that Pascal mentioned or that IPv6 DetNet DstOpt of mine could be way forward.
>> 
> 
> yes, this would be good follow on work...
> 
> Cheers,
> Lou
>> - Jouni
>> 
>> 
>>> 
>>> 
>>>> 
>>>> Regardless the above I am keen to explore this alternative approach..
>>>> 
>>> 
>>> Great - look forward to hear the results!
>>> Lou
>>> 
>>>> 
>>>> -          Jouni
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> *From:* detnet [mailto:detnet-bounces@ietf.org] *On Behalf Of *Lou Berger
>>>> *Sent:* Wednesday, February 7, 2018 17:00 PM
>>>> *To:* Pascal Thubert (pthubert) <pthubert@cisco.com>; detnet@ietf.org
>>>> *Subject:* Re: [Detnet] IPv6 encapsulation in dataplane doc
>>>> 
>>>> 
>>>> 
>>>> Pascal/all,
>>>> 
>>>> At the last interim a proposal was made to simplify IP processing, at
>>>> least for the initial detnet solution, by leaving PREF to the
>>>> subnet/transport layers (i.e., TSN and MPLS) and providing DetNet flow
>>>> identification based on typical IP 5-tuple perhaps + dscp. This approach
>>>> has several benefits beyond simplification, notably it will work for
>>>> both ipv4 and IPv6, and doesn't require any modification to
>>>> encapsulation / formats.
>>>> 
>>>> It would be really valuable to get feedback from the whole working group
>>>> if this simplification is acceptable or has unacceptable limitations.
>>>> 
>>>> Lou
>>>> 
>>>> On February 7, 2018 8:28:02 AM "Pascal Thubert (pthubert)"
>>>> <pthubert@cisco.com <mailto:pthubert@cisco.com>> wrote:
>>>> 
>>>>   Dear all
>>>> 
>>>> 
>>>> 
>>>>   This is about the IPv6 encapsulation and more precisely
>>>> 
>>>> 
>>>> 
>>>>                           Therefore, if a DetNet-aware end system only
>>>> 
>>>>      inserted the DetNet Destination Option into the IPv6 but e.g., a
>>>> 
>>>>      DetNet Edge node is configured to enforce an explicit route for the
>>>> 
>>>>      IPv6 packet using a source routing header, then it has no other
>>>> 
>>>>      possibility than add an outer tunneling IPv6 header with required
>>>> 
>>>>      extension headers in it.  The processing of IPv6 packets in a DetNet
>>>> 
>>>>      Edge node is discussed further in Section 6.4.1
>>>>   <https://tools.ietf.org/html/draft-ietf-detnet-dp-sol-01#section-6.4.1>.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>   With the current spec, a source sends a DetNet packet as
>>>> 
>>>> 
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H   Optional DetNet DstOpt Hdr    H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>>   And then the ingress node needs to re-encapsulate as
>>>> 
>>>> 
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                      |                                 |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H        DetNet DstOpt Hdr        H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +=================================+
>>>> 
>>>>                       |          Routing header         |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H        DetNet DstOpt Hdr        H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>>   This creates a duplication of the DetNet Destination Option.
>>>> 
>>>> 
>>>> 
>>>>   There are alternatives
>>>> 
>>>> 
>>>> 
>>>>   a)  whereby the packet is tunneled from the source to the detnet
>>>>   ingress, and based on its state the DetNet ingress accepts the
>>>>   packet, processes it and then resends it. The tunneled version of
>>>>   this could be:
>>>> 
>>>> 
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = final destination)    |
>>>> 
>>>>                       /=================================\
>>>> 
>>>>                       H   Optional DetNet DstOpt Hdr    H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = DetNet ingress edge)  |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>>   Which allows the ingress to tunnel to the egress as follows:
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |      (to final destination)     |
>>>> 
>>>>                       +=================================+
>>>> 
>>>>                       |          Routing header         |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H   Optional DetNet DstOpt Hdr    H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = DetNet egress edge)   |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>>   b)  whereby the PREF is done by the end nodes and the tunnel is
>>>>   transport only, meaning that there are 2 tunnels A and B and that
>>>>   the source sends twice a packet like this:
>>>> 
>>>> 
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H   Optional DetNet DstOpt Hdr    H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = DetNet ingress edge X)|
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>>   And then the ingress node needs to re-encapsulate as
>>>> 
>>>> 
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |                                 |
>>>> 
>>>>                       |           DetNet Flow           |
>>>> 
>>>>                       |             Payload             |
>>>> 
>>>>                      |                                 |
>>>> 
>>>>                       /---------------------------------\
>>>> 
>>>>                       H        DetNet DstOpt Hdr        H
>>>> 
>>>>                       \---------------------------------/
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = final destination)    |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +=================================+
>>>> 
>>>>                       |          Routing header         |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>>                       |          IPv6 header            |
>>>> 
>>>>                       |   (dest = DetNet egress edge X) |
>>>> 
>>>>                       |     (with set Flow label)       |
>>>> 
>>>>                       +---------------------------------+
>>>> 
>>>> 
>>>> 
>>>>   Cheers,
>>>> 
>>>> 
>>>> 
>>>>   Pascal
>>>> 
>>>>   _______________________________________________
>>>>   detnet mailing list
>>>>   detnet@ietf.org <mailto:detnet%40ietf.org>
>>>>   https://www.ietf.org/mailman/listinfo/detnet
>>>> 
>>> 
>> 
>> 
>