<?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-lp-idr-bgp-ls-sr-policy-supplement-03"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">

 <!-- ***** FRONT MATTER ***** -->

 <front>


   <title abbrev="BGP-LS SR Policy">Supplement of BGP-LS Distribution for SR Policies and State</title>
    <seriesInfo name="Internet-Draft" value="draft-lp-idr-bgp-ls-sr-policy-supplement-03"/>


   <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="Shaofu Peng" surname="Peng">
      <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>peng.shaofu@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
   <author fullname="Zhenqiang Li" surname="Li">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city></city>
          <region/>
          <code/>
          <country></country>
        </postal>
        <phone></phone>
        <email>lizhenqiang@chinamobile.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>	
	
    <date year="2025"/>

   <!-- Meta-data Declarations -->

   <area>Routing</area>
    <workgroup>IDR Working Group</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>SR Policy</keyword>
    <keyword>BGP-LS</keyword>
    <keyword>Segment List</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 supplements additional information of the segment list in the BGP-LS advertisement for SR Policy state information. Two new flags and a new sub-TLV are introduced in the SR Segment List TLV of BGP-LS SR Policy Candidate Path NLRI. </t> 

    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
	  
<t>SR Policy architecture details are specified in <xref target="RFC9256"></xref>.  An SR Policy comprises one or more candidate paths (CP) of which at a given time one and only one may be active. Each CP in turn may have one or more SID-List of which one or more may be active; when multiple are active then traffic is load balanced over them.</t>
<t><xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref> describes a mechanism to collect the SR policy information that is locally available in a node and advertise it into BGP Link State (BGP-LS) updates. Various TLVs are defined to enable the headend to report the state at the candidate path level and the segment list level.</t>  
<t>Currently, a few segment-list-related information is not yet included in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref>:</t>
	<ul spacing="normal">	
        <li> Whether the segment list is a backup path. <xref target="I-D.ietf-pce-multipath"></xref> proposes extensions to PCEP to specify the protection relationship among segment lists within the candidate path. There would be segment lists in the CP acting as backup for one or more primary segment lists, the backup lists only carry rerouted traffic after the protected path fails.</li>
		<li>Whether the segment list is in administrative shut state. For the candidate path, there's already an S-Flag in the SR Candidate Path State TLV in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref> indicating the CP is in an administrative shut state. In some usecases, the segment list may also be shut by an administrator for traffic engineering or power saving purpose, e.g, the network administrator may shut certain segment list when the load on the SR Policy is light. This information may also be needed and reported via BGP-LS.</li>
     </ul>
	 
	 <t>Besides, <xref target="RFC8662"></xref> describes how Entropy labels (ELs) are to be applied to SR-MPLS to improve load-balancing. Multiple &lt;ELI, EL&gt; pairs may be inserted in the SR-MPLS label stack. A typical use case is that the ingress router (e.g., the headend node) computes a hash based on several fields from a given packet and places the result in the EL(s). The values and the positions of the ELs inserted in the SID-lists may be required by the controller when the headend reports the state of SR Policies via BGP-LS. However, carrying MPLS labels in BGP-LS that are not SR-MPLS SIDs are not yet supported.</t>


<t> This document supplements some additional information of the segment list state as mentioned above in the BGP-LS advertisement for SR Policy state information.</t>  
 
    </section> 
	  
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
	  <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" format="default"></xref> <xref target="RFC8174" format="default"></xref> when, and only when, they appear in all capitals, as shown here.</t>
      </section>

	
	
<section numbered="true" toc="default">
<name>BGP-LS Extensions for Distributing Segment List States</name>

<section numbered="true" toc="default">
<name>New Flags in SR Segment List TLV</name>
	<t>SR Segment List TLV is defined in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref> to report the SID-List(s) of a candidate path. As show in Figure 1,this document introduces two new flags in the flag field of SR Segment List TLV, where,</t>
		<figure>
		<name>New Flags in the Flag Field of SR Segment List TLV</name>
			<artwork align="center" ><![CDATA[
       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | | | | | | | | | |S|B|         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>		   
		</figure>
		

	<ul spacing="normal">	
        <li>S-Flag: Indicates the segment list is in administrative shut state when set. The segment list may be shut by the administrator via CLI or other methods, and it is out of the scope of this document. </li>
		<li>B-Flag: Indicates that the segment list is a pure backup path as specified in <xref target="I-D.ietf-pce-multipath"></xref> section 4.4 when set. When B-Flag is clear, it indicates it is the primary path that carries normal traffic.</li>
     </ul>
</section>	

<section numbered="true" toc="default">
<name>MPLS Label Sub-TLV</name>

<t>The MPLS Label sub-TLV is defined in this section to carry the generic MPLS Label information. The MPLS Label Sub-TLV is an optional sub-TLV of SR Segment List TLV, and it may be used as the sub-TLV of other TLVs, for the latter case, the detailed usage is out of the scope of this document. </t>

		<figure>
		<name>MPLS Label Sub-TLV</name>
			<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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              Type             |             Length            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  MPLS Label                                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           ]]></artwork>		   
		</figure>

<t>Type: TBA</t>
<t>Length: The value is 4 octets.</t>
<t>MPLS Label: a 4-octet-field carrying the MPLS Label.</t>
<t>When receiving the BGP-LS advertisement for the SR Policy Candidate Path NLRI with SR Segment List TLV carrying the MPLS Label sub-TLV, it indicates that there's a MPLS Label inserted in the SID LIST. The MPLS Label sub-TLV can appear multiple times in the SR Segment List TLV. For example, if there're two adjacent MPLS Label sub-TLVs in the SR Segment List TLV, with the value of the MPLS Label in the first MPLS Label sub-TLV set as 7 (the reserved label value for ELI<xref target="RFC6790"></xref>), it indcates that a &lt;ELI, EL&gt; pair has been inserted in the SID list, and the second MPLS Label sub-TLV carries the corresponding EL value. </t>
	
</section>	
</section>
	
<section numbered="true" toc="default">
	<name>IANA Considerations</name>	
	<t>This document requests bit 9 and bit 10 in the flag field of  "SR Segment List TLV" <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref> under the "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" registry.</t>

        <artwork align="left"><![CDATA[
       Bit     Description                                Reference
      ------------------------------------------------------------------
        9     Administrative Shut State Flag(S-Flag)      This document
       10     Backup Path State Flag(B-Flag)              This document
           ]]></artwork>
	   
	   <t>This document requests a new type sub-TLV of "SR Segment List TLV" <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref> under the "BGP-LS Node Descriptor, Link Descriptor, Prefix Descriptor, and Attribute TLVs" registry.</t>
	        <artwork align="left"><![CDATA[
       Type     Description                                Reference
      ------------------------------------------------------------------
       TBA     MPLS Label Sub-TLV                         This document

           ]]></artwork>
</section>

	

<section numbered="true" toc="default">
	<name>Security Considerations</name>
		<t>Procedures and protocol extensions defined in this document do not affect the security considerations discussed in <xref target="I-D.ietf-idr-bgp-ls-sr-policy"></xref>.</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.I-D.ietf-idr-bgp-ls-sr-policy.xml"?>
      </references>
      <references>
        <name>Informative References</name>
		<?rfc include="reference.RFC.8402.xml"?>
		<?rfc include="reference.RFC.9256.xml"?>
		<?rfc include="reference.RFC.8662.xml"?>
		<?rfc include="reference.RFC.6790.xml"?>
		<?rfc include="reference.I-D.ietf-pce-multipath.xml"?>
      </references>
    </references>


 </back>
</rfc>
