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

<!DOCTYPE rfc [
  <!ENTITY nbsp   "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-opsawg-ipfix-mpls-sr-label-type-11" 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 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>Zürich</city>
          <code>8045</code>
          <country>Switzerland</country>
        </postal>
        <email>thomas.graf@swisscom.com</email>
      </address>
    </author>
    <date month="December" year="2021"/>
    <area>OPS</area>
    <workgroup>OPSAWG</workgroup>

    <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 Path Computation Element (PCE), IS-IS, OSPFv2, OSPFv3, and
      BGP MPLS Segment Routing extensions.
</t>
    </abstract>
  </front>
  <middle>
    <section anchor="Introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Four routing protocol extensions -- <xref target="RFC8665" format="default">OSPFv2
      Extensions</xref>, <xref target="RFC8666" format="default">OSPFv3 Extensions</xref>,
      <xref target="RFC8667" format="default">IS-IS Extensions</xref>, and <xref target="RFC8669" format="default">BGP Prefix Segment Identifiers (Prefix-SIDs)</xref> -- and
      one <xref 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" format="default"/>.</t>
      <t>Also, <xref target="SR-Traffic-Accounting"/> describes
      how IP Flow Information Export (IPFIX) <xref target="RFC7012" format="default"/> can be leveraged
      in dimensional data modeling to account for traffic to MPLS SR label
      dimensions within a Segment Routing domain.</t>
      <t>In <xref 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.
 Per <xref target="RFC7012" sectionFormat="of" section="7.2"/>, the <xref 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 <xref target="MPLS-SR"/>.</t>
    </section>
    <section anchor="MPLS-SR" numbered="true" toc="default">
      <name>MPLS Segment Routing Top Label Type</name>
      <t>By introducing five new code points to the IPFIX IE
      mplsTopLabelType(46) for Path Computation Element (PCE), IS-IS, OSPFv2, OSPFv3, and BGP 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 <xref 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" format="default"/> to BGP Prefix-SIDs <xref target="RFC8669" format="default"/>. For example, the motivation for, and benefits of, such a
      migration in large-scale data centers are described in <xref target="RFC8670" format="default"/>.</t>
      <t>Both use cases can be verified by using mplsTopLabelType(46),
      mplsTopLabelIPv4Address(47), mplsTopLabelIPv6Address(140),
      mplsTopLabelStackSection(70), and forwardingStatus(89) IEs to infer</t>
      <ul spacing="normal">
        <li>how many packets are forwarded or dropped</li>
        <li>if packets are dropped, for which reasons, and</li>
        <li>the MPLS provider edge loopback address and label protocol</li>
      </ul>
      <t>By looking at the MPLS label value itself, it is not always clear 
      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, and dynamic BGP labels.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>IANA has allocated the following code points in
      the "IPFIX MPLS label type (Value 46)" subregistry within the
      "IPFIX Information Elements" registry <xref target="RFC7012" format="default"/>. See
      <xref 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</td>
      <td>RFC 9160, RFC 8664</td>
    </tr>
    <tr>
      <td>7</td>
      <td>OSPFv2 Segment Routing</td>
      <td>RFC 9160, RFC 8665</td>
    </tr>
    <tr>
      <td>8</td>
      <td>OSPFv3 Segment Routing</td>
      <td>RFC 9160, RFC 8666</td>
    </tr>
    <tr>
      <td>9</td>
      <td>IS-IS Segment Routing</td>
      <td>RFC 9160, RFC 8667</td>
    </tr>
    <tr>
      <td>10</td>
      <td>BGP Segment Routing 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
  [IANA-IPFIX] for code points 3, 4, and 5, respectively. Previously, these
  references appeared in the "Additional Information" column for mplsTopLabelType(46)
  in the "IPFIX Information Elements" registry <xref target="IANA-IPFIX"/>.</t>
    </section>
    <section anchor="Operational" numbered="true" toc="default">
      <name>Operational Considerations</name>

      <t>In the IE mplsTopLabelType(46), BGP code point 4 refers to the
      label value in the MP_REACH_NLRI path attribute described in <xref target="RFC8277" sectionFormat="of" section="2"/>, while BGP Segment Routing Prefix-SID code
      point 10 corresponds to the label index value in the Label-Index TLV
      described in <xref target="RFC8669" sectionFormat="of" section="3.1"/>. These values are
      thus used for those distinct purposes.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>There exist no significant extra security considerations regarding
      the allocation of these new IPFIX IEs as compared to <xref 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" numbered="false" toc="default">
      <name>Acknowledgements</name>
      <t>I would like to thank the IE doctors, <contact fullname="Paul Aitken"/> and <contact fullname="Andrew Feren"/>,
      as well 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 <contact fullname="Matthias Arnold"/> for their review and valuable comments. Many
      thanks also to <contact fullname="Robert Wilton"/> for the AD review. Thanks to <contact fullname="Alvaro Retana"/>,
      <contact fullname="Éric Vyncke"/>, and <contact fullname="Benjamin Kaduk"/> for the IESG review.</t>
    </section>
  </back>
</rfc>
