Re: [Detnet] IPv6 encapsulation in dataplane doc

Lou Berger <lberger@labn.net> Mon, 12 February 2018 16:26 UTC

Return-Path: <lberger@labn.net>
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 3572912D87A for <detnet@ietfa.amsl.com>; Mon, 12 Feb 2018 08:26:19 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.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 uTS4ER6baA34 for <detnet@ietfa.amsl.com>; Mon, 12 Feb 2018 08:26:12 -0800 (PST)
Received: from gproxy10-pub.mail.unifiedlayer.com (gproxy10-pub.mail.unifiedlayer.com [69.89.20.226]) (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 8DCFE12D871 for <detnet@ietf.org>; Mon, 12 Feb 2018 08:26:05 -0800 (PST)
Received: from cmgw4 (unknown [10.0.90.85]) by gproxy10.mail.unifiedlayer.com (Postfix) with ESMTP id 3DB1014066A for <detnet@ietf.org>; Mon, 12 Feb 2018 09:26:05 -0700 (MST)
Received: from box313.bluehost.com ([69.89.31.113]) by cmgw4 with id 9sS11x00h2SSUrH01sS4Rn; Mon, 12 Feb 2018 09:26:05 -0700
X-Authority-Analysis: v=2.2 cv=G85sK5s5 c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=Op4juWPpsa0A:10 a=pGLkceISAAAA:8 a=wU2YTnxGAAAA:8 a=AUd_NHdVAAAA:8 a=48vgC7mUAAAA:8 a=WoyKnZPoRoBK_IFIJB0A:9 a=a1A0PJfE6Gz4_CRx:21 a=ZML0q4dVDCeec3hR:21 a=QEXdDO2ut3YA:10 a=Yz9wTY_ffGCQnEDHKrcv:22 a=w1C3t2QeGrPiZgrLijVG:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version :Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=dWfy8lFw1YaR8Z72YFQm35qj34SMk96uvTocS6krCA8=; b=Zg1BzXbj2krrmxYS9hlNIylREw jDzEqIFbH8p/RIOpa0hWlDPrCimom2Ucjz6CsrwJhzDRFTQowyXaOwoZhMg91Udwjcq0vZCZgcxuI 3bAnPhg4ZVqKC4wb1cqxHkq7x;
Received: from pool-100-15-86-101.washdc.fios.verizon.net ([100.15.86.101]:36414 helo=[IPv6:::1]) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89_1) (envelope-from <lberger@labn.net>) id 1elGvZ-001XhD-8p; Mon, 12 Feb 2018 09:26:01 -0700
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, Jouni <jouni.nospam@gmail.com>
Cc: "detnet@ietf.org" <detnet@ietf.org>
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> <7CF3359D-204E-46E9-B7C6-B6134120502E@gmail.com> <d879c877a1a04760920c9c9c3edbe6e0@XCH-RCD-001.cisco.com>
From: Lou Berger <lberger@labn.net>
Message-ID: <1ecb9fc9-de35-c543-f53a-6640fddf2079@labn.net>
Date: Mon, 12 Feb 2018 11:25:57 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <d879c877a1a04760920c9c9c3edbe6e0@XCH-RCD-001.cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 100.15.86.101
X-Exim-ID: 1elGvZ-001XhD-8p
X-Source:
X-Source-Args:
X-Source-Dir:
X-Source-Sender: pool-100-15-86-101.washdc.fios.verizon.net ([IPv6:::1]) [100.15.86.101]:36414
X-Source-Auth: lberger@labn.net
X-Email-Count: 3
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/RTcs1PgugD21iT5KNcyYF4y0sCI>
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: Mon, 12 Feb 2018 16:26:19 -0000

Hi Pascal,

On 2/12/2018 5:30 AM, Pascal Thubert (pthubert) wrote:
> Hello Jouni and Lou:
>
> Just to make sure we are on the same line:
>
> - IPvX (==v4/v6) would signal the flow implicitly - derived from the tuples- but not the source sequencing. No need to change IP.
if you substitute "encode" with "signal", I agree.

> - DetNet may provide PREF/IOD from the edge ingress. DetNet would provide its own sequencing based on reception order at ingress edge.
I'm not sure edge ingress is right here.  an IP host may still be a 
DetNet edge, but PREF may on start at the DetNet/MPLS ingress.

> - The  ingress edge may be a NIC card in the originating node. It would be operating below IPvX and possibly equipped with 2 Ethernet ports and capable of PREF.
are you talking 802.1cb or detnet PREF? if the former, yes, if the 
latter this is FFS for IP only detnet.

> - Anything above IP is beyond charter. A upper layer sequence may be visible in the L4-transport or at the application layer but DetNet will not look for it.
Yes (from my personal view)
> A snooping edge device doing DPI may dig in the packet and find information for packet identification and ordering, for a particular application, and that is beyond the interests of the WG.
I don't think there has any proposal for this discussed in the WG either 
way.

> - A L4 transport may be designed to provide PREF, IOD, FEC (network coding) and whatever else needed. This would be done in TSV Area with DetNet's blessing.
agreed, as would be any changes in TCP congestion control modes to take 
advantage of DetNet allocations.


> Do we agree?
I hope so!

> Pascal
>
> -----Original Message-----
> From: Jouni [mailto:jouni.nospam@gmail.com]
> Sent: dimanche 11 février 2018 22:43
> To: Lou Berger <lberger@labn.net>
> Cc: Pascal Thubert (pthubert) <pthubert@cisco.com>; detnet@ietf.org
> Subject: Re: [Detnet] IPv6 encapsulation in dataplane doc
>
>
>
>>>>> * 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
>>>>>
>>>
> _______________________________________________
> detnet mailing list
> detnet@ietf.org
> https://www.ietf.org/mailman/listinfo/detnet
>