<?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.2.6 -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc category="std" docName="draft-chen-idr-bgp-ls-sr-policy-cp-validity-03"
     ipr="trust200902">
  <front>
   <title abbrev="Advertisement of CP Validity Control Parameters using BGP-LS">Advertisement of Candidate Path Validity Control Parameters using BGP-LS</title>
    <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Ran Chen" initials="R." surname="Chen">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>chen.ran@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>

	  <author fullname="Detao Zhao" initials="D." surname="Zhao">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>zhao.detao@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	 <author fullname="Ketan Talaulikar" initials="K." surname="Talaulikar">
       <organization>Cisco Systems, Inc.</organization>
      <address>
        <email>ketant.ietf@gmail.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	 <author fullname="Yisong Liu" initials="Y." surname="Liu">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Beijing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>liuyisong@chinamobile.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	 <author fullname="Changwang Lin" initials="L." surname="Changwang">
      <organization>New H3C Technologies</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->
         <city>Beijing</city>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
    <date year="2025"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- 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>Internet Draft</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 describes a mechanism to collect the configuration and states of SR policies carrying the validity control parameters of the candidate path by using BGP Link-State (BGP-LS) updates. Such information can be used by external components for path computation, re-optimization, service placement, etc.</t>
    </abstract>
  </front>
  <middle>
  
    <section numbered="true" toc="default">
      <name>Introduction</name>
	 <t>SR Policy architecture is specified in <xref target="RFC9256" format="default"></xref>.  An SR Policy comprises one or more candidate paths (CP) of which at a given time one and only one may be active (i.e., installed in forwarding and usable for steering of traffic).  Each CP in turn may have one or more SID-List of which one or more may be active; when multiple SID-List are active then traffic is load balanced over them.</t>
     <t><xref target="I-D.chen-spring-sr-policy-cp-validity" format="default"/> supplemented candidate path validity criterion in <xref target="RFC9256" format="default"></xref>. It defines three validity control parameters under candidate Path to control the validity judgment of candidate Path.</t>
	 <t>In many network scenarios, the configuration and state of each TE Policy is required by a controller which allows the network operator to optimize several functions and operations through the use of a controller aware of both topology and state information <xref target="I-D.ietf-idr-bgp-ls-sr-policy" format="default"/>.</t>
	 <t>Based on the mechanism defined in <xref target="I-D.ietf-idr-bgp-ls-sr-policy" format="default"/>, this document defines extensions to BGP-LS to distribute the validity control parameters of a candidate path for an SR Policy.</t>
	 <section numbered="true" toc="default">
        <name>Requirements Language</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 target="RFC8174" format="default"/>
        when, and only when, they appear in all capitals, as shown here.</t>
      </section>
	   </section>
	   
   <section numbered="true" toc="default">
   <name>Carrying CP Validity Sub-TLV in BGP-LS</name>
    <t>In order to collect configuration and states of SR policies carrying the validity control parameters of the candidate path, this document defines a new SR Policy state TLV which enable the headend to report the validity control parameters of a candidate path.</t>
	<t>This TLV is carried in the optional non-transitive BGP Attribute "LINK_STATE Attribute" defined in <xref target="RFC9552" format="default"></xref> associated with the SR Policy CP NLRI type.</t>
	<t>This TLV is optional and only one this TLV is advertised for a given CP. If multiple TLVs are present, then the first one is considered valid and the rest are ignored as describe in <xref target="I-D.ietf-idr-bgp-ls-sr-policy" format="default"/>.</t>
   </section>
    <section numbered="true" toc="default">
   <name>CP Validity Sub-TLV</name>
   <t>The format of the CP Validity Sub-TLV is defined as follows:</t>
      <artwork><![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     | valid SL count|    Reserved   |  
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     valid SL weight                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           ]]></artwork>
	  <t>where:</t>
	  <t>Type: to be assigned by IANA.</t>
	  <t>Length: the total length of the value field not including Type and Length fields. The total length MUST be 6.</t>
	  <t>valid SL count:1-octet field which indicates the minimum number of valid segment Lists under the active candidate path. When the number of valid segment Lists under candidate path is greater than or equal to this field, the candidate path is considered valid. 0 indicates no requirement for SL quantity.
	  0xff indicates that the candidate path is considered valid only if all the segment Lists are valid.</t>
	  <t>valid SL weight: 4-octet field which indicates the minimum value of the sum of the weights of the valid segment List under the active candidate Path. When the sum of the weights of the valid segment Lists under the candidate path is greater than or equal to this field, the candidate Path is considered valid. 0 indicates no requirement for weight.0xffffffff indicates that the candidate path is considered valid only if all the segment Lists are valid.</t>
    </section>
	
     <section numbered="true" toc="default">
      <name>Operations</name>
	 <t>The operations procedures of <xref target="RFC9552" format="default"></xref> can apply to this document. Typically, but not limit to, the SR policies carrying the validity control parameters of the candidate path can be distributed by the ingress node.</t>
	   </section>
    
   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
	  <t>IANA maintains a registry called "Border Gateway Protocol - Link State (BGP-LS) Parameters" with a sub-registry called "Node Anchor, Link Descriptor and Link Attribute TLVs". The following TLV codepoints are suggested (for early allocation by IANA):</t>
	  <figure>
		<artwork align="left" name=""><![CDATA[
   Value   Description               Reference
  ------- ------------------------- --------------
    TBD    CP Validity Sub-TLV       This document

		    ]]></artwork>     
      </figure>
	 </section>
	 
	 <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
     <t>Procedures and protocol extensions defined in this document do not affect the base BGP security model. See <xref target="RFC6952" format="default"></xref> for details. The security considerations of the base BGP-LS specification as described in <xref target="RFC9552" format="default"></xref> and BGP-LS SR Policy specification as described in <xref target="I-D.ietf-idr-bgp-ls-sr-policy" format="default"/> also apply. It does not introduce additional security issues compared to existing SR policy extensions. The CP Validity information is critical to determining the validity of the CP, and a wrong CP Validity information may cause unexpected forwarding actions and results.</t>
	 <t>Implementations need to make sure that the CP Validity information is correct to avoid unexpected forwarding actions and results. Additionally, the distribution of CP validity information from a router to an controller needs to be protected. The security considereations in <xref target="I-D.ietf-idr-bgp-ls-sr-policy" format="default"/> apply to this distribution procedure.</t>
    </section>
	 
	  <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TBD.</t>
    </section>
    <!-- Possibly a 'Contributors' section ... -->
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->

 <references title="Normative References">
        <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      <?rfc include="reference.RFC.2119.xml"?>
	  <?rfc include="reference.RFC.9552.xml"?>
	  <?rfc include="reference.RFC.8174.xml"?>
	  <?rfc include="reference.RFC.9256.xml"?>
	  <?rfc include='reference.I-D.chen-spring-sr-policy-cp-validity.xml'?>
	  <?rfc include='reference.I-D.ietf-idr-bgp-ls-sr-policy.xml'?>
      </references>
   <references title="Informative References">     
	  <?rfc include="reference.RFC.6952.xml"?>
	  </references>
    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                     v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                     other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                     Modified comments around figure to reflect non-implementation of
                     figure indent control.  Put in reference using anchor="DOMINATION".
                     Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                     added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                     images. Removed meta-characters from comments (causes problems).

v06 2010-04-01 TT     Changed ipr attribute values to latest ones. Changed date to
                     year only, to be consistent with the comments. Updated the 
                     IANA guidelines reference from the I-D to the finished RFC.
v07 2020-01-21 HL    Converted the template to use XML schema version 3.
    -->
 </back>
</rfc>
