<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.17 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC6437 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6437.xml">
<!ENTITY RFC8321 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8321.xml">
<!ENTITY RFC8200 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
<!ENTITY RFC8085 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8085.xml">
<!ENTITY I-D.song-ippm-postcard-based-telemetry SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.song-ippm-postcard-based-telemetry.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-filsfils-6man-structured-flow-label-00" category="std" updates="6437">

  <front>
    <title abbrev="Structured Flow Label">Structured Flow Label</title>

    <author initials="C." surname="Filsfils" fullname="Clarence Filsfils" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Belgium</country>
        </postal>
        <email>cf@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Abdelsalam" fullname="Ahmed Abdelsalam" role="editor">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Italy</country>
        </postal>
        <email>ahabdels@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Zadok" fullname="Shay Zadok">
      <organization>Broadcom</organization>
      <address>
        <postal>
          <street></street>
          <country>Israel</country>
        </postal>
        <email>shay.zadok@broadcom.com</email>
      </address>
    </author>
    <author initials="X." surname="Xu" fullname="Xiaohu Xu">
      <organization>Capitalonline</organization>
      <address>
        <postal>
          <street></street>
          <country>China</country>
        </postal>
        <email>Xiaohu.xu@capitalonline.net</email>
      </address>
    </author>
    <author initials="W." surname="Cheng" fullname="Weiqiang Cheng">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street></street>
          <country>China</country>
        </postal>
        <email>chengweiqiang@chinamobile.com</email>
      </address>
    </author>
    <author initials="D." surname="Voyer" fullname="Daniel Voyer">
      <organization>Bell Canada</organization>
      <address>
        <postal>
          <street></street>
          <country>Canada</country>
        </postal>
        <email>daniel.voyer@bell.ca</email>
      </address>
    </author>
    <author initials="P." surname="Camarillo" fullname="Pablo Camarillo Garvia">
      <organization>Cisco Systems, Inc.</organization>
      <address>
        <postal>
          <street></street>
          <country>Spain</country>
        </postal>
        <email>pcamaril@cisco.com</email>
      </address>
    </author>

    <date year="2021" month="March" day="16"/>

    <area>General</area>
    <workgroup>6man</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines the IPv6 Structured Flow Label. The seamless nature of the change to <xref target="RFC6437"/> is demonstrated. Benefits of the solution are explained. Use-cases are illustrated.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">
<t>The IPv6 header <xref target="RFC8200"/> contains a 20-bit field called "Flow Label" (FL) where the left-most bit is number 19 and the right-most bit is number0.</t>

<figure><artwork><![CDATA[
                   1                   0
 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|             Flow Label                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        Figure 1: IPv6 Flow Label 
]]></artwork></figure>

<t>The FL usage is specified in <xref target="RFC6437"/>, briefly for entropy purpose.</t>

<t>Instead of using FL as a single 20-bit entropy structure, this document updates <xref target="RFC6437"/> and defines the 20-bit FL field as a structure of two fields:</t>

<t><list style="symbols">
  <t>FLC: 4-bit per-packet control bits for generic application marking (e.g., group-based policy)</t>
  <t>FLE: 16-bit per-flow entropy (equivalent to <xref target="RFC6437"/> definition)</t>
</list></t>

<t>This document shows that updating <xref target="RFC6437"/> is a seamless migration operation, simply because a majority of chipsets deployed in the Internet and private domains do not use FL as documented in <xref target="RFC6437"/>: they use a subset of the 20 bits of the FL as entropy, i.e. as documented in this document.</t>

<t>This document further shows that even if a chipset were to use the full FL as a 20-bit entropy input for ECMP hash, then the change proposed in this document would not cause any significant backward incompatibility.</t>

<t>The seamless nature of the change being explained, the document then explains the benefits of the Structured Flow Label definition. Three use-cases are provided. Several more are expected in the future in separate documents.</t>

</section>
<section anchor="structured-flow-label-format" title="Structured Flow Label Format">

<t>We define the Structured Flow Label as shown in Figure 2</t>

<figure><artwork><![CDATA[
                   1                   0
 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  FLC  |           FLE                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  Figure 2: Structured Flow Label Format
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>FLC: 4-bit <spanx style="verb">[19, 16]</spanx>: per-packet Control not included in ECMP hash</t>
  <t>FLE: 16-bit <spanx style="verb">[15, 0]</spanx>: per-flow Entropy included in ECMP hash</t>
</list></t>

<t>FLE is defined as per <xref target="RFC6437"/>: i.e. <xref target="RFC6437"/> is strictly preserved, the only change is that it defines the usage of the 16 low-order bits <spanx style="verb">[15, 0]</spanx> instead of the full 20-bit of the Flow Label.</t>

<t>FLC is defined as follows: the 4-bit FLC field in the IPv6 header is used by the network for group-based policy marking. The value of the FLC bits in a received packet or fragment might be different from the value sent by the packet's source. FLC is not included in the ECMP hash computation. The definition of FLC is modeled on the definition of the "Traffic Class" <xref target="RFC8200"/>.</t>

<t>In the same way that "Traffic Class" is not an input for ECMP hash, FLC is not an input for ECMP hash.</t>

</section>
<section anchor="recommended-design" title="Recommended Design">
<t>This section provides design recommendation of how customer packets are being forwarded within an operator network.</t>

<t>All customer packets are typically encapsulated at the edge of the operator network as illustrated in Figure 3.</t>

<figure><artwork><![CDATA[
            +------------------------------------------+
            |              Operator IPv6 network       |
            |                                          |
+---+     +-+--+         +------+       +-----+      +-+--+     +---+
| A |<>-<>| R1 |<>-----<>|  R2  |<>---<>|  R3 |<>--<>| R4 |<>-<>| Z |
+---+     +-+--+         +------+       +-----+      +-+--+     +---+
            | +--------+    +--------+    +--------+   |
            | | IP6(R1,|    | IP6(R1,|    | IP6(R1,|   |
            | |     R4,|    |     R4,|    |     R4,|   |
            | |     FL)|    |     FL)|    |     FL)|   |
+--------+  | +--------+    +--------+    +--------+   |  +--------+
|Pkt(A,Z)|  | |Pkt(A,Z)|    |Pkt(A,Z)|    |Pkt(A,Z)|   |  |Pkt(A,Z)|
+--------+  | +--------+    +--------+    +--------+   |  +--------+
            |                                          | 
            +------------------------------------------+

      Figure 3: Packet forwarding within operator IPv6 network 
]]></artwork></figure>

<t>When a customer packet is received at the edge router (R1) of operator IPv6 network, the packet is encapsulated using an outer IPv6 header. The outer IPv6 header defines the source edge router that encapsulates the packet (R1) and the destination edge router (R4) which has to decapsulate the packet before being forwarded towards its final destination.</t>

<t>R1 also sets the Flow Label (FL) of the outer IPv6 header which is computed based on the hash of the customer packet. Every subsequent router (R2 and R3) within the operator network forwards the packet based on the information of the outer IPv6 header.</t>

<t>For example, ECMP hash calculation on routers R2 and R3 is performed using the outer IPv6 header information (R1, R4, FL).</t>

</section>
<section anchor="seamless-migration-from-rfc6437" title="Seamless Migration from RFC6437">

<t>Cisco and Broadcom report that the norm for their products:</t>

<t><list style="symbols">
  <t>do not set entropy in the 4 most-specific bits of the FL field</t>
  <t>do not use the 4 most-specific bits of the FL as input for ECMP hash</t>
</list></t>

<t>The authors believe that the same is likely for other vendors and are gathering data for future versions of this document.</t>

<t>Even if a chipset were to use the 4 most-specific bits of the FL field as input for ECMP hash while the 4-most specific bits of the FL field were used by other nodes in the network as FLC semantics (hence, per-packet marking, potentially not per-flow constant), still the impact would not be significant. Let us take an example to illustrate this.</t>

<t>Let us assume that:</t>

<t><list style="symbols">
  <t>Flow Z is to be routed across an operator network.</t>
  <t>Using the Structured FL format, all the packets of Z have an FLE value of 1010 1111 0100 0101.</t>
  <t>The operator leverages the FLC to mark the packets of Z into two subsets S1 and S2.</t>
  <t>S1 has FLC value of 0000.</t>
  <t>S2 has FLC value of 0010.</t>
</list></t>

<t>We can have the following two scenarios:</t>

<t><spanx style="strong">Scenario-1: Routers compliant to this document</spanx></t>

<t>These routers will only use FLE for ECMP decision and hence all packets of flow F will be routed on the same path.</t>

<t><spanx style="strong">Scenario-2: Routers implementing RFC6437</spanx></t>

<t>These routers will use the full 20-bit (FLC+FLE) for ECMP decision. This could (but not always) lead to having S1 packets taking a different path from the ones of S2.</t>

<t>However, the scenario-2 is unlikely as per the chipset implementation reported in this doc.</t>

</section>
<section anchor="benefits" title="Benefits">

<t><list style="symbols">
  <t>Seamless migration from RFC6437</t>
  <t>FLE of 16 bits is excellent to drive ECMP hash. <xref target="RFC8085"/> stated that 14 bits are sufficient <xref target="sec-entropy-bits"/></t>
  <t>FLC of 4 bits provides up to 200 to 400% improvement packet marking capability for operator controlled use-cases
  <list style="symbols">
      <t>Without FLC, operators can only mark 6 bits of the IPv6 header (Traffic Class)</t>
      <t>Many deployments consume 4 to 5 of these bits, leaving only 1 or 2 available</t>
      <t>4 new bits is a significant richness offered to operators to mark packets</t>
    </list></t>
  <t>Several use-cases will illustrate the usage of these FLC bits:
  <list style="symbols">
      <t>IPv6 End-to-End absolute loss measurement</t>
      <t>Programmed sampling of packets</t>
      <t>Postcard-based Telemetry using packet Marking (PBT-M)</t>
    </list></t>
</list></t>

</section>
<section anchor="sec-pm-end-to-end" title="IPv6 End-to-End Absolute Loss Measurements">

<t>This section describes the usage of FLC bits to enable packet loss measurements <xref target="RFC8321"/> for IPv6 networks. We re-use the same reference topology from RFC8321 for our illustration (Figure 4).</t>

<figure><artwork><![CDATA[
    +-------+        +------+        +-------+        +-------+
--<>|   R1  |<>----<>|  R2  |<>----<>|   R3  |<>----<>|   R4  |<>---
    +-------+        +------+        +-------+        +-------+
            .                                         .
            .             End-to-End Loss             .
            <----------------------------------------->

            Figure 4: End-to-End Absolute Loss Measurement
]]></artwork></figure>

<t>In order for an operator to enable End-to-End packet loss measurements between routers R1 and R4 for a given flow:</t>

<t><list style="symbols">
  <t>The operator allocates one bit (C-bit) out of the FLC field to be used for packet coloring.</t>
  <t>The operator configures R1 to use the C-bit to color packets of the flow of interest.</t>
  <t>The operator configures R1 and R4 to match the C-bit and perform packet counting.</t>
  <t>The operator configures R4 to clear the C-bit before forwarding the packet.</t>
  <t>An SDN controller is used to collect the counters from R1 and R4 to perform End-to-End packet loss measurements.</t>
</list></t>

<t>The flow selection, flow identification, counters update, counters collection and counters correlation considerations are out of the scope of this doc. They can be realized using the techniques described in <xref target="RFC8321"/>.</t>

</section>
<section anchor="programmed-sampling-of-packets" title="Programmed Sampling of packets">

<t>An operator can detect End-to-End packet loss by deploying the solution described in <xref target="sec-pm-end-to-end"/>}.</t>

<t>In some cases, the operator needs to identify the node(s) or the link(s) where the packet loss happens. In order to so, the operator would need to collect packet loss measurement from each hop on the packet path. Figure 4 shows the combination of End-to-End and per-hop measurements.</t>

<t>An operator can detect End-to-End packet loss by deploying the solution described in <xref target="sec-pm-end-to-end"/>}.</t>

<t>In some cases, the operator needs to identify the node(s) or the link(s) where the packet loss happens. In order to so, the operator would need to collect packet loss measurement from each hop on the packet path. Figure 5 shows the combination of End-to-End and per-hop measurements.</t>

<figure><artwork><![CDATA[
    +------+        +-------+        +-------+         +-------+
--<>|  R1  |<>----<>|   R2  |<>----<>|   R3  |<>-----<>|   R4  |<>---
    +------+        +-------+        +-------+         +-------+
           .        .       .                .         .       
           .        .       .                .         .       
           .        <------->                <--------->       
           .        Node Loss                 Link Loss     
           .                                           .
           .               End-to-End Loss             .
           <------------------------------------------->

           Figure 5: End-to-End and Per-Hop Loss Measurements 

]]></artwork></figure>

<t>If the operator detects End-to-End packet loss, it will do the following:</t>

<t><list style="symbols">
  <t>The operator allocates another bit (H-bit) out of the FLC field to trigger per-hop measurements.</t>
  <t>The operator configures R1 to enable H-bit for sample of the flow that experience End-to-End packet loss.</t>
  <t>The operator configures each router on the packet path (R2 and R3 in Figure 5) to match the H-bit and perform packet counting</t>
  <t>An SDN controller is used to collect the counters, perform End-to-End and per-hop loss measurements, and identify the node(s) or link(s) where the packet loss happens.</t>
</list></t>

<t>The SDN controller aspects, flow sampling, flow selection, flow identification, counters update, counters collection and counters correlation considerations are out of the scope of this doc. Some of these considerations can be realized using the techniques described in <xref target="RFC8321"/>.</t>

</section>
<section anchor="postcard-based-telemetry-using-packet-marking-pbt-m" title="Postcard-based Telemetry using packet Marking (PBT-M)">

<t>This section describes the usage of FLC bits to enable packet marking for PBT-M <xref target="I-D.song-ippm-postcard-based-telemetry"/>.</t>

<t>PBT-M enables each router along the packet path exports its telemetry data to the telemetry collector in the form of postcards as illustrated in Figure 6. In PBT-M a single bit is needed to mark the packet which then matched by each node to trigger telemetry export from intermediate routers.</t>

<figure><artwork><![CDATA[
                   +-----------------------+        
     +------------>|   Telemetry Collector |<--------------+
     |             +-----------------------+               |
     |                 ^                 ^                 |
     | Postcard        | Postcard        | Postcard        | Postcard
     |                 |                 |                 |       
    +------+        +------+         +------+         +------+
--<>|  R1  |<>----<>|  R2  |<>-----<>|  R3  |<>-----<>|  R4  |<>---
    +------+        +------+         +------+         +------+
               
    Figure 6: Postcard-Based Telemetry using packet Marking (PBT-M)
]]></artwork></figure>

<t>An operator that wants to deploy PBT-M, can do the following:</t>

<t><list style="symbols">
  <t>Allocates one bit (T-bit) out of the FLC field to be used for PBT packet marking.</t>
  <t>Configures R1 to enable T-bit for sample of the flow of interest</t>
  <t>Configures each router to match the T-bit and perform packet counting and send a postcard with its telemetry data to the Telemetry collector.</t>
  <t>An SDN controller is used to the collected postcards and analyze them.</t>
</list></t>

<t>The SDN controller aspects, flow sampling, flow selection, flow identification, postcard generation, postcard collection and postcard correlation and postcard processing considerations are out of the scope of this doc. Some of these considerations are defined in <xref target="I-D.song-ippm-postcard-based-telemetry"/>.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>TBD</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC6437;


    </references>

    <references title='Informative References'>

&RFC8321;
&RFC8200;
&RFC8085;
&I-D.song-ippm-postcard-based-telemetry;


    </references>


<section anchor="sec-entropy-bits" title="Entropy">
<t>Section 5.1.1 of <xref target="RFC8085"/> discusses the usage of UDP for Source Port Entropy and states that 14 bits of Entropy are sufficient for most ECMP applications:</t>

<t><list style="symbols">
  <t>In IPv6 UDP tunnel, the BCP suggests the usage of UDP source port for ECMP hash calculation.</t>
  <t>A sending tunnel endpoint selects a source port value in the UDP header that is computed from the inner packet information.</t>
  <t>To provide sufficient entropy, the sending tunnel endpoint maps the encapsulated traffic to one of a range of UDP source values.</t>
  <t>The value SHOULD be within the ephemeral port range, i.e., 49152 to 65535, where the high order two bits of the port are set to one.</t>
  <t>The available source port entropy of 14 bits (using the ephemeral port range) plus the outer IP addresses seems sufficient for entropy for most ECMP applications.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
0Ze1EKnueqBjst0bw+A/p7bVn1E7AAA=

-->

</rfc>

