<?xml version="1.0" encoding="US-ASCII"?> encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="1"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> [
  <!ENTITY nbsp   "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc category="info" xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-opsawg-ipfix-mpls-sr-label-type-11"
     ipr="trust200902"> number="9160" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" category="info" consensus="true" xml:lang="en" tocInclude="true" tocDepth="1" symRefs="true" sortRefs="true" version="3">

  <!-- xml2rfc v2v3 conversion 3.10.0 -->
  <front>
    <title abbrev="IPFIX MPLS Segment Routing Information">Export&nbsp;of&nbsp;MPLS&nbsp;Segment&nbsp;Routing&nbsp;Label&nbsp;Type&nbsp;Information&nbsp;in
    IP&nbsp;Flow&nbsp;Information&nbsp;Export&nbsp;(IPFIX)</title> Information">Export of MPLS Segment Routing Label Type Information in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="RFC" value="9160"/>
    <author fullname="Thomas Graf" initials="T. " surname="Graf">
      <organization>Swisscom</organization>
      <address>
        <postal>
          <street>Binzring 17</street>

          <city>Zurich</city>
          <city>Zürich</city>
          <code>8045</code>
          <country>Switzerland</country>
        </postal>
        <email>thomas.graf@swisscom.com</email>
      </address>
    </author>
    <date day="18" month="September" month="December" year="2021"/>

<keyword>control plane migration</keyword>
<keyword>traffic monitoring</keyword>
<keyword>traffic accounting</keyword>
<keyword>OSPF</keyword>
<keyword>IS-IS</keyword>
<keyword>BGP Prefix-SID</keyword>
<keyword>PCE</keyword>
<keyword>PCEP SR</keyword>

    <abstract>
      <t>This document introduces new IP Flow Information Export (IPFIX) code
      points to identify which traffic is being forwarded based on which MPLS
      control plane protocol is used within a Segment Routing domain. In
      particular, this document defines five code points for the IPFIX
      mplsTopLabelType Information Element for PCE, Path Computation Element (PCE), IS-IS, OSPFv2, OSPFv3, and
      BGP MPLS Segment Routing extensions.</t> extensions.
</t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction" title="Introduction"> numbered="true" toc="default">
      <name>Introduction</name>
      <t>Four routing protocol extensions, extensions -- <xref target="RFC8665">OSPFv2 target="RFC8665" format="default">OSPFv2
      Extensions</xref>, <xref target="RFC8666">OSPFv3 target="RFC8666" format="default">OSPFv3 Extensions</xref>,
      <xref target="RFC8667">IS-IS target="RFC8667" format="default">IS-IS Extensions</xref>, and <xref
      target="RFC8669">BGP target="RFC8669" format="default">BGP Prefix Segment Identifiers (Prefix-SIDs)</xref> -- and
      one <xref target="RFC8664">Path target="RFC8664" format="default">Path Computation Element Communication
      Protocol (PCEP) Extension</xref> have been defined to be able to
      propagate Segment Routing (SR) labels for the MPLS data plane <xref
      target="RFC8660"/>.</t> target="RFC8660" format="default"/>.</t>
      <t>Also, <xref target="I-D.ali-spring-sr-traffic-accounting"/> target="SR-Traffic-Accounting"/> describes
      how IP Flow Information Export (IPFIX) <xref target="RFC7012"/> target="RFC7012" format="default"/> can be leveraged
      in dimensional data modelling modeling to account for traffic to MPLS SR label
      dimensions within a Segment Routing domain.</t>
      <t>In <xref target="RFC7012"/>, target="RFC7012" format="default"/>, the Information Element (IE)
      mplsTopLabelType(46) identifies which MPLS control plane protocol
      allocated the top-of-stack label in the MPLS label stack. Section 7.2 of
 Per <xref target="RFC7012"/> creates target="RFC7012" sectionFormat="of" section="7.2"/>, the <xref target="IANA-IPFIX">"IPFIX target="IANA-IPFIX" format="default">"IPFIX
      MPLS label type (Value 46)" subregistry</xref> was created, where new MPLS label type entries
      should be added. This document defines new code points to address
      typical use cases that are discussed in Section 2.</t> <xref target="MPLS-SR"/>.</t>
    </section>
    <section anchor="MPLS-SR" title="MPLS numbered="true" toc="default">
      <name>MPLS Segment Routing Top Label Type"> Type</name>
      <t>By introducing five new code points to the IPFIX IE
      mplsTopLabelType(46) for PCE, Path Computation Element (PCE), IS-IS, OSPFv2, OSPFv3 OSPFv3, and BGP Prefix-SID, Prefix-SIDs,
      it is possible to identify which traffic is being forwarded based upon
      which MPLS SR control plane protocol is in use.</t>
      <t>A typical use case is to monitor MPLS control plane migrations from
      LDP to IS-IS or OSPF Segment Routing. Such a migration can be done node
      by node as described in Appendix A of <xref target="RFC8661"/>.</t> target="RFC8661" sectionFormat="of" section="A"/>.</t>
      <t>Another use case is to monitor MPLS control plane migrations from
      dynamic BGP labels <xref target="RFC8277"/> target="RFC8277" format="default"/> to BGP Prefix-SIDs <xref
      target="RFC8669"/>. target="RFC8669" format="default"/>. For example, the motivation for, and benefits for of, such a
      migration in large-scale data centers are described in <xref
      target="RFC8670"/>.</t> target="RFC8670" format="default"/>.</t>
      <t>Both use cases can be verified by using mplsTopLabelType(46),
      mplsTopLabelIPv4Address(47), mplsTopLabelIPv6Address(140),
      mplsTopLabelStackSection(70)
      mplsTopLabelStackSection(70), and forwardingStatus(89) IEs to infer</t>

      <t><list style="symbols">
          <t>how
      <ul spacing="normal">
        <li>how many packets are forwarded or dropped</t>

          <t>if dropped</li>
        <li>if packets are dropped, for which reasons, and</t>

          <t>the and</li>
        <li>the MPLS provider edge loopback address and label protocol</t>
        </list></t> protocol</li>
      </ul>
      <t>By looking at the MPLS label value itself, it is not always clear as
      to which label protocol it belongs. This is because they may share the
      same label allocation range. This is, for example, the case for
      IGP-Adjacency SIDs, LDP LDP, and dynamic BGP labels.</t>
    </section>
    <section anchor="IANA" title="IANA Considerations">
      <t>This document requests IANA to allocate numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has allocated the following code points in
      the existing subregistry "IPFIX MPLS label type (Value 46)" under subregistry within the
      "IPFIX Information Elements" registry <xref target="RFC7012"/> available
      at target="RFC7012" format="default"/>. See
      <xref target="IANA-IPFIX"/>.</t>

      <t><figure>
          <artwork align="center"><![CDATA[

      +-------+--------------------------------+----------------------+
      | Value |          Description           |      Reference       |
      +-------+--------------------------------+----------------------+
      | TBD1  | Path target="IANA-IPFIX" format="default"/>.</t>

<table anchor="ipfix-reg-updates">
  <name>Updates to "IPFIX MPLS label type (Value 46)" Subregistry</name>
  <thead>
    <tr>
      <th>Value</th>
      <th>Description</th>
      <th>Reference</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>6</td>
      <td>Path Computation Element       | [RFC-to-be], RFC8664 |
      +-------+--------------------------------+----------------------+
      | TBD2  | OSPFv2 Element</td>
      <td>RFC 9160, RFC 8664</td>
    </tr>
    <tr>
      <td>7</td>
      <td>OSPFv2 Segment Routing         | [RFC-to-be], RFC8665 |
      +-------+--------------------------------+----------------------+
      | TBD3  | OSPFv3 Routing</td>
      <td>RFC 9160, RFC 8665</td>
    </tr>
    <tr>
      <td>8</td>
      <td>OSPFv3 Segment Routing         | [RFC-to-be], RFC8666 |
      +-------+--------------------------------+----------------------+
      | TBD4  | IS-IS Routing</td>
      <td>RFC 9160, RFC 8666</td>
    </tr>
    <tr>
      <td>9</td>
      <td>IS-IS Segment Routing          | [RFC-to-be], RFC8667 |
      +-------+--------------------------------+----------------------+
      | TBD5  | BGP Routing</td>
      <td>RFC 9160, RFC 8667</td>
    </tr>
    <tr>
      <td>10</td>
      <td>BGP Segment Routing Prefix-SID | [RFC-to-be], RFC8669 |
      +-------+--------------------------------+----------------------+

      Table 1: Updates Prefix-SID</td>
      <td>RFC 9160, RFC 8669</td>
    </tr>
  </tbody>
</table>

  <t>References to RFCs 4364, 4271, and 5036 have been added to the
  "Reference" column in the "IPFIX MPLS label type (Value 46)" subregistry
       ]]></artwork>
        </figure></t>

      <t>Note to the RFC-Editor:</t>

      <t><list style="symbols">
          <t>Please replace TBD1 - TBD5 with the values allocated by IANA</t>

          <t>Please replace the [RFC-to-be] with the RFC number assigned to
          this document</t>
        </list></t>

      <t>Note IANA:</t>

      <t><list style="symbols">
          <t>Suggest to move the existing RFC
  [IANA-IPFIX] for code points 3, 4, and 5, respectively. Previously, these
  references appeared in the additional
          information column of IE mplsTopLabelType(46) to reference "Additional Information" column for codepoint 3, 4 and 5.</t>
        </list></t> mplsTopLabelType(46)
  in the "IPFIX Information Elements" registry <xref target="IANA-IPFIX"/>.</t>
    </section>
    <section anchor="Operational" title="Operational Considerations"> numbered="true" toc="default">
      <name>Operational Considerations</name>

      <t>In the IE mplsTopLabelType(46), the BGP code point 4 refers to the
      label value in the MP_REACH_NLRI path attribute described in Section 2 of <xref target="RFC8277"/>, target="RFC8277" sectionFormat="of" section="2"/>, while the BGP Segment Routing Prefix-SID code
      point TBD5 10 corresponds to the label index value in the Label-Index TLV
      described in Section 3.1 of <xref target="RFC8669"/>. target="RFC8669" sectionFormat="of" section="3.1"/>. These values are
      thus used for those distinct purposes.</t>
    </section>
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>There exists exist no significant extra security considerations regarding
      the allocation of these new IPFIX IEs as compared to <xref
      target="RFC7012"/>.</t> target="RFC7012" format="default"/>.</t>
    </section>
  </middle>
  <back>

    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7012.xml"/>
      </references>
      <references>
        <name>Informative References</name>

<!-- draft-ali-spring-sr-traffic-accounting (I-D Exists) -->
<reference anchor="SR-Traffic-Accounting">
<front>
<title>Traffic Accounting in Segment Routing Networks</title>
<author initials='Z' surname='Ali' fullname='Zafar Ali'>
<organization/></author>
<author initials='C' surname='Filsfils' fullname='Clarence Filsfils'>
<organization/></author>
<author initials='K' surname='Talaulikar' fullname='Ketan Talaulikar'>
<organization/></author>
<author initials='S' surname='Sivabalan' fullname='Siva Sivabalan'>
<organization/></author>
<author initials='M' surname='Horneffer' fullname='Martin Horneffer'>
<organization/></author>
<author initials='R' surname='Raszuk' fullname='Robert Raszuk'>
<organization/></author>
<author initials='S' surname='Litkowski' fullname='Stephane Litkowski'>
<organization/></author>
<author initials='D' surname='Voyer' fullname='Dan Voyer'>
<organization/></author>
<author initials='R' surname='Morton' fullname='Rick Morton'>
<organization/></author>
<author initials='G' surname='Dawra' fullname='Gaurav Dawra'>
<organization/></author>
<date year='2021' month='November' day='13' />
</front>
<seriesInfo name='Internet-Draft' value='draft-ali-spring-sr-traffic-accounting-06'/>
</reference>

        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8277.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8661.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8664.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8665.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8666.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8667.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8669.xml"/>
        <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8670.xml"/>

        <reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix/">
          <front>
            <title>IPFIX MPLS label type (Value 46)</title>
            <author><organization>IANA</organization></author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="Acknowledgements" title="Acknowledgements"> numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>I would like to thank the IE doctors, Paul Aitken <contact fullname="Paul Aitken"/> and Andrew Feren, <contact fullname="Andrew Feren"/>,
      as well Benoit Claise, Loa Andersson, Tianran Zhou, Pierre Francois,
      Bruno Decreane, Paolo Lucente, Hannes Gredler, Ketan Talaulikar, Sabrina
      Tanamal, Erik Auerswald, Sergey Fomin, Mohamed Boucadair, Tom Petch, Qin
      Wu as <contact fullname="Benoît Claise"/>, <contact fullname="Loa Andersson"/>, <contact fullname="Tianran Zhou"/>, <contact fullname="Pierre François"/>,
      <contact fullname="Bruno Decraene"/>, <contact fullname="Paolo Lucente"/>, <contact fullname="Hannes Gredler"/>, <contact fullname="Ketan Talaulikar"/>, <contact fullname="Sabrina Tanamal"/>, <contact fullname="Erik Auerswald"/>, <contact fullname="Sergey Fomin"/>, <contact fullname="Mohamed Boucadair"/>, <contact fullname="Tom Petch"/>, <contact fullname="Qin Wu"/>, and Matthias Arnold <contact fullname="Matthias Arnold"/> for their review and valuable comments. Many
      thanks also to Robert Wilton <contact fullname="Robert Wilton"/> for the AD review. Thanks to Alvaro Retana,
      Eric Vyncke <contact fullname="Alvaro Retana"/>,
      <contact fullname="Éric Vyncke"/>, and Benjamin Kaduk <contact fullname="Benjamin Kaduk"/> for the IESG review.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include='reference.RFC.7012'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.I-D.ali-spring-sr-traffic-accounting'?>

      <?rfc include='reference.RFC.8277'?>

      <?rfc include='reference.RFC.8660'?>

      <?rfc include='reference.RFC.8661'?>

      <?rfc include='reference.RFC.8664'?>

      <?rfc include='reference.RFC.8665'?>

      <?rfc include='reference.RFC.8666'?>

      <?rfc include='reference.RFC.8667'?>

      <?rfc include='reference.RFC.8669'?>

      <?rfc include='reference.RFC.8670'?>

      <reference anchor="IANA-IPFIX"
                 target="https://www.iana.org/assignments/ipfix/ipfix.xhtml#ipfix-mpls-label-type">
        <front>
          <title>IANA, IPFIX MPLS label type (Value 46)</title>

          <author/>

          <date/>
        </front>
      </reference>
    </references>
  </back>
</rfc>