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

<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-liu-opsawg-ipfix-igp-algo-02"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">

 <!-- ***** FRONT MATTER ***** -->

 <front>
   <title abbrev="IPFIX for IGP-Algo">Export of IGP Algorithm Information in IPFIX</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-opsawg-ipfix-igp-algo-02"/>
   <author fullname="Yao Liu" surname="Liu">
      <organization>ZTE</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <phone></phone>
        <email>liu.yao71@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
   <author fullname="Liman Zhao" surname="Zhao">
      <organization>ZTE</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <phone></phone>
        <email>zhao.liman@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>	
    <date year="2026"/>

   <!-- Meta-data Declarations -->

   <area>OPS</area>
    <workgroup>OPSAWG</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>IPFIX</keyword>
   <keyword>IGP Algorithm</keyword>
   <keyword>Flexible Algorithm(Flex-Algorithm)</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
      <t>This document introduces a new IPFIX information element (IE) to identify the IGP Algorithm information related with the Segment Identifier (SID) or the IPv4/IPv6 prefix.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>  
	 <t>IGP Algorithms <xref target="RFC9350"></xref> represent the triplet (calculation-type, metric-type, and constraints), where the second and third elements of the triplet MAY be unspecified. Flexible Algorithm is one type of IGP Algorithm. <xref target="RFC9350"></xref> introduces the concept of Flexible Algorithm that allows IGPs (ISIS, OSPFv2 and OSPFv3) to compute constraint-based path over an SR-MPLS or an SRv6 network. In SR, the same prefix can be associated with multiple algorithms. <xref target="I-D.ietf-lsr-algorithm-related-adjacency-sid"></xref> comments that, besides the SR-MPLS prefix SID, the algorithm can be also included as part of an SR-MPLS Adjacency-SID advertisement in scenarios where multiple algorithms share the same link resource. </t>  
	 <t><xref target="RFC9502"></xref> further extends IGP Flexible Algorithm so that it can be used with regular IPv4 and IPv6 forwarding.</t>
	 
<t>The IANA "IGP Algorithm Types" registry defines the set of values for IGP Algorithms. The registry currently includes the default algorithm (value 0), Strict Shortest Path First (Strict-SPF, value 1), and Flexible Algorithms (values 128-255), while other values (e.g., 2-127) are reserved for future IGP Algorithm Types. </t>
	 
	 
	 <!-- <t>Besides, in Multi-Topology <xref target="RFC4915"></xref><xref target="RFC5120"></xref> networks, the Multitopology Identifier(MT-ID) value is also required to indicate the specific topology that is associated with the IP prefix,SR-MPLS SID or SRv6 SID locator.</t> 	 
	 
	 <t>With IGP Flexible Algorithm, a physical network can be divided into multiple logical planes. For each Flex-Algorithm, the path is computed independently.</t> -->
	  
	<t>Below are the typical use cases when monitoring a traffic flow in a network with IGP Algorithm (especially Flexible Algorithm) enabled.</t>
		<ul spacing="normal">
		<li>Which IGP Algorithm does the SR-MPLS SID or the SRv6 SID locator belong to?</li>
		<li>Which IGP Algorithm is the IPv4/IPv6 prefix related with?</li>
		</ul>
	<!-- <t>Besides, in Multi-Topology <xref target="RFC4915"></xref><xref target="RFC5120"></xref> networks, the Multitopology Identifier(MT-ID) value is also required to indicate the specific topology that is associated with the IP prefix,SR-MPLS SID or SRv6 SID locator.</t> -->
	<t>By only looking at the SR SID or the IP address itself, the above questions could not be answered. </t>
	
	<t>This document introduces a new IP Flow Information Export (IPFIX) information element (IE) to identify the IGP Algorithm related with the SR segment identifier (SID) or the IPv4/IPv6 prefix.</t>
	 </section>		
		


<section numbered="true" toc="default">
        <name>Terminology</name>
		<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"></xref> <xref target="RFC8174" format="default"></xref> when, and only when, they appear in all capitals, as shown here.</t>
		<t>This document makes use of the terms defined in <xref target="RFC7011" format="default"></xref>, <xref target="RFC8402" format="default"></xref> and <xref target="RFC9350" format="default"></xref>.</t>
		<t>The following terms are used as defined in <xref target="RFC7011" format="default"></xref>:</t>	
		<ul spacing="normal">
		<li>IPFIX</li>
		<li>IPFIX Information Elements</li>
		<li>Metering Process</li>
		<li>Template Record</li>
		<li>Data Record</li>
		<li>Collector</li>		
		</ul>
		<t>The following terms are used as defined in <xref target="RFC8402" format="default"></xref>:</t>	
		<ul spacing="normal">
		<li>Segment Routing (SR)</li>
		<li>Segment List</li>
		<li>SRv6</li>
		<li>SR-MPLS</li>
		<li>Segment Identifier (SID)</li>		
		</ul>
		<t>The following terms are used as defined in <xref target="RFC8665" sectionFormat="of" section="3.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8665#section-3.1" derivedContent="RFC8665"/>:</t>	
		<ul spacing="normal">
		<li>(IGP) Algorithm</li>
		</ul>
		<t>The following terms are used as defined in <xref target="RFC9350" sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9350#section-4" derivedContent="RFC9350"/>:</t>	
		<ul spacing="normal">
		<li>Flexible Algorithm</li>
		</ul>		
      </section>

<section numbered="true" toc="default">
	<name>IGP Algorithm Information in IPFIX</name>	
		<t>A new IE "igpAlgo" is defined in this document to identify the IGP Algorithm information related with an SR-MPLS SID, an SRv6 locator or an IPv4/IPv6 prefix, the IE carries the value of the IGP Algorithm Types as in the IANA "IGP Algorithm Types" registry.</t>
		<dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>igpAlgo</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0">The 8-bit value that represents an IGP Algorithm type related with an SR-MPLS SID, an SRv6 locator or an IPv4/IPv6 prefix. The values of the IGP Algorithm types are specified in the IANA "IGP Algorithm Types" registry, i.e., the value is 0 if the default algorithm is used, the value is 1 if Strict Shortest Path First (Strict-SPF) algorithm is used, and the value 128-255 for Flex-Algorithms.</t><!-- The 8-bit value that represents an IGP Algorithm related with an SR-MPLS SID, an SRv6 locator or an IPv4/IPv6 prefix. The IGP Algorithm values are defined in the IANA "IGP Algorithm Types".</t>  -->
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t indent="0" >unsigned8</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t indent="0">Specified in <!-- <xref target="RFC8665" format="default"></xref>, --><xref target="RFC9350" format="default"></xref> and <xref target="RFC9502" format="default"></xref>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" >This document.</t>
          </dd>
        </dl>
</section>

<!-- <section numbered="true" toc="default">
	<name>MT-ID Information in IPFIX</name>		
	<t>A new IE "igpMultiTopologyId" is defined in this document to identify the specific topology that is associated with an SR-MPLS SID, an SRv6 locator  or an IPv4/IPv6 prefix. The IE carries the value of the MT-ID for OSPF and IS-IS as specified in [RFC4915] and [RFC5120] respectively.</t>
		<dl newline="false" indent="3" spacing="normal" >
          <dt>Name:</dt>
          <dd>
            <t>igpMultiTopologyId</t>
          </dd>
          <dt>ElementID:</dt>
          <dd >
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t indent="0"></t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t indent="0" >unsigned16</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd >
            <t indent="0">identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t indent="0">The value represents the 12-bit MT-ID for IS-IS or the 8-bit MT-ID for OSPF. The leading bits MUST be set to all zeroes.
			
			Specified in <xref target="RFC8665" format="default"></xref>, <xref target="RFC9350" format="default"></xref> and <xref target="RFC9502" format="default"></xref>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t indent="0" >This document.</t>
          </dd>
        </dl>
</section> -->


	
<section numbered="true" toc="default">
	<name>Operational Considerations</name>
	
	<section numbered="true" toc="default">
	<name>Generic Considerations</name>

	<t>When used for monitoring SR-MPLS traffic flows:</t>

	<t>The IE "igpAlgo" indicates the IGP Algorithm of the active SR-MPLS prefix/adjacency SID or the IGP prefix related with the SR-MPLS SID, as in <xref target="RFC8665" format="default"></xref>, <xref target="RFC9350" format="default"></xref> and <xref target="I-D.ietf-lsr-algorithm-related-adjacency-sid"></xref>. And the "igpAlgo" is valid when the value of IE "IPFIX MPLS label type (Value 46) "<xref target="RFC9160" format="default"></xref> in the data record is 7 (OSPFv2 Segment Routing), 8 (OSPFv3 Segment Routing) or 9 (IS-IS Segment Routing). In the absence of the IE "IPFIX MPLS label type" in the IPFIX template record, how to process the "igpAlgo" is implementation specific.</t>
	
	<t>When used for monitoring SRv6 traffic flows:</t>
	<t>The IE "igpAlgo" indicates the IGP Algorithm related with the locator of the active SRv6 SID as in <xref target="RFC9350" format="default"></xref>, <xref target="RFC9352" format="default"></xref> and <xref target="RFC9513" format="default"></xref>. And the IE "igpAlgo" is valid when the value of IE "IPFIX IPv6 SRH Segment Type (Value 500)" <xref target="RFC9487" format="default"></xref> in the data record is 3 (OSPFv3 Segment Routing) or 4 (IS-IS Segment Routing). In the absence of the IE "IPv6 SRH Segment Type", how to process the "igpAlgo" is implementation specific.</t>
	
	<t>When monitoring pure IPv4/IPv6 traffic flows, the IE "igpAlgo" can be used to indicate the IGP Algorithm related with the destination IPv4/IPv6 address or the IPv4/IPv6 next hop address.</t>
	

<t></t>	
	
	
	
</section>	

	<!-- <xref target="RFC8665" format="default"></xref>,<section numbered="true" toc="default">
	<name>Consideration for  Multi-Topology Networks</name>
	<t>
</section>	 -->


</section>


<section numbered="true" toc="default">
	<name>Security Considerations</name>
		<t>There are no additional security considerations regarding allocation of these new IPFIX IEs compared to <xref target="RFC7012" format="default"></xref>.</t>
		<t>Other security considerations for IGP Algorithm in <xref target="RFC9350"></xref> and <xref target="RFC9502"></xref> apply to this document.</t>
</section>	

<section numbered="true" toc="default">
	<name>IANA Considerations</name>
		<t>This document requests IANA to create a new IE under the "IPFIX Information Elements" registry <xref target="RFC7012" format="default"></xref> available at <xref target="IANA-IPFIX" format="default" sectionFormat="of" derivedContent="IANA-IPFIX"/>.</t>
		
		  <artwork align="center" name=""><![CDATA[
     +-------+--------------------------------+
     |Element|      Name       |  Reference   |
     |   ID  |                 |              |
     +-------+-----------------+--------------+
     | TBD1  |   igpAlgo       |This document |
     +-------+-----------------+--------------+
	  
           ]]></artwork>
		
		

	</section>

	<section numbered="true" toc="default">
	<name>Acknowledgements</name>
		<t>The authors would like to thank Thomas Graf for his helpful comments and suggestions.

</t>
</section>
	
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>

   <references>
      <name>References</name>
      <references>
        <name>Normative References</name>

		<?rfc include="reference.RFC.2119.xml"?>
		<?rfc include="reference.RFC.8174.xml"?>
		<?rfc include="reference.RFC.9350.xml"?>
		<?rfc include="reference.RFC.8665.xml"?>
		<?rfc include="reference.RFC.9502.xml"?>
		<?rfc include="reference.RFC.7012.xml"?>
 		<?rfc include="reference.RFC.8402.xml"?>
		<?rfc include="reference.RFC.7011.xml"?> 
		<reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix" quoteTitle="true" derivedAnchor="IANA-IPFIX">
          <front>
            <title>IP Flow Information Export (IPFIX) Entities</title>
            <author>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
	  
      </references>
      <references>
        <name>Informative References</name>
		<?rfc include="reference.RFC.9487.xml"?>
		<?rfc include="reference.RFC.9160.xml"?>
		<?rfc include="reference.RFC.9513.xml"?>
		<?rfc include="reference.RFC.9352.xml"?>		
	    <?rfc include='reference.I-D.ietf-lsr-algorithm-related-adjacency-sid.xml'?>
      </references>
    </references>


 </back>
</rfc>
