<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc3031 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY rfc3032 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml">
<!ENTITY rfc3985 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3985.xml">
<!ENTITY rfc4023 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4023.xml">
<!ENTITY rfc4090 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4090.xml">
<!ENTITY rfc4385 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4385.xml">
<!ENTITY rfc4446 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4446.xml">
<!ENTITY rfc4447 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4447.xml">
<!ENTITY rfc4448 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4448.xml">
<!ENTITY rfc4553 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4553.xml">
<!ENTITY rfc4664 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4664.xml">
<!ENTITY rfc4817 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4817.xml">
<!ENTITY rfc4875 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4875.xml">
<!ENTITY rfc5036 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5036.xml">
<!ENTITY rfc5086 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5086.xml">
<!ENTITY rfc5087 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5087.xml">
<!ENTITY rfc5254 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5254.xml">
<!ENTITY rfc5129 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5129.xml">
<!ENTITY rfc5305 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5305.xml">
<!ENTITY rfc5331 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5331.xml">
<!ENTITY rfc5332 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5332.xml">
<!ENTITY rfc5440 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5440.xml">
<!ENTITY rfc5462 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5462.xml">
<!ENTITY rfc5586 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5586.xml">
<!ENTITY rfc5659 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5659.xml">
<!ENTITY rfc5921 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5921.xml">
<!ENTITY rfc5960 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5960.xml">
<!ENTITY rfc6073 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6073.xml">
<!ENTITY rfc6275 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6275.xml">
<!ENTITY rfc6371 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6371.xml">
<!ENTITY rfc6373 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6373.xml">
<!ENTITY rfc6378 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6378.xml">
<!ENTITY rfc6426 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6426.xml">
<!ENTITY rfc6437 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY rfc6540 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6540.xml">
<!ENTITY rfc6564 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6564.xml">
<!ENTITY rfc6621 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6621.xml">
<!ENTITY rfc6658 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6658.xml">
<!ENTITY rfc6718 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6718.xml">
<!ENTITY rfc6733 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6733.xml">
<!ENTITY rfc6790 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml">
<!ENTITY rfc7271 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7271.xml">
<!ENTITY rfc7348 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7348.xml">
<!ENTITY rfc7426 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7426.xml">
<!ENTITY rfc7432 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7432.xml">
<!ENTITY rfc7510 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7510.xml">

<!ENTITY I-D.ietf-detnet-dp-alt PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-detnet-dp-alt.xml">
<!ENTITY I-D.ietf-detnet-problem-statement PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-detnet-problem-statement.xml">
<!ENTITY I-D.ietf-detnet-architecture PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-detnet-architecture.xml">
<!ENTITY I-D.ietf-mpls-residence-time SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-residence-time">

<!ENTITY I-D.ietf-6man-segment-routing-header PUBLIC "" "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-6man-segment-routing-header.xml">

]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std"
     docName="draft-dt-detnet-dp-sol-02"
         ipr="trust200902"
         submissionType="IETF">
  <front>
    <title abbrev="DetNet Data Plane Encapsulation">
     DetNet Data Plane Encapsulation</title>

  <author role="editor" fullname="Jouni Korhonen" initials="J." surname="Korhonen">
   <organization abbrev="Nordic">Nordic Semiconductor</organization>
   <address>
    <email>jouni.nospam@gmail.com</email>
   </address>
  </author>

  <author fullname="Loa Andersson" initials="L." surname="Andersson">
   <organization abbrev="Huawei">Huawei</organization>
   <address>
    <email>loa@pi.nu</email>
   </address>
  </author>
  
  <author fullname="Yuanlong Jiang" initials="Y." surname="Jiang">
   <organization abbrev="Huawei">Huawei</organization>
   <address>
    <email>jiangyuanlong@huawei.com</email>
   </address>
  </author>
  
  <author fullname="Norman Finn" initials="N."
      surname="Finn">
      <organization>Huawei</organization>
      <address>
          <postal>
              <street>3101 Rio Way</street>
              <city>Spring Valley</city>
              <code>91977</code>
              <region>CA</region>
              <country>USA</country>
          </postal>
          <email>norman.finn@mail01.huawei.com</email>
      </address>
  </author>

  <author fullname="Bal&aacute;zs Varga" initials="B." surname="Varga">
	<organization>Ericsson</organization>
	<address>
	 <postal>
	  <street>Konyves K&aacute;lm&aacute;n krt. 11/B</street>
	  <city>Budapest</city>
	  <country>Hungary</country>
	  <code>1097</code>
	 </postal>
	 <email>balazs.a.varga@ericsson.com</email>
	</address>
	</author>
  
  <author fullname="Janos Farkas" initials="J." surname="Farkas">
	<organization>Ericsson</organization>
	<address>
	 <postal>
	  <street>Konyves K&aacute;lm&aacute;n krt. 11/B</street>
	  <city>Budapest</city>
	  <country>Hungary</country>
	  <code>1097</code>
	 </postal>
	 <email>janos.farkas@ericsson.com</email>
	</address>
	</author>

    <author fullname="Carlos J. Bernardos"
            initials="CJ."
            surname="Bernardos">
      <organization abbrev="UC3M">
        Universidad Carlos III de Madrid
      </organization>
      <address>
        <postal>
          <street>Av. Universidad, 30</street>
          <city>Leganes, Madrid</city>
          <code>28911</code>
          <country>Spain</country>
        </postal>
        <phone>+34 91624 6236</phone>
        <email>cjbc@it.uc3m.es</email>
        <uri>http://www.it.uc3m.es/cjbc/</uri>
      </address>
    </author>

    <author fullname="Tal Mizrahi" initials="T."
     surname="Mizrahi">
     <organization>Marvell</organization>
     <address>
      <postal>
       <street>6 Hamada st.</street>
       <city>Yokneam</city>
       <country>Israel</country>
      </postal>
      <email>talmi@marvell.com</email>
     </address>
    </author>

    <author initials='L.' surname="Berger" fullname='Lou Berger'>
      <organization abbrev="LabN">LabN Consulting, L.L.C.</organization>
      <address>
        <email>lberger@labn.net</email>
      </address>
    </author>
  <!--author fullname="Donald Fauntleroy Duck" initials="D. F." surname="Duck">
   <organization abbrev="Royal Bros.">Royal Bros.</organization>
   <address>
    <postal>
     <street>13 Paradise Road</street>
     <city>Duckburg</city>
     <region>Calisota</region>
     <country>USA</country>
    </postal>
   </address>
  </author-->
  <date />
  <workgroup>DetNet</workgroup>

  <abstract>
  <t>
   This document specifies Deterministic Networking data plane encapsulation solutions. The described data plane solutions can be applied over either IP or MPLS Packet Switched Networks.
  </t>
    <t><list style="hanging" hangIndent="2">
		    <t hangText="Comment #1:"> SB> An overarching comment is that the early part of the document is really
        fundamental architecture and perhaps belongs in the arch draft, leaving 
        this draft to be more specific about solutions.
        Indeed if we cannot find a single solution that maps to both IP and MPLS
        underlays I wonder if we should publish two specialist RFCs?
      </t>
      <t hangText="Discussion:"> One document at the beginning, split into two if/when needed. Would be post
         adoption in any case.</t>
    </list></t>
    <t><list style="hanging" hangIndent="2">
        <t hangText="Comment #2:">
		SB> Whilst I think we should look for a common solution to IP and MPLS
        I do not think that this is where the DT ended up.
	</t>
      <t hangText="Discussion:">
          Agree.  
      </t>
    </list></t>

  </abstract>
  </front>

 <middle>
 <section title="Introduction" anchor="sec_intro">
  <t>
    Deterministic Networking (DetNet) is a service that can be offered by
    a network to DetNet flows.  DetNet provides these flows extremely low
    packet loss rates and assured maximum end-to-end delivery latency.
    General background and concepts of DetNet can be found in <xref
    target="I-D.ietf-detnet-architecture"/>.
  </t>
  <t>
    This document specifies the DetNet data plane.
    It defines how DetNet traffic is encapsulated at the network layer,
    and how DetNet-aware nodes can identity DetNet flows.
    Two data plane definitions are given. 
     <list style="symbols">
		<t>PW-based: One solution is based on PseudoWires (PW) <xref target="RFC3985"/>
		and <xref target="RFC5036"/> and makes use of multi-segment pseudowires (MS-PW) <xref target="RFC6073"/> to map
		DetNet Relay and Edge Nodes <xref target="I-D.ietf-detnet-architecture"/> 
		<xref target="I-D.ietf-detnet-dp-alt"/> to PW architecture. The PW-based 
		data plane can be run over an MPLS <xref target="RFC4448"/> 
		<xref target="RFC6658"/> Packet Switched Network (PSN).</t>
     </list>

     <list style="hanging" hangIndent="2">
        <t hangText="Comment #3:">
		SB> This is really an MPLS one. The world of IP PWs is a bit scruffy with
       some work in PWE3 and some in L2TPext which really went their own ways.
       There is for example no MS-PW IP design.
       The MS-PW approach needs to be examined more closely by the WG and thus
       at this stage be marked as provisional.
	</t>
      <t hangText="Discussion:">
	      Agree. "can be" -> "is".  
      </t>
      <t hangText="Comment #3.1">
	      LB> EVPN-based encapsulation is also a potential candidate. In general DetNet
	      should look more closely to the delevopment around EVPN.
      </t>
      <t hangText="Discussion">
	      Agree. EVPN could be a potential solution and the on-wire encapsuations
	      are likely to be the same as PW-based encapsulation would be. EVPN even
	      recommends using Control Word [RFC8214] (in the absence of entropy labels).
      </t>
    </list>

    <list style="symbols">
                <t>Native-IP: The other solution is based on IP header fields, namely on 
		the IPv6 Flow Label and a new DetNet Control Word extension header option. 
		It is targeted for native IPv6 networks.   
		</t>
  </list>
     <list style="hanging" hangIndent="2">
        <t hangText="Comment #4:">
		SB> The IP solution has not been properly examined by the WG and needs
           to be marked as provisional.
	</t>
      <t hangText="Discussion:">
	      IP vs. MPLS is a deployment choice.   
      </t>
    </list>

  </t>
  <t>
    It is worth noting that while PWs are designed to work over IP
    PSNs this document describes a native-IP solution that operates
    without PWs. The primary reason for this is the benefit gained by
    enabling the use of a normal application stack, where transport
    protocols such as TCP or UDP are directly encapsulated in IP.
     <list style="hanging" hangIndent="2">
        <t hangText="Comment #5:">
		SB> We clearly need to look at the implications of running this with 
        a new IP header extension. Firstly we need input from 6man, but
        we also need to understand what happens in middle boxes, other 
        components of the host stack etc.
        </t>
      <t hangText="Discussion:">
	 A WG can develop their own extensions and then get approval from
         6man. Sometimes that ends up redoing extensions in 6man but not
         always.	 
      </t>
    </list>
  </t>
  <t>
   This document specifies the encapsulation for DetNet flows, including a 
   DetNet Control Word (CW). Furthermore, it describes how DetNet flows
   are identified, how DetNet Relay 
   and Edge nodes work, and how the Packet Replication and Elimination function
   (PREF) is implemented with these two data plane solutions. This document does not define the
   associated control plane functions, or Operations, Administration,
   and Maintenance (OAM).  It also does not specify traffic
   handling capabilities required to deliver congestion protection and
   latency control to DetNet flows as this is defined to 
   be provided by the underlying MPLS or IP network. 
     <list style="hanging" hangIndent="2">
      <t hangText="Comment #6:">
	      SB> OK, although I think that this may be a mistake. There may well be some
           coupling needed between the Detnet DP and the substrate/transport/underlay
           needed to make this work. If this is a genuine technical layering we
           should talk about it. If this is an artificial constraint imposed
           by the IESG we need to talk to them.
        </t>
      <t hangText="Discussion:">
           The only interaction needed is that the flow identification is possible.
	   That needs to be available for lower layers.
      </t>
      <t hangText="Comment #6.1:">
	      LA> Even though this document does not specify any OAM
              functions, we will need to verify that the GACh (Generalized Associate
              Channel) works correctly in a network that has replication and
              elimination.
      </t>
      <t hangText="Discussion:">
	      --
      </t>
    </list>
  </t>
 </section>

 <section title="Terminology">
  <section title="Terms used in this document">
  <t>
   This document uses the terminology established in the DetNet architecture
   <xref target="I-D.ietf-detnet-architecture"/> and the DetNet Data Plane
   Solution Alternatives <xref target="I-D.ietf-detnet-dp-alt"/>.
  </t>
  <t>
   The following terms are also used in this document:
   <list style="hanging" hangIndent="14">
    <t hangText="DA-T-PE">MPLS based DetNet edge node: a DetNet-aware PseudoWire Terminating Provider Edge (T-PE).</t>
    <t hangText="DA-S-PE">MPLS based DetNet relay node: a DetNet-aware PseudoWire Switching Provider Edge (S-PE).</t>
   </list>
   <list style="hanging">
	   <t hangText="Comment #7">
		   SB> We need to look at whether the S-PE concept is the best fit, or whether
                   we should use introduce a Detnet relay to do this. An S-PE just
                   swaps the PW label, but Detnet needs it to do more and a better model
                   might be a new construct. However we could also discard the relay
                   concept and run 1+n end to end, in which case the S-PEs would retain
                  heir original function.
	  </t>
	  <t hangText="Discussion:">
		 Disagree of the dropping comment. However, the issues are most likely
		 terminology related. The relay concept is part of the DetNet architecture
		 A DA-S-PE was intended to be a DetNet relay, which may do more than just
		 swapping labels (PREF functionality). Current text is quite biased to
		 MS-PW, which was the starting point for the DetNet relay in a MPLS PW network.
  	 </t>
 </list>

	<list style="hanging" hangIndent="14">


    <t hangText="T-Label">A label used to identify the LSP used to
    transport a DetNet flow across an MPLS PSN, e.g., a hop-by-hop
    label used between label switching routers (LSR).</t>
    <t hangText="S-Label">A DetNet node to DetNet node "service" label that is used between DA-*-PE devices.</t>
	<t hangText="PW Label">
     A PseudoWire label that is used to identify DetNet flow related PW Instances within a PE node.</t> 
	<t hangText="Flow Label">
     IPv6 header field that is used to identify a DetNet flow (together with the source IP address field).</t> 
    </list>
   <list style="hanging">
	   <t hangText="Comment #8">
		   SB> If this is the IPv6 Flow label I think caution is needed as I don't think
          the handling of this is well defined or consistently implemented in
          networking equipment.
          </t>
	  <t hangText="Discussion:">
	    DetNet specifies the use and discusses possible interaction with RFC6347 in this I-D.
	  </t>
	</list>



    <list style="hanging" hangIndent="14"> 

    <t hangText="local-ID">
     An edge and relay node internal construct that uniquely identifies a DetNet flow. 
     It may be used to select proper forwarding and/or DetNet specific service function.</t>
    </list>
    <list style="hanging">
	   <t hangText="Comment #9">
		   SB> Is this really an internal construct, or is it an on the wire construct?
             If it is needed end to end, I don't think it is correct to describe it
             as an internal construct. When you say "select" presumably you mean
             by potentially any DN aware node on the path?
	   </t>
	  <t hangText="Discussion:">
	     It is an internal construct, so yes.
	  </t>
	</list>
    <list style="hanging" hangIndent="14"> 

    <t hangText="PREF">
     A Packet Replication and Elimination Function (PREF) does the replication
     and elimination processing of DetNet flow packets in edge or relay
     nodes. The replication function is essentially the existing 1+1 protection
     mechanism. The elimination function reuses and extends the existing duplicate 
	 detection mechanism to operate over multiple (separate) DetNet member flows of a 
	 DetNet compound flow.</t>
    </list>
    <list style="hanging">
	   <t hangText="Comment #10">
		   SB> I wonder if 1+1 is the right way to go, or whether 1+n is better. A bunch
            of new techniques have emerged over the years and we really ought to look
            at creating paths with MRT. With 1+2 on main + the two MRT paths you
            have a two failure resiliency as far as it is possible to construct such
            paths in the underlying topology.
	   </t>
	   <t hangText="Discussion:">
	    As observed above, actually 1+n would be closer to what is needed. 1+1 was meant to
	    be more an example showing there is existing work that can be leveraged.
  	   </t>
	</list>
  </t>
  </section>

  <section title="Abbreviations">
  <t>
   The following abbreviations used in this document:
   <list style="hanging" hangIndent="14">
    <t hangText="AC">Attachment Circuit.</t>
    <t hangText="CE">Customer Edge equipment.</t>
    <t hangText="CoS">Class of Service.</t>
    <t hangText="CW">Control Word.</t>
    <t hangText="d-CW">DetNet Control Word.</t>
    <t hangText="DetNet">Deterministic Networking.</t>
    <t hangText="DF">DetNet Flow.</t>
    <t hangText="L2VPN">Layer 2 Virtual Private Network.</t>
    <t hangText="LSR">Label Switching Router.</t>
    <t hangText="MPLS">Multiprotocol Label Switching.</t>
    <t hangText="MPLS-TP">Multiprotocol Label Switching - Transport Profile.</t>
    <t hangText="MS-PW">Multi-Segment PseudoWire (MS-PW).</t>
    <t hangText="NSP">Native Service Processing.</t>
    <t hangText="OAM">Operations, Administration, and Maintenance.</t>
    <t hangText="PE">Provider Edge.</t>
    <t hangText="PREF">Packet Replication and Elimination Function.</t>
    <t hangText="PSN">Packet Switched Network.</t>
    <t hangText="PW">PseudoWire.</t>
    <t hangText="QoS">Quality of Service.</t>
    <t hangText="TSN">Time-Sensitive Network.</t>
   </list>
  </t>
  </section>

 </section>

 <section title="Requirements language">
  <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
   "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
   and "OPTIONAL" in this document are to be interpreted as
   described in <xref target="RFC2119"/>.
  </t>
 </section>

 <section title="DetNet data plane overview" anchor="sec_dt_dp">
<!-- cjbc: first attempt of writing a stab of intro written below -->
<!--
  <t>
   [Ed. to be written.. describe the scope here fot this document: this
   document only addresses the inter-connect case i.e., 802.1 over routed
   network (enlarge the layer-2 domain - EVPAN', and the native DetNet
   case.]
  </t>
-->

  <t>
    <list style="hanging">
	   <t hangText="Comment #11">
	   I am not sure whether this is a DP overview, or an architecture
           overview and hence whether this needs to be here or in the architecture
           draft.
           </t>
	  <t hangText="Discussion:">
	    Overview is more of an editorial matter and its final location can be
	    discussed later on. Currently it is "no harm" to have it here but there
	    are no binding reasons to keep the text in either.
	  </t>
	</list>
   This document describes how to use IP and/or MPLS to support a data
   plane method of flow identification and packet formwarding over
   layer-3. Two different cases are covered: (i) the inter-connect
   scenario, in which IEEE802.1 TSN is routed over a layer-3 network
   (i.e., to enlarge the layer-2 domain), and (ii) native connectivity
   between DetNet-aware end systems. <xref target="fig_detnet" />
   illustrates an exemplary scenario.
  </t>

  <figure anchor="fig_detnet" align="center"
  title="A simple DetNet enabled network architecture">
  <artwork align="center"><![CDATA[
TSN              Edge          Transit        Relay        DetNet
End System       Node            Node         Node         End System

+---------+    +.........+                                 +---------+
|  Appl.  |<---:Svc Proxy:-- End to End Service ---------->|  Appl.  |
+---------+    +---------+                   +---------+   +---------+
|   TSN   |    |TSN| |Svc|<-- DetNet flow ---: Service :-->| Service |
+---------+    +---+ +---+    +---------+    +---------+   +---------+
|Transport|    |Trp| |Trp|    |Transport|    |Trp| |Trp|   |Transport|
+-------.-+    +-.-+ +-.-+    +--.----.-+    +-.-+ +-.-+   +---.-----+
        :  Link  :    /  ,-----.  \   :  Link  :    /  ,-----.  \
        +........+    +-[  Sub  ]-+   +........+    +-[  Sub  ]-+
                        [Network]                     [Network]
                         `-----'                       `-----'
]]></artwork>
</figure>


  <t>
   <xref target="fig_8021_detnet"/> illustrates how DetNet can provide services
   for IEEE 802.1TSN end systems over a DetNet enabled network.  The edge nodes
   insert and remove required DetNet data plane encapsulation.  The 'X' in
   the edge and relay nodes represents a potential DetNet flow packet
   replication and elimination point.  This conceptually parallels L2VPN
   services, and could leverage existing related solutions as discussed
   below.
  </t>

<!-- CJBC: shouldn't DF{1,2,3,4] be the same DetNet Flow in the figure below? -->
  <figure align="center" anchor="fig_8021_detnet"
  title="IEEE 802.1TSN over DetNet">
  <artwork><![CDATA[
     TSN    |<---------- End to End DetNet Service ------>|  TSN
    Service |           Transit           Transit         | Service
TSN  (AC)   |        |<-Tunnel->|        |<-Tnl->|        |  (AC)  TSN
End    |    V        V     1    V        V   2   V        V   |    End
System |    +--------+          +--------+       +--------+   |  System
+---+  |    |   E1   |==========|   R1   |=======|   E2   |   |   +---+
|   |--|----|._X_....|..DetNet..|.._ _...|..DF3..|...._X_.|---|---|   |
|CE1|  |    |    \   |  Flow 1  |   X    |       |   /    |   |   |CE2|
|   |       |     \_.|...DF2....|._/ \_..|..DF4..|._/     |       |   |
+---+       |        |==========|        |=======|        |       +---+
    ^       +--------+          +--------+       +--------+       ^
    |        Edge Node          Relay Node       Edge Node        |
    |                                                             |
    |<----- Emulated Time Sensitive Networking (TSN) Service ---->|
]]>
</artwork>
</figure>

 <t>
  <xref target="fig_pw_detnet"/> illustrates how end to end PW-based DetNet service
  can be provided. In this case, the end systems are able to send and receive
  DetNet flows.  For example, an end system sends data encapsulated in
  PseudoWire (PW) and in MPLS.  Like earlier the 'X' in the end systems,
  edge and relay 
  nodes represents potential DetNet flow packet replication and elimination
  points. Here the relay nodes may change the underlying transport, for example
  tunneling IP over MPLS, or simply interconnect network segments.
 </t>

<figure align="center" anchor="fig_pw_detnet"
 title="PW-Based Native DetNet">
<artwork><![CDATA[
      DetNet                                             DetNet
      Service          Transit          Transit          Service
DetNet  |             |<-Tnl->|        |<-Tnl->|            | DetNet
End     |             V   1   V        V   2   V            | End
System  |    +--------+       +--------+       +--------+   | System
+---+   |    |   R1   |=======|   R2   |=======|   R3   |   |  +---+
|  X...DFa...|._X_....|..DF1..|.__ ___.|..DF3..|...._X_.|.DFa..|.X |
|CE1|========|    \   |       |   X    |       |   /    |======|CE2|
|   |   |    |     \_.|..DF2..|._/ \__.|..DF4..|._/     |   |  |   |
+---+        |        |=======|        |=======|        |      +---+
    ^        +--------+       +--------+       +--------+      ^
    |        Relay Node       Relay Node       Relay Node      |
    |                                                          |
    |<--------------- End to End DetNet Service -------------->|
]]></artwork>
</figure>


 <t>
  <xref target="fig_ip_detnet"/> illustrates how end to end IP-based DetNet service
  can be provided. In this case, the end systems are able to send and receive
  DetNet flows.  [Editor's note: TBD]  
 </t>

<figure align="center" anchor="fig_ip_detnet"
 title="IP-Based Native DetNet">
<artwork><![CDATA[
NOTE: This figures is TBD

      DetNet                                             DetNet
      Service          Transit          Transit          Service
DetNet  |             |<-Tnl->|        |<-Tnl->|            | DetNet
End     |             V   1   V        V   2   V            | End
System  |    +--------+       +--------+       +--------+   | System
+---+   |    |   R1   |=======|   R2   |=======|   R3   |   |  +---+
|  X...DFa...|        |       |        |       |        |     .|.X |
| H1|========|        |       |        |       |        |======| H2|
|   |   |    |        |       |        |       |        |   |  |   |
+---+        |        |=======|        |=======|        |      +---+
    ^        +--------+       +--------+       +--------+      ^
    |        Relay Node       Relay Node       Relay Node      |
    |                                                          |
    |<--------------- End to End DetNet Service -------------->|
]]></artwork>
</figure>
 
<section title="DetNet data plane encapsulation requirements">
 <t>
 Two major groups of scenarios can be distinguished which require flow
 identification during transport:
 </t>

 <t><list style="numbers">
  <t>DetNet function related scenarios:
  <list style="symbols">
   <t>Congestion protection and latency control: usage of allocated resources (queuing, policing, shaping).</t>
   <t>Explicit routes: select/apply the flow specific path.</t>
   <t>Service protection: recognize DetNet compound and member flows for replication an elimination.</t>
  </list>
    <list style="hanging">
	   <t hangText="Comment #12">
            I am not sure whether the correct architectural construct is flow
            or flow group. Flow suggests that sharing/aggregation is not allowed
            but whether this is allowed or not is an application specific issue.
           </t>
	   <t hangText="Discussion:">
            Agree that a flow group would be a better characterization. 
  	 </t>
	   <t hangText="Comment #13">
            I think that there needs to be some clarification as to whether FG is
            is understood by the DN system exclusively or whether there is an 
            expectation that it is understood by the underlay.
           </t>
	   <t hangText="Discussion:">
            Agree that more detail is needed here. DetNet aware nodes need to
	    understand flow groups. Underlay needs to be aware of flow groups at
	    the resource allocation level.
  	 </t>
	</list>
 </t>
 <t>OAM function related scenarios:
  <list style="symbols">
   <t>troubleshooting (e.g., identify misbehaving flows, etc.)</t>
   <t>recognize flow(s) for analytics (e.g., increase counters, etc.)</t>
   <t>correlate events with flows (e.g., volume above threshold, etc.)</t>
   <t>etc.</t>
  </list>
 </t>
 </list></t>
 <t>
  Each node (edge, relay and transit) use a local-ID of the DetNet-(compound)-flow in
  order to accomplish its role during transport. Recognizing the DetNet flow is more
  relaxed for edge and relay nodes, as they are fully aware of both the DetNet
  service and transport layers. The primary DetNet role of intermediate transport nodes is
  limited to ensuring congestion protection and latency control for the above listed DetNet
  functions.
 </t>
 <t>
  The DetNet data plane allows for the aggregation of DetNet flows,
  e.g., via MPLS hierarchical LSPs, to improved scaling.  When DetNet
  flows are aggregated, transit nodes may have limited ability to
  provide service on per-flow DetNet identifiers. Therefore, identifying
  each individual DetNet flow on a transit node may not be achieved in
  some network scenarios, but DetNet service can still be assured in
  these scenarios through resource allocation and control.
    <list style="hanging">
	   <t hangText="Comment #14">
           You could introduce the concept of a flow group identified into the
           packet. You may also include a flow id at a lower layer.
           </t>
	  <t hangText="Discussion:">
		  Agree on the identification properties. Adding a specific id into actual
		  on-wire formats is not necessarily needed.
	  </t>
	</list>
 </t>

 <t>
  On each node dealing with DetNet flows, a local-ID is assumed to determine what
  local operation a packet goes through. Therefore, local-IDs MUST be unique on
  each edge and relay nodes. Local-ID MUST be unambiguously bound to the
  DetNet flow. 
    <list style="hanging">
	   <t hangText="Comment #15">
           I am confused as to what you mean by local ID. Is this an internal
           construct which packet parameters map to, in which case why is it
           being called up? IETF practise is to specify on the wire behaviour
           but not internal behaviour of equipments.
           </t>
	  <t hangText="Discussion:">
	   Local-id is an internal construct, which was intended to clarify
	   the discussion in the I-D. Obviously it did not work as intended.
	  </t>
	</list>
 </t>
 </section>
</section>

<!-- ================================================================= -->

<section title="DetNet data plane solution" anchor="dn-dt-solution">

 <section title="DetNet specific packet fields">
  <t>
   The DetNet data plane encapsulation should include two DetNet specific 
   information element in each packet of a DetNet flow: (1) flow identification 
   and (2) sequence number. 
    <list style="hanging">
	   <t hangText="Comment #16">
		   should, SHOULD, must or MUST?
	   </t>
	   <t hangText="Discussion:">
		   SHOULD or MUST is ok. MUST is probably more appropriate.
  	 </t>
	</list>
  </t>
  <t>
   The DetNet data plane encapsulation may consists further elements used 
   for overlay tunneling, to distinguish between DetNet member flows of the same 
   DetNet compound flow or to support OAM functions. 
  </t>
 </section>

 <section title="DetNet encapsulation">
  <t>
   This document specifies two encapsulations for the DetNet data plane: (1) PseudoWire (PW) for MPLS
   PSN and (2) native IPv6 based encapsulation for IP PSN. 
  </t>

  <section title="PseudoWire-based data plane encapsulation" anchor="pwSolution">
   <t>
    <xref target="fig_pw_mpls"/> illustrates a DetNet PW encapsulation over an MPLS PSN.  The
    PW-based encapsulation of the DetNet flows fits perfectly for the Layer-2 interconnect
    deployment cases (see <xref target="fig_8021_detnet"/>).  Furthermore, end to end DetNet service
    i.e., native DetNet deployment (see <xref target="fig_pw_detnet"/>) is also possible if
    DetNet-aware end systems are capable of initiating and termination MPLS encapsulated PWs. It is
    also possible use the same encapsulation format with a Packet PW over MPLS <xref
    target="RFC6658"/>. Transport of IP encapsulated DetNet flows, see <xref target="v6Solution"/>, 
    over DetNet PWs is also possible. Interworking between PW- and IPv6-based encapsulations
    is discussed further in <xref target="interwreck"/>.
   </t>
   <t> 
    The PW-based DetNet data plane encapsulation consists of: 
    <list style="symbols">
     <t>DetNet control word (d-CW) containing sequencing information for
      packet replication and duplicate elimination purposes. There is a separate
      sequence number space for each DetNet flow.</t>
     <t>PseudoWire Label (PW Label) that is  a standard PW label identifying a 
       DetNet flow and a PW Instance within a (DA-)T-PE or (DA-)S-PE device.</t>
       <t>An optional S-Label that represents DetNet Service LSP used between
       (DA-)T-PE or (DA-)S-PE nodes. One possible use of an S-Label is
       to identify the different DetNet member flows used to provide
       protection to a DetNet composite flow, perhaps even when both
       LSPs appear on the same link for some reason.</t>
     </list>
     <list style="hanging">
	   <t hangText="Comment #17">
             This needs some discussion by the WG.
	   </t>
	   <t hangText="Discussion:">
		   Agree, specifically if the I-D becomes WG document.
  	 </t>
        </list>
        <list style="symbols">
     <t>MPLS transport LSP label(s) (T-label) which may be a hop-by-hop
     label used between LSRs.</t>
    </list>
     <list style="hanging">
	   <t hangText="Comment #18">
	   Ordinarily this will of course be PHPed before arrival at an x-PE.
	   </t>
	   <t hangText="Discussion:">
		   In most cases yes - depends on the network configuration.
		   PHP is not mandatory and TP does not even
		   have PHP. 
  	 </t>
        </list>
  </t>
  
    <figure title="Encapsulation of a DetNet flow in a PW with MPLS(-TP) PSN" anchor="fig_pw_mpls">
    <artwork align="center"><![CDATA[
 RFC3985 Encapsulation                  DetNet PW Encapsulation

+---------------------+
|      Payload        |          +---------------------------------+
/=====================\          |                                 |
H Payload Convergence H--.       |           DetNet Flow           |
H---------------------H  |       |         Payload  Packet         |
H       Timing        H  +-\     |                                 |
H---------------------H  |  \    /=================================\
H     Sequencing      H--'   \-->H       DetNet Control Word       H
\=====================/          \=================================/
|  PW Demultiplexer   |--------->|            PW Label             |
+---------------------+          +---------------------------------+
|  PSN Convergence    |     .--->|      Optional MPLS S-Label      |
+---------------------+     |    +---------------------------------+
|         PSN         |-----+--->|         MPLS T-Label(s)         |
+---------------------+          +---------------------------------+
|      Data-Link      |
+---------------------+
|       Physical      |
+---------------------+
]]>
    </artwork></figure>

  <t>
   The DetNet control word (d-CW) is identical to the control word defined for
   Ethernet over MPLS networks in <xref target="RFC4448"/>. The DetNet control
   word is illustrated in <xref target="fig_detnet_cw"/>.
  </t>
    <figure title="DetNet Control Word" anchor="fig_detnet_cw">
    <artwork align="center"><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0|  reserved - set to 0  |   16 bit Sequence Number      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork></figure>
    <t>
    <list style="hanging">
	   <t hangText="Comment #19">
	   We need to think about whether "identical is the correct term.
           The Ethernet S/N skips zero (it uses zero to mean no S/N in use).
           is that the behaviour that we want?
	   </t>
	   <t hangText="Discussion:">
		   Good point. Identical is a wrong statement. The format is
		   the same the behaviour of SN is slightly different as 0 is
		   assumed to be a valid SN.
  	 </t>
     </list>
    </t>
 </section>
  
  
  <section title="Native IPv6-based data plane encapsulation" anchor="v6Solution">

   <t>
    <list style="hanging">
	   <t hangText="Comment #20">
	   SB> This part of the design needs to be marked as provisional until it has
               a more thorough WG review.
           </t>
	  <t hangText="Discussion:">
	       Ok, however, this is still an individual I-D.
	  </t>
     </list>
    <xref target="fig_native_ip"/> illustrates a DetNet native IPv6 encapsulation.  The native IPv6
    encapsulation is meant for end to end Detnet service use cases, where the end stations are
    DetNet-aware (see <xref target="fig_ip_detnet"/>). Technically it is possible to use the
    IPv6 encapsulation to tunnel any traffic over a DetNet enabled network, which would make native
    IPv6 encapsulation also a valid data plane choice for an interconnect use case (see <xref
    target="fig_8021_detnet"/>).
   </t>

  <t>
   The native IPv6-based DetNet data plane encapsulation consists of:
   <list style="symbols">
    <t>IPv6 header as the transport protocol.</t>
    <t>IPv6 header Flow Label that is used to help to identify a DetNet flow (i.e., roughly
        an equivalent to the PW Label). A Flow Label together with the IPv6 source address
        uniquely identifies a DetNet flow.</t>
    </list>
    <list style="hanging">
	   <t hangText="Comment #21">
           SB> Have we validated that it is unconditionally safe to make this 
               assumption about the use of the FL?
           </t>
	   <t hangText="Discussion:">
		   RFC6437 does not restrict such use and DetNet DP solution
		   can always define their own use of flow label. It should be noted that a
		   DetNet aware node will always contain new code and is not a load balancer.
  	 </t>
     </list>

    <list style="symbols">
     <t>DetNet Control Word IPv6 Destination Option containing sequencing information
        for packet replication and duplicate elimination function (PREF) purposes.
        The DetNet Destination Option is equivalent to the DetNet Control Word.</t>
   </list>
  </t>

  <t>
   A DetNet-aware end station (a host) or an intermediate node initiating an IPv6 packet is
   responsible for setting the Flow Label, adding the required DetNet Destination Option, and possibly
   adding a routing header such as the segment routing option (for pre-defined paths <xref
   target="I-D.ietf-6man-segment-routing-header"/>). The payload of the native IPv6
   encapsulation is any payload protocol that can be identified using the Next Header field either
   in the IPv6 packet header or in the last IPv6 extension header.
    <list style="hanging">
	   <t hangText="Comment #22">
           SB> We will probably need to agree an option ordering, and need to
           note that the 6man IPv6 solution already operates on the edge of the 
           ability of h/w to see that far into the packet.
           </t>
	   <t hangText="Discussion:">
		   RFC8200 describes extension header ordering - there is not much to agree there.
		   Agree on the hardware lookup challenges. However, the issues of SR header are
		   not this I-D to fix.
  	 </t>
	   <t hangText="Comment #23">
           SB> I am not sure the above is needed since it is by definition correct.
	   </t>
	  <t hangText="Discussion:">
	      (next header) agree.
	  </t>
     </list>
  </t>
  <t>
   A DetNet-aware end station (a host) or an intermediate node receiving an IPv6 packet destined
   to it and containing a DetNet Destination Option does the appropriate processing of the
   packet. This may involve packet duplication and elimination (PREF processing), terminating a tunnel or
   delivering the packet to the upper layers/Applications.
   </t>
   
   <figure title="Encapsulation of a native IPv6 DetNet flow" anchor="fig_native_ip">
    <artwork align="center"><![CDATA[
+---------------------------------+
|                                 |
|           DetNet Flow           |
|             Payload             |
|                                 |
/---------------------------------\
H DetNet Control Word DstOpt Hdr  H
\---------------------------------/
|          IPv6 header            |
|     (with set Flow label)       |
+---------------------------------+
]]>
    </artwork></figure>

  <t>
   A DetNet flow must carry sequencing information for packet replication and elimination
   function (PREF) purposes. This document specifies a new IPv6 Destination Option: the DetNet
   Destination Option for that purpose. The format of the option is illustrated in <xref
   target="fig_detnet_dstopt"/>.
    <list style="hanging">
	   <t hangText="Comment #24">
            SB> Can an SR node look at a DO?
	   </t>
	   <t hangText="Discussion:">
		   Yes.
  	 </t>
     </list>
  </t>

    <figure title="DetNet Destination Option" anchor="fig_detnet_dstopt">
    <artwork align="center"><![CDATA[
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     TBD1      |       4       |           Reserved            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     16 bit Sequence Number    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
    </artwork></figure>

  <t>
      The Option Type for the DetNet Destination Option is set to TBD1. [To be removed from the
      final version of the document: The Option Type MUST have the two most significant bits set to
      10b]

  </t>

  </section>
  </section>
 
  <section title="DetNet flow identification for duplicate detection">

   <t> Duplicate elimination depends on flow identification. Mapping between packet fields and Local-ID
   may impact the implementation of duplicate elimination.
    <list style="hanging">
	   <t hangText="Comment #25">
            SB> So I wonder if the right place to put the FI is in the IPv6 FI, or
            in the IPv6 address itself?
	   </t>
	   <t hangText="Discussion:">
		   Each flow having different address is challenging if we want to terminate
		   multiple flows into the same node with one address or originate multiple
		   flows from a node with one address (note, we are aware of the one /64 per node
		   discussion but cannot assume it here, at least not yet).
  	 </t>
     </list>
  </t>
   
  <section title="PseudoWire encapsulation">   
      
   <t>
    RFC3985 Section 5.2.1. describes PW sequencing provides a duplicate
    detection service among other things. This specification clarifies this
    definition as follows:
    <list style="none">
     <t>DetNet flows that need to undergo PREF processing MUST have the same PW
        Label when they arrive at the DA-*-PE node.</t>
    </list>
   </t>
   <t>From the label stack processing point of view receiving the same label
    from multiple sources is analogous to Fast Reroute backup tunnel behavior
    <xref target="RFC4090"/>. The PW Label for a DetNet flow can be different
    on each PW segment.
    <list style="hanging">
	   <t hangText="Comment #26">
            SB> I am not sure of the utility of this reference. In FRR you should not
            receive packets concurrently on two paths. It seems fine to state the
            the requirement that a single label is used for both paths.
	   </t>
	   <t hangText="Discussion:">
		   OK with the same label comment. OK to remove the FRR reference here.
  	 </t>
     </list>
   </t>
   </section>
   
   <section title="Native IPv6 encapsulation">
    <t>
        The DetNet flow identification is based on the IPv6 Flow Label and the source address
        combination. The two fields uniquelly identify the end to end native IPv6 encapsulated
        DetNet flow. Obviously, the identification fails if any intermediate node modifies
        either the source address or the Flow Label.
    <list style="hanging">
	   <t hangText="Comment #27">
	   SB> See earlier. If there are enough IPv6 addresses to address video
           fragments, why not DN flows? Then this problem goes away.
           </t>
	   <t hangText="Discussion:">
		   See the earlier comment #25 discussion. If nodes get their addressies via
		   DHCPv6 basically ruins this mechanism. Also the assumption for this to
		   work is that the node has a full /64 to use, which is not always the case.
		   Otherwise the idea is just fine.
  	 </t>
     </list>
    </t>
    <!-- LB: I think there needs to be more text on how PREF works with
         IPv6 flows. --> 

   </section>
  </section>
 </section>

  <section title="PREF specific considerations">
    <t>
      This section applies equally to DetNet flows transported via IPv6
      and MPLS.  While flow identification and some header related
      processing will differ between the two, the considerations covered
      in this section are common to both.
    </t>
    <section title="PseudoWire-based data plane">
    	<section title="Forwarder clarifications">
   	<t>
    The DetNet specific new functionality in an edge or relay node processing is the packet replication and
    duplication elimination function (PREF). This function is a part of the DetNet-aware
    "extended" forwarder. The PREF processing is triggered by the received packet of a DetNet flow. 
    </t>
    <t>
    <list style="hanging">
	   <t hangText="Comment #28">
	   SB> I am not sure what you mean by triggered here. Hopefully we
             are not thinking of dataplane triggered configuration?
           </t>
	   <t hangText="Discussion:">
		   "Initiated" is probably more appropriate wording.
  	 </t>
     </list>

    Basically the forwarding entry has to be extended with a "PREF
    enabled" boolean configuration switch that is associated with the normal forwarding actions (e.g.,
    in case of MPLS a swap, push, pop, ..). The output of the PREF elimination function is always a single packet.
    The output of the PREF replication function is always one or more packets (i.e., 1:M
    replication). The replicated packets MUST share the same DetNet control word sequence number.
   </t>
   <t>
    The complex part of the DetNet PREF processing is tracking the history of received packets for
    multiple DetNet member flows. These ingress DetNet member flows (to a node) MUST have the same local-ID if they belong to
    the same DetNet-(compound)-flow and share the same sequence number counter and the history information.
   </t>
   <t>
    The edge and relay node internal procedures of the PREF are implementation specific.  The order of a packet
    elimination or replication is out of scope in this specification. However, care should be taken
    that the replication function does not actually loopback packets as "replicas". Looped back
    packets include artificial delay when the node that originally initiated the packet receives it
    again. Also, looped back packets may make the network condition to look healthier than it
    actually is (in some cases link failures are not reflected properly because looped back packets
    make the situation appear better than it actually is). 
    <list style="hanging">
	   <t hangText="Comment #29:">
           SB> There needs to be some text about preventing a node ever receiving its
           own replicated packets. Indeed that would suggest that the flow
           id should be changed and replication should only take place on 
           configured flow IDs. I have a feeling that this would all be a lot safer if replication
           only happened at ingress and we managed the diversity of the paths.
          </t>
	  <t hangText="Discussion:">
		  Agree on hardening the loopback text considerations.
	  </t>
     </list>
   </t>
   </section>

   <section title="Edge node processing clarifications" anchor="sec_t_pe">
    <t>
     The DetNet data plane solution overloads the edge node with DetNet
     Edge Node functions. Edge nodes
     are also aware of DetNet flows and may need to operate upon those.  
	 <xref target="fig_detnet_edge"/> illustrates the overall edge device
     functions. The figure shows both physical attachment circuit (AC) (e.g.,
     Ethernet <xref target="RFC4448"/>) connecting to the edge node, and a packet
     service connecting to the edge node via an embedded router function 
	 (similarly as described e.g., in <xref target="RFC6658"/>). Whether traffic flow from a client
     AC and PSN tunnel receives DetNet specific treatment is up to a local
     configuration and policy. 
     <list style="hanging">
	     <t hangText="Comment #30:">
		     SB> Shouldn't the behaviour simply be a property of a given  PW?
	     </t>
	     <t hangText="Discussion:">
		     Agree in principle.
	     </t>
    </list>

    </t>

    <figure title="DetNet Edge Node processing" anchor="fig_detnet_edge">
    <artwork align="center"><![CDATA[
            +---------------------------------------+
            |           DetNet Edge Device          |
            +---------------------------------------+   Egress/
            |             | Forwarder |             |   Ingress
            |             |           |    Single   | member Inst.
Client PSN  |   "Packet   o <-X-----> o   Service   o<---------->
tunnels     |    NSP"     |   | Repl. |   Instance  |
<---------->o             |   | Elim. +-------------+ Duplicate
            |             |   :       |             |   Egress
            |             |   .       |    Single   | member Inst.
            |             |       +-> o   Service   o<---------->
            |             |       |   |   Instance  |
            +-------------+       |   +-------------+   Egress/
            |             |       |   |             |   Ingress
Client AC   |    NSP      | Repl. |   |    Single   | member Inst.
<---------->o             o <-----X-> o   Service   o<---------->
            |             | Elim.     |   Instance  |
            +-------------+           +-------------+   Egress/
            |             |           |             |   Ingress
Client AC   |    NSP      |           |    Single   | member Inst.
<---------->o             o <-------> o   Service   o<---------->
            |             |           |   Instance  |
            +---------------------------------------+
]]>
    </artwork></figure>

    <t>
     An edge node participates to the packet replication and duplication elimination. Required
     processing is done within an extended forwarder function. In the case the native service
     processing (NSP) is IEEE 802.1CB <xref target="IEEE8021CB"/> capable, the packet replication
     and duplicate elimination MAY entirely be done in the NSP and bypassing the DetNet flow
     encapsulation and logic entirely, and thus is able to operate over unmodified implementation
     and deployment. The NSP approach works only between edge nodes and cannot make use of relay nodes
     (see <xref target="sec_s_pe"/>).
    <list style="hanging">
	   <t hangText="Comment #31">
		   SB> This would be a fine way to operate the PW system - edge to edge.
	   </t>
	   <t hangText="Discussion:">
		   When it comes to use of NSPs, agree. Also for "island interconnect" this is
		   a fine. However, when there is a need to do PREF in a middle, plain edge to edge
		   is not enough.
  	 </t>
	</list>
    </t>
    <t>
     The DetNet-aware extended forwarder selects the egress DetNet member flow based on the DetNet forwarding rules.
	 In both "normal AC" and "Packet AC"
     cases there may be no DetNet encapsulation header available yet as it is the case with relay nodes
     (see <xref target="sec_s_pe"/>).  It is the responsibility of the extended forwarder within the
     edge node to push the DetNet specific encapsulation (if not already present) to the packet before
     forwarding it to the appropriate egress DetNet member flow instance(s).
    <list style="hanging">
	   <t hangText="Comment #32">
	   SB> I am not convinced of the wisdom of having a mid-point node convert
           a flow into a DN flow, which is what you are implying here. This seems
           like an ingress function.
           </t>
	   <t hangText="Discussion:">
               OK. The text here has issues and seems to mix relay and edge.
  	 </t>
	</list>
     </t>

     <t> The extended forwarder MAY copy the
     sequencing information from the native DetNet packet into the DetNet sequence number field and vice versa. If there is no
     existing sequencing information available in the native packet or the forwarder chose not to
     copy it from the native packet, then the extended forwarder MUST maintain a sequence number
     counter for each DetNet flow (indexed by the DetNet flow identification).
    </t>
   </section>


   <section title="Relay node processing clarifications" anchor="sec_s_pe">
    <t>
     The DetNet data plane solution overloads a relay node with DetNet
     Relay node functions. Relay node is aware of DetNet flows and may operate upon those. 
	 <xref target="fig_detnet_relay"/> illustrates the overall DetNet relay device
     functions.
    <list style="hanging">
	   <t hangText="Comment #33">
           SB> I don't think that a relay node in not a normal construct so 
           I am not sure "overload" is the right term here.
           </t>
	   <t hangText="Discussion:">
		   Agree. There is a terminology issue here.
  	 </t>
	</list>
    </t>
    <t>
     A DetNet Relay node participates to the packet replication and duplication
     elimination. This processing is done within an extended forwarder function.
     Whether an ingress DetNet member flow receives DetNet specific processing depends on how
     the forwarding is programmed.  For some DetNet member flows the relay node can act as a normal relay node
     and for some apply the DetNet specific processing (i.e., PREF).
    <list style="hanging">
	   <t hangText="Comment #34">
           SB> Again relay node is not a normal term, so am not sure what it does
            in the absence of a PREF function.
           </t>
	   <t hangText="Discussion:">
		   Relay node was a DetNet aware S-PE originally, which is not explicitly stated here anymore, thus
                   slightly confusing text here. The text here needs to clarify the roles of PREF and switching
		   functions. A DetNet relay is described in the architecture document. However, there is definitely
		   room for termonilogy and text improvements.
  	 </t>
	</list>
     </t>

     <t> It
     is also possible to
     treat the relay node as a transit node, see <xref target="Aggregation"/>.
     Again, this is
     entirely up to how the forwarding has been programmed.
    </t>
    <t>
     The DetNet-aware forwarder selects the egress DetNet member flow segment based on the flow identification.  
	 The mapping of ingress DetNet member flow segment to egress DetNet member flow segment may be
     statically or dynamically configured. Additionally the DetNet-aware
     forwarder does duplicate frame elimination based on the flow identification and
     the sequence number combination. The packet replication is
     also done within the DetNet-aware forwarder. During elimination and the
     replication process the sequence number of the DetNet member flow MUST
     be preserved and copied to the egress DetNet member flow.
    </t>

    <figure title="DetNet Relay Node processing" anchor="fig_detnet_relay">
    <artwork align="center"><![CDATA[
            +---------------------------------------+
            |          DetNet Relay Device          |
  Ingress   +---------------------------------------+
  member    |             | Forwarder |             |   Egress
  instance  |   Single    |           |   Single    | member Inst.
----------->o  Service    o --X-----> o  Service    o----------->
            |  Instance   |   | Elim. |  Instance   |
  Ingress   +-------------+   |       +-------------+ Duplicate
  member    |             |   |       |             |   Egress
  instance  |   Single    |   |       |   Single    | member Inst.
----------->o  Service    o --+   +-> o  Service    o----------->
            |  Instance   |       |   |  Instance   |
  Ingress   +-------------+       |   +-------------+
  member    |             |       |   |             |   Egress
  instance  |   Single    | Repl. |   |   Single    | member Inst.
----------->o  Service    o ------X-> o  Service    o----------->
            |  Instance   |           |  Instance   |
  Ingress   +-------------+           +-------------+
  member    |             |           |             |   Egress
  instance  |   Single    |           |   Single    | member Inst.
----------->o  Service    o --------> o  Service    o----------->
            |  Instance   |           |  Instance   |
            +---------------------------------------+
]]>
    </artwork></figure>
    <t>
    <list style="hanging">
	   <t hangText="Comment #35">
           SB> Somewhere in the dp document there needs to be a note of the 
             requirement for interfaces to do fast exchange of counter state,
             and a note to those planning the network and designing the 
             control plane that they need to provide support for this.
             </t>
         <t hangText="Discussion:">
		 We kinf of agree but also think the above exchange or synchronization of
		 counter states is not in our scope to solve.
  	 </t>
	</list>
    </t>


    </section>
   </section>
   <section title="Native IPv6-based data plane">
    <t>
     [Editor's note: this section is TBD.]
    </t>
   </section>
</section>

<section title="Other DetNet data plane considerations">
 <section title="Class of Service">
   <t>
     Class and quality of service, i.e., CoS and QoS, are terms that are
     often used interchangeably and confused.  In the context of DetNet,
     CoS is used to refer to mechanisms that provide traffic forwarding
     treatment based on aggregate group basis and QoS is used to refer
     to mechanisms that provide traffic forwarding treatment based on a
     specific DetNet flow basis.  Examples of existing network level CoS
     mechanisms include DiffServ which is enabled by IP header
     differentiated services code point (DSCP) field <xref
     target="RFC2474"/> and MPLS label traffic class field <xref
     target="RFC5462"/>, and at Layer-2, by IEEE 802.1p priority code
     point (PCP).
   </t>
   <t>
     CoS for DetNet flows carried in PWs and MPLS is provided using the
     existing MPLS Differentiated Services (DiffServ) architecture <xref
     target="RFC3270"/>.  Both E-LSP and L-LSP MPLS DiffServ modes MAY
     be used to support DetNet flows.  The Traffic Class field (formerly
     the EXP field) of an MPLS label follows the definition of <xref
     target="RFC5462"/> and <xref target="RFC3270"/>.  The Uniform,
     Pipe, and Short Pipe DiffServ tunneling and TTL processing models
     are described in <xref target="RFC3270"/> and <xref
     target="RFC3443"/> and MAY be used for MPLS LSPs supporting DetNet
     flows. MPLS ECN MAY also be used as defined in ECN <xref
     target="RFC5129"/> and updated by <xref target="RFC5462"/>.
  </t>
  <t>
     CoS for DetNet flows carried in IPv6 is provided using the standard
     differentiated services code point (DSCP) field <xref
     target="RFC2474"/> and related mechanisms.  The 2-bit explicit
     congestion notification (ECN) <xref target="RFC3168"/> field MAY
     also be used.
  </t>
  <t>
    One additional consideration for DetNet nodes which support CoS
    services is that they MUST ensure that the CoS service classes do
    not impact the congestion protection and latency control mechanisms
    used to provide DetNet QoS.  This requirement is similar to
    requirement for MPLS LSRs to that CoS LSPs do not impact the
    resources allocated to TE LSPs via <xref target="RFC3473"/>.
  </t>
 </section>

 <section title="Quality of Service">
    <t>
     Quality of Service (QoS) mechanisms for flow specific traffic treatment
     typically includes a guarantee/agreement for the service, and allocation of
     resources to support the service.  Example QoS mechanisms include discrete
     resource allocation, admission control, flow identification and isolation,
     and sometimes path control, traffic protection, shaping, policing and
     remarking. Example protocols that support QoS control include <xref
     target="RFC2205">Resource ReSerVation Protocol (RSVP)</xref> (RSVP) and
     RSVP-TE <xref target="RFC3209"/> and <xref target="RFC3473"/>.  The
     existing MPLS mechanisms defined to support CoS <xref
     target="RFC3270"/> can also be used to reserve resources for
     specific traffic classes. 
    </t>
    <t>
      In addition to path pinning and packet replication and
      elimination, described in <xref target="dn-dt-solution"/> above,
      DetNet provides zero congestion loss and bounded latency and
      jitter.
    <list style="hanging">
	   <t hangText="Comment #36">
            SB> I just searched from the beginning of the document and this was the 
             the first reference I found to pinning.
            </t>
	    <t hangText="Discussion:">
		    Terminology isssue. Should use, for example, explicit paths which is
		    used in the architecture I-D.

  	 </t>
	</list>
      </t>

      <t>As described in <xref
      target="I-D.ietf-detnet-architecture"/>, there are different
      mechanisms that maybe used separately or in combination to deliver
      a zero congestion loss service.  These mechanisms are provided by
      the either the MPLS or IP layers, and may be combined with the
      mechanisms defined by the underlying network layer such as
      802.1TSN.
    </t>
   <t>
     A baseline set of QoS capabilities for DetNet flows carried in PWs
     and MPLS can provided by MPLS with Traffic Engineering (MPLS-TE)
     <xref target="RFC3209"/> and <xref target="RFC3473"/>.  TE LSPs can
     also support explicit routes (path pinning).  Current service
     definitions for packet TE LSPs can be found in "Specification of
     the Controlled Load Quality of Service", <xref target="RFC2211"/>,
     "Specification of Guaranteed Quality of Service", <xref
     target="RFC2212"/>, and "Ethernet Traffic Parameters", <xref
     target="RFC6003"/>. Additional service definitions are expected in
     future documents to support the full range of DetNet services.
     In all cases, the existing label-based marking mechanisms defined
     for TE-LSPs and even E-LSPs are use to support the identification
     of flows requiring DetNet QoS.
   </t>
   <t>
     QoS for DetNet flows carried in IPv6 MUST be provided locally by
     the DetNet-aware hosts and routers supporting DetNet flows.  Such
     support will leverage the underlying network layer such as
     802.1TSN.  The traffic control mechanisms used to deliver QoS for
     IP encapsulated DetNet flows are expected to be defined in a future
     document.  From an encapsulation perspective, and as defined in
     <xref target="v6Solution"/>, the combination of the Flow Label
     together with the IP source address uniquely identifies a DetNet
     flow.
   </t>
   <t>
   Packets that are marked with a DetNet Class of Service value, but that have not been
   the subject of a completed reservation, can disrupt the QoS offered to properly
   reserved DetNet flows by using resources allocated to the reserved flows.  Therefore,
   the network nodes of a DetNet network SHOULD:
    <list style="hanging">
	   <t hangText="Comment #37">
		   SB> Why not MUST?
	   </t>
	   <t hangText="Discussion:">
		   OK with MUST.
  	 </t>
	</list>
  </t><t>
    <list style="symbols">
      <t>
          Defend the DetNet QoS by discarding or remarking (to a non-DetNet CoS)
          packets received that are not the subject of a completed reservation.
      </t><t>
          Not use a DetNet reserved resource, e.g. a queue or shaper reserved for
          DetNet flows, for any packet that does not carry a DetNet Class of Service
          marker.
      </t>
    </list>
  </t>
 </section>

 <section title="Cross-DetNet flow resource aggregation" anchor="Aggregation">
   <t>
     The ability to aggregate individual flows, and their associated
     resource control, into a larger aggregate is an important technique
     for improving scaling of control in the data, management and
     control planes.  This document identifies the traffic identification
     related aspects of aggregation of DetNet flows.  The resource
     control and management aspects of aggregation (including the
     queuing/shaping/policing implications) will be covered in other
     documents.  The data plane implications of aggregation are
     independent for PW/MPLS and IP encapsulated DetNet flows.
   </t>
   <t>
     DetNet flows transported via MPLS can leverage MPLS-TE's existing
     support for hierarchical LSPs (H-LSPs), see <xref
     target="RFC4206"/>.  H-LSPs are typically used to aggregate control
     and resources, they may also be used to provide OAM or protection
     for the aggregated LSPs.  Arbitrary levels of aggregation naturally
     falls out of the definition for hierarchy and the MPLS label stack
     <xref target="RFC3032"/>.  DetNet nodes which support aggregation
     (LSP hierarchy) map one or more LSPs (labels) into and from an
     H-LSP.  Both carried LSPs and H-LSPs may or may not use the TC
     field, i.e., L-LSPs or E-LSPs.  Such nodes will need to ensure that
     traffic from aggregated LSPs are placed (shaped/policed/enqueued)
     onto the H-LSPs in a fashion that ensures the required DetNet
     service is preserved.
   </t>
   <t>
     DetNet flows transported via IP have more limited aggregation
     options, due to the available traffic flow identification fields of
     the IP solution.  One available approach is to manage the resources
     associated with a DSCP identified traffic class and to map (remark)
     individually controlled DetNet flows onto that traffic class.  This
     approach also requires that nodes support aggregation ensure that
     traffic from aggregated LSPs are placed (shaped/policed/enqueued)
     in a fashion that ensures the required DetNet service is preserved.
    <list style="hanging">
	   <t hangText="Comment #38">
	   SB> I am sure we can do better than this with SR, or the use of
            routing techniques that map certain addresses to certain paths.
           </t>
	   <t hangText="Discussion:">
		   --
  	 </t>
	</list>
   </t>
   <t>
     In both the MPLS and IP cases, additional details of the traffic control
     capabilities needed at a DetNet-aware node may be covered in the
     new service descriptions mentioned above or in separate future
     documents.  Management and control plane mechanisms will also need
     to ensure that the service required on the aggregate flow (H-LSP or
     DSCP) are provided, which may include the  discarding or remarking
     mentioned in the previous sections.
   </t>
 </section>

 <section title="Bidirectional traffic">
  <t>
    Some DetNet applications generate bidirectional traffic.  Using MPLS
    definitions <xref target="RFC5654"/> there are associated bidirectional flows, and co-routed bidirectional flows.
    MPLS defines a point-to-point associated bidirectional LSP as
    consisting of two unidirectional point-to-point LSPs, one from A to
    B and the other from B to A, which are regarded as providing
    a single logical bidirectional transport path.  This would be
    analogous of standard IP routing, or PWs running over two reciprocal
    unidirection LSPs.  MPLS defines a point-to-point co-routed
    bidirectional LSP as an associated bidirectional LSP which satisfies
    the additional constraint that its two unidirectional component
    LSPs follow the same path (in terms of both nodes
    and links) in both directions.  An important property of co-routed bidirectional LSPs
    is that their unidirectional component LSPs share fate.  In both
    types of bidirectional LSPs, resource allocations may differ in each
    direction.  The concepts of associated bidirectional flows  and
    co-routed bidirectional flows can be applied to DetNet flows as well
    whether IPv6 or MPLS is used.
  </t>
  <t>
    While the IPv6 and MPLS data planes must support bidirectional DetNet flows, there
    are no special bidirectional features with respect to the data plane
    other than need for the two directions take the same paths.
    Fate sharing and associated vs co-routed bidirectional flows can be
    managed at the control level.
    Note,
    that there is no stated requirement for bidirectional DetNet flows
    to be supported using the same IPv6 Flow Labels or MPLS Labels in each direction.
    Control mechanisms will need to support such bidirectional flows for
    both IPv6 and MPLS, but such mechanisms are out of scope of this
    document.  An example control plane solution for MPLS can be found
    in <xref target="RFC7551"/>.
  </t>
 </section>

 <!-- section title="Packet replication and elimination function">
     <t>
         [editor's note: collect details of the PREF here. Potential topics to discuss relate to
         constraints to input packets and what the expected output is. Some examples include: the
         input packets must have the same PW Label (in a case of PWs) to enable the PREF, no
         loopback for replicated packets, input and output PW labels do not need to be the same.
         Also, add text regarding native IPv6 encapsulation. There the PW label is replaced with
         source address + flow label combination, and the Control Word is replaced with the DetNet
         Destination Option.. etc]
     </t>
 </section-->

 <section title="Layer 2 addressing and QoS Considerations">
    <t>
        The Time-Sensitive Networking (TSN) Task Group of the IEEE 802.1 Working Group have
        defined (and are defining) a number of amendments to <xref target="IEEE8021Q">IEEE 802.1Q</xref>
        that provide zero congestion loss and bounded latency in bridged networks.
        <xref target="IEEE8021CB">IEEE 802.1CB</xref> defines packet replication and elimination
        functions that should prove both compatible with and useful to, DetNet networks.
    </t><t>
        As is the case for DetNet, a Layer 2 network node such as a bridge may need to
        identify the specific DetNet flow to which a packet belongs in order to provide the
        TSN/DetNet QoS for that packet.  It also will likely need a CoS marking, such as the
        priority field of an IEEE Std 802.1Q VLAN tag, to give the packet proper service.
    </t><t>
        Although the flow identification methods described in <xref target="IEEE8021CB">IEEE 802.1CB</xref>
        are flexible, and in fact, include IP 5-tuple identification methods, the baseline
        TSN standards assume that every Ethernet frame belonging to a TSN stream
        (i.e. DetNet flow) carries a multicast destination MAC address that is unique to that
        flow within the bridged network over which it is carried.  Furthermore,
        <xref target="IEEE8021CB">IEEE 802.1CB</xref> describes three methods by which a packet
        sequence number can be encoded in an Ethernet frame.
    </t><t>
        Ensuring that the proper Ethernet VLAN tag priority and destination MAC address
        are used on a DetNet/TSN packet may require further clarification of the customary
        L2/L3 transformations carried out by routers and edge label switches.  Edge nodes
        may also have to move sequence number fields among Layer 2, PW, and IPv6 encapsulations.
    </t>
 </section>
 <section title="Interworking between PW- and IPv6-based encapsulations" anchor="interwreck">
  <t>
   [Editor's note: add considerations for interworking between PW-based and native IPv6-based
   DetNet encapsuations.]
  </t>
 </section>



</section>

<!-- ===================================================================== -->
 <section title="Time synchronization">
  <t>
    <list style="hanging">
	   <t hangText="Comment #39">
	   SB> This section should point the reader to RFC8169 (residence time
            in MPLS n/w. We need to consider if we need to introduce the same
            concept in IP.
           </t>
	   <t hangText="Discussion:">
		   agree.
  	 </t>
	</list>
   [Editor's note: describe a bit of issues and deployment considerations
   related to time-synchronization within DetNet. Refer to DT discussion and the
   slides that summarize different approaches and rough synchronization
   performance numbers.  Finally, scope time-synchronization solution outside
   data plane.]
  </t>


  <t>When DetNet is used, there is an underlying assumption that the
  applicaton(s) require clock synchronization such as the Precision Time Protocol
  (PTP) [IEEE1588]. The relay nodes may or may not utilize clock synchronization
  in order to provide zero congestion loss and controlled latency delivery.  In either case, there are a
  few possible approaches of
  how synchronization protocol packets are forwarded and handled by the
  network:</t>

  <t><list style="symbols">
      
    <t>
    PTP packets can be sent either as DetNet flows or as high-priority
    best effort packets.  Using DetNet for PTP packets requires careful
    consideration to prevent unwanted interactions between clock-synchronized
    network nodes and the packets that synchronize the clocks.
    </t>
    <t>PTP packets are sent as a normal DetNet flow through network nodes
    that are not time-synchronized: in this approach PTP
    traffic is forwarded as a DetNet flow, and as such it is forwarded in a
    way that allows a low delay variation. However, since intermediate nodes
    do not take part in the synchronization protocol, this approach provides
    a relatively low degree of accuracy.</t>

    <t>PTP with on-path support: in this approach PTP packets are sent as
    ordinary or as DetNet flows, and intermediate nodes take part in the protocol as
    Transparent Clocks or Boundary Clocks [IEEE1588]. The on-path PTP
    support by intermediate nodes provides a higher degree of accuracy than
    the previous approach. The actual accuracy depends on whether all
    intermediate nodes are PTP-capable, or only a subset of them.</t>
  
    <t>Time-as-a-service: in this approach accurate time is provided
    as-a-service to the DetNet source and destination, as well as the
    intermediate nodes. Since traffic between the source and destination is
    sent over a provider network, if the provider supports
    time-as-a-service, then accurate time can be provided to both the source
    and the destination of DetNet traffic. This approach can potentially
    provide the highest degree of accuracy.</t>

  </list></t>

  <t>It is expected that the latter approach will be the most common one,
  as it provides the highest degree of accuracy, and creates a layer
  separation between the DetNet data and the synchronization service.</t>

  <t>It should be noted that in all four approaches it is not recommended
  to use replication and elimination for synchronization packets; the
  replication/elimination approach may in some cases reduce the
  synchronization accuracy, since the observed path delay will be
  bivalent.
    <list style="hanging">
	   <t hangText="Comment #40">
           SB> I am not sure why we sould not use PREP. We should explain to the 
            reader.
           </t>
	   <t hangText="Discussion:">
		   Agree that a this can be opened a bit more in detail. The
		   issue is explained briefly in the last sentence but it
		   could be more clear.
  	 </t>
	</list>

  </t>

 </section>
<!-- ===================================================================== -->

<section title="Management and control considerations">
  <t>
    While management plane and control planes are traditionally
    considered separately, from the Data Plane perspective there is no
    practical difference based on the origin of flow provisioning
    information.  This document therefore does not distinguish between
    information provided by a control plane protocol, e.g., RSVP-TE <xref
    target="RFC3209"/> and <xref target="RFC3473"/>, or by a network
    management mechanisms, e.g., RestConf <xref target="RFC8040"/> and
    YANG <xref target="RFC7950"/>. 
 </t>
  <t>
   [Editor's note: This section is a work in progress.
   discuss here what kind of enhancements are needed for DetNet
   and specifically for PREF and DetNet zero congest loss and latency
   control. Need to cover both traffic control (queuing) and connection
   control (control plane).]
 </t>
 
 <section title="PW Label and IPv6 Flow Label assignment and distribution">
  <t>
   The PW label distribution follows the same mechanisms specified for MS-PW <xref
   target="RFC6073"/>. The details of the control plane protocol solution required for the label
   distribution and the management of the label number space are out of scope of this document. 
  </t>
  <t>
   The IPv6 Flow Label distribution and the label number space are out of scope of this document.
   However, it should be noted that the combination of the IPv6 source address and the IPv6 Flow
   Label is assumed to be unique within the DetNet-enabled network. Therefore, as long as each node
   is able to assign unique Flow Labels for the source address(es) it is using the DetNet-enabled
   network wide flow identification uniqueness is guaranteed. 
  </t>
 </section>
 <section title="Packet replication and elimination">
     <t>
         The control plane protocol solution required for managing the PREF processing
         is outside the scope of this document.
     </t>
 </section>
 <section title="Explicit paths">
     <t>
         [TBD: based on MPLS TE and SR.]
     </t>
 </section>
 <section title="Congestion protection and latency control">
     <t>
         [TBD]
     </t>
 </section>
 <section title="Flow aggregation control">
     <t>
         [TBD]
     </t>
 </section>
</section>


<!-- ===================================================================== -->


<section title="Security considerations">
  <t>
   The security considerations of DetNet in general are discussed in
   <xref target="I-D.ietf-detnet-architecture"/>
   and <xref target="I-D.sdt-detnet-security"/>. Other security
   considerations will be added in a future version of
   this draft.
  </t>
</section>


<section anchor="iana" title="IANA considerations">
  <t>TBD.
  </t>
</section>

<section anchor="acks" title="Acknowledgements">
  <t>The author(s) ACK and NACK.
  </t>
  <t> The following people were part of the DetNet Data Plane Solution Design Team:
  <list style="bullets">
   <t>Jouni Korhonen</t>
   <t>J&aacute;nos Farkas</t>
   <t>Norman Finn</t>
   <t>Bal&aacute;zs Varga</t>
   <t>Loa Andersson</t>
   <t>Tal Mizrahi</t>
   <t>David Mozes</t>
   <t>Yuanlong Jiang</t>
   <t>Carlos J. Bernardos</t>
  </list></t>
  <t>
   The DetNet chairs serving during the DetNet Data Plane Solution Design Team:
   <list style="bullets">
    <t>Lou Berger</t>
    <t>Pat Thaler</t>
   </list></t>
</section>
</middle>

<back>
  <references title="Normative references">
   &rfc2119;
   <?rfc include="reference.RFC.2211"?>
   <?rfc include="reference.RFC.2212"?>
   <?rfc include="reference.RFC.2474"?>
   <?rfc include="reference.RFC.3168"?>
   <?rfc include="reference.RFC.3032"?>
   <?rfc include="reference.RFC.3209"?>
   <?rfc include="reference.RFC.3270"?>
   <?rfc include="reference.RFC.3443"?>
   <?rfc include="reference.RFC.3473"?>
   <?rfc include="reference.RFC.4206"?>
   &rfc4448;
   <?rfc include="reference.RFC.5129"?>
   <?rfc include="reference.RFC.5462"?>
   <?rfc include="reference.RFC.6003"?>
   &rfc6073;
   &rfc6658;
  </references>
  <references title="Informative references">
   <?rfc include="reference.RFC.2205"?>
   &rfc3985;
   &rfc4090;   
   &rfc5036;
   <?rfc include="reference.RFC.5654"?>
   <?rfc include="reference.RFC.7551"?>
   <?rfc include="reference.RFC.7950"?>
   <?rfc include="reference.RFC.8040"?>
   &I-D.ietf-detnet-dp-alt;
   &I-D.ietf-detnet-architecture;
   &I-D.ietf-6man-segment-routing-header;

   <reference anchor='I-D.sdt-detnet-security'>
    <front>
     <title>Deterministic Networking (DetNet) Security Considerations,
		draft-sdt-detnet-security, work in progress
     </title>
     <author>
      <organization>Mizrahi, T., Grossman, E., Hacker, A., Das, S.</organization>
     </author>
     <date year='2017' />
    </front>
   </reference>

   <reference anchor='IEEE1588'>
    <front>
     <title>IEEE 1588 Standard for a Precision Clock Synchronization
     Protocol for Networked Measurement and Control Systems Version 2
     </title>
     <author>
      <organization>IEEE</organization>
     </author>
     <date year='2008' />
    </front>
   </reference>

   <reference anchor="IEEE8021Q"
     target="http://standards.ieee.org/about/get/">
    <front>
     <title>Standard for Local and metropolitan area networks--Bridges and Bridged Networks (IEEE Std 802.1Q-2014)</title>
     <author>
      <organization>IEEE 802.1</organization>
     </author>
     <date year="2014"/>
    </front>
    <format type="PDF" target="http://standards.ieee.org/about/get/"/>
   </reference>

   <reference anchor="IEEE8021CB"
    target="http://www.ieee802.org/1/files/private/cb-drafts/d2/802-1CB-d2-1.pdf">
    <front>
        <title>Draft Standard for Local and metropolitan area networks - Seamless Redundancy</title>
        <author initials="N. F." surname="Finn" fullname="Norman Finn">
            <organization>IEEE 802.1</organization>
        </author>
        <date month="December" year="2015"/>
    </front>
    <seriesInfo name="IEEE P802.1CB /D2.1" value="P802.1CB"/>
    <format type="PDF" target="http://www.ieee802.org/1/files/private/cb-drafts/d2/802-1CB-d2-1.pdf"/>
   </reference>

  </references>
 <section title="Example of DetNet data plane operation" anchor="sec_comb">
  <t>
   [Editor's note: Add a simplified example of DetNet data plane and how labels etc
   work in the case of MPLS-based PSN and utilizing PREF. The figure is subject
   to change depending on the further DT decisions on the label handling..]
  </t>
 </section>

 <section title="Example of pinned paths using IPv6">
  <t>
   TBD.
  </t>
 </section>

 </back>
</rfc>
