<?xmlversion="1.0" encoding="US-ASCII"?>version='1.0' encoding='UTF-8'?> <!DOCTYPE rfcSYSTEM "rfc2629.dtd"> <?rfc comments="yes"?> <?rfc compact="yes"?> <?rfc inline="yes"?> <?rfc sortrefs="yes"?> <?rfc subcompact="no"?> <?rfc symrefs="yes"?> <?rfc toc="yes"?> <?rfc tocdepth="3"?> <?rfc tocindent="yes"?> <?rfc tocompact="yes"?>[ <!ENTITY nbsp " "> <!ENTITY zwsp "​"> <!ENTITY nbhy "‑"> <!ENTITY wj "⁠"> ]> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="exp" docName="draft-ietf-idr-bgp-sr-segtypes-ext-08"ipr="trust200902">number="9831" consensus="true" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" sortRefs="true" symRefs="true" tocInclude="true" tocDepth="3" version="3"> <front> <titleabbrev="SR Segmentabbrev="Segment Type Ext for BGP SR Policy">SegmentRouting Segment TypesType Extensions for BGPSRSegment Routing (SR) Policy</title> <seriesInfo name="RFC" value="9831"/> <author fullname="Ketan Talaulikar" initials="K." role="editor" surname="Talaulikar"> <organization>Cisco Systems</organization> <address> <postal><street/> <city/> <region/> <code/><country>India</country> </postal> <email>ketant.ietf@gmail.com</email> </address> </author> <author fullname="Clarence Filsfils" initials="C." surname="Filsfils"> <organization>Cisco Systems</organization> <address> <postal><street/><city>Brussels</city><region/> <code/> <country>BE</country><country>Belgium</country> </postal> <email>cfilsfil@cisco.com</email> </address> </author> <author fullname="Stefano Previdi" initials="S." surname="Previdi"> <organization>Huawei Technologies</organization> <address> <postal><street/> <city/> <code/> <country>IT</country><country>Italy</country> </postal> <email>stefano@previdi.net</email> </address> </author> <author fullname="Paul Mattes" initials="P." surname="Mattes"> <organization>Microsoft</organization> <address> <postal> <street>One Microsoft Way</street> <city>Redmond</city> <region>WA</region> <code>98052</code><country>USA</country><country>United States of America</country> </postal> <email>pamattes@microsoft.com</email> </address> </author> <author fullname="Dhanendra Jain" initials="D." surname="Jain"> <organization>Google</organization> <address> <email>dhanendra.ietf@gmail.com</email> </address> </author><date/><date month="August" year="2025"/> <area>RTG</area> <workgroup>idr</workgroup> <abstract> <t>This document specifies the signaling of additional Segment Routing (SR) Segment Types forsignaling of Segment Routing (SR)SR Policies in BGP using the SR Policy Subsequent Address FamilyIdentifier.</t>Identifier (SAFI).</t> </abstract> </front> <middle> <section anchor="INTRO"title="Introduction"> <t>BGPnumbered="true" toc="default"> <name>Introduction</name> <t>The BGP Segment Routing (SR) Policy Subsequent Address Family Identifier (SAFI) was introduced by <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> for the advertisement of SRPolicyPolicies <xreftarget="RFC8402"/>.target="RFC8402" format="default"/>. <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> introduced the base SR Segment Types A and B as specified by the SR Policy Architecture <xreftarget="RFC9256"/>.</t>target="RFC9256" format="default"/>.</t> <t>This document specifies the extensions for the advertisement of the remaining SR Segment Types defined in <xreftarget="RFC9256"/>target="RFC9256" format="default"/> in the SR Policy SAFI for both SR-MPLS (see <xreftarget="RFC8660"/>target="RFC8660" format="default"/>) andSRv6Segment Routing over IPv6 (SRv6) (see <xreftarget="RFC8754"/>target="RFC8754" format="default"/> and <xreftarget="RFC8986"/>.</t>target="RFC8986" format="default"/>).</t> <t>The extensions in this document do not impact the SR Policy operations or fault management as specified in <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t>target="RFC9830" format="default"/>.</t> <sectiontitle="Requirements Language"> <t>Thenumbered="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","<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", "<bcp14>MAY</bcp14>", and"OPTIONAL""<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as described inBCP 14BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shownhere.</t>here. </t> </section> </section> <section anchor="SEGMENTTLV"title="Segmentnumbered="true" toc="default"> <name>Segment TypeSub-TLVs">Sub-TLVs</name> <t>The Segment List sub-TLV <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> encodes a single explicit path towards the endpoint as described insection 5.1 of<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="5.1"/>. The Segment List sub-TLV includes the elements of the paths (i.e., segments).</t> <t>A Segment sub-TLV describes a single segment in a segment list (i.e., a single element of the explicit path).</t><t>Section 4 of <xref target="RFC9256"/><t><xref target="RFC9256" sectionFormat="of" section="4"/> defines several Segment Types for SR-MPLS and SRv6 that are listed below as areminder:<figure align="center"> <artwork align="left"><![CDATA[Type A: SR-MPLS Label Type B: SRv6 SID Type C: IPv4reminder:</t> <dl spacing="normal" newline="false" indent="10"> <dt>Type A:</dt><dd>SR-MPLS Label</dd> <dt>Type B:</dt><dd>SRv6 SID</dd> <dt>Type C:</dt><dd>IPv4 Prefix with optional SRAlgorithm Type D: IPv6Algorithm</dd> <dt>Type D:</dt><dd>IPv6 Global Prefix with optional SR Algorithm forSR-MPLS Type E: IPv4SR-MPLS</dd> <dt>Type E:</dt><dd>IPv4 Prefix with Local InterfaceID Type F: IPv4ID</dd> <dt>Type F:</dt><dd>IPv4 Addresses for link endpoints as Local, Remotepair Type G: IPv6pair</dd> <dt>Type G:</dt><dd>IPv6 Prefix and Interface ID for link endpoints as Local, Remote pair forSR-MPLS Type H: IPv6SR-MPLS</dd> <dt>Type H:</dt><dd>IPv6 Addresses for link endpoints as Local, Remote pair forSR-MPLS Type I: IPv6SR-MPLS</dd> <dt>Type I:</dt><dd>IPv6 Global Prefix with optional SR Algorithm forSRv6 Type J: IPv6SRv6</dd> <dt>Type J:</dt><dd>IPv6 Prefix and Interface ID for link endpoints as Local, Remote pair forSRv6 Type K: IPv6SRv6</dd> <dt>Type K:</dt><dd>IPv6 Addresses for link endpoints as Local, Remote pair forSRv6 Figure 1: SRSRv6</dd> </dl> <t><xref target="RFC9830" format="default"/> specifies Segment Type Sub-TLVs for the Segment Types]]></artwork> </figure></t> <t><xref target="I-D.ietf-idr-sr-policy-safi"/>A and B. The following subsections specify the sub-TLVs used for encoding each of the other Segment Types above.</t> <!--[rfced] The following text led us to believe that the subsection titles of Section 2 would match the Type names listed in Section 2 itself: but they do not. Please review and let us know if a closer 1:1 matchup is desired between these. Original: [I-D.ietf-idr-sr-policy-safi] specifies Segment Type Sub-TLVs for the segment types A and B. The following sub-sections specify thesub-TLVssub- TLVs used for encoding each of the other Segment Typesabove.</t>above. --> <t>As specified insections 2.4.4Sections <xref target="RFC9830" sectionFormat="bare" section="2.4.4"/> and2.4.4.2<xref target="RFC9830" sectionFormat="bare" section="2.4.4.2"/> of <xreftarget="I-D.ietf-idr-sr-policy-safi"/>,target="RFC9830" format="default"/>, validation of an explicit path encoded by the Segment List sub-TLV is beyond the scope of BGP and performed by the Segment Routing Policy Module (SRPM) as described insection 5 of<xreftarget="RFC9256"/>.target="RFC9830" sectionFormat="of" section="5"/>. As specified insection 5.1 of<xreftarget="RFC9256"/>,target="RFC9256" sectionFormat="of" section="5.1"/>, a mix of SR-MPLS and SRv6 segments make the segment-list invalid.</t> <section anchor="TYPEC"title="Segmentnumbered="true" toc="default"> <name>Segment TypeC - SR-MPLS Prefix SID for IPv4">C</name> <t>The Type C SegmentSub-TLVsub-TLV encodes an IPv4 node address, SR Algorithm, and an optional SR-MPLSSID.Segment Identifier (SID). The format is as follows:<figure align="center"></t> <figure> <name>Type C Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | SR Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv4 Node Address (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 2: Type C Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 3.</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>3</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 10 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be6.</t> <t>Flags: 16.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>SR Algorithm: 1-octettarget="SEGMENTFLAGS" format="default"/>.</dd> <dt>SR Algorithm:</dt><dd>1 octet specifying the SR Algorithm as described insection 3.1.1 in<xreftarget="RFC8402"/>target="RFC8402" sectionFormat="of" section="3.1.1"/> when the A-Flag as defined in <xreftarget="SEGMENTFLAGS"/>target="SEGMENTFLAGS" format="default"/> is set. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 in<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="4"/>. When the A-Flag is not set, this fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>IPv4receipt.</dd> <dt>IPv4 NodeAddress: aAddress:</dt><dd>A 4-octet IPv4 address representing anode.</t> <t>SR-MPLS SID: optional,node.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label,TC, STraffic Class (TC), bottom-of-stack (S), and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPED"title="Segmentnumbered="true" toc="default"> <name>Segment TypeD - SR-MPLS Prefix SID for IPv6">D</name> <t>The Type D SegmentSub-TLVsub-TLV encodes an IPv6 node address, SR Algorithm, and an optional SR-MPLS SID. The format is as follows:<figure align="center"></t> <figure> <name>Type D Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | SR Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 3: Type D Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 4</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>4</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 22 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be18.</t> <t>Flags: 118.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>SR Algorithm: 1-octettarget="SEGMENTFLAGS" format="default"/>.</dd> <dt>SR Algorithm:</dt><dd>1 octet specifying the SR Algorithm as described insection 3.1.1 in<xreftarget="RFC8402"/>target="RFC8402" sectionFormat="of" section="3.1.1"/> when the A-Flag as defined in <xreftarget="SEGMENTFLAGS"/>target="SEGMENTFLAGS" format="default"/> is set. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 in<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="4"/>. When the A-Flag is not set, this fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>IPv6receipt.</dd> <dt>IPv6 NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address representing anode.</t> <t>SR-MPLS SID: optional,node.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label, TC,SS, and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPEE"title="Segmentnumbered="true" toc="default"> <name>Segment TypeE - SR-MPLS Adjacency SID for IPv4 with an Interface ID">E</name> <t>The Type E SegmentSub-TLVsub-TLV encodes an IPv4 node address, a local interface Identifier (Local Interface ID), and an optional SR-MPLS SID. The format is as follows:<figure align="center"></t> <figure> <name>Type E Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Interface ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IPv4 Node Address (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 4: Type E Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 5.</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>5</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 14 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be10.</t> <t>Flags: 110.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>RESERVED: 1target="SEGMENTFLAGS" format="default"/>.</dd> <dt>RESERVED:</dt><dd>1 octet of reserved bits. This fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local InterfaceID: 4ID:</dt><dd>4 octetsofcarrying the interface index of the local interface (refer to TLV 258 of <xreftarget="RFC9552"/>).</t> <t>IPv4target="RFC9552" format="default"/>).</dd> <dt>IPv4 NodeAddress: aAddress:</dt><dd>A 4-octet IPv4 address representing anode.</t> <t>SR-MPLS SID: optional,node.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label, TC,SS, and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPEF"title="Segmentnumbered="true" toc="default"> <name>Segment TypeF - SR-MPLS Adjacency SID for IPv4 with an Interface Address">F</name> <t>The Type F SegmentSub-TLVsub-TLV encodes an adjacency local address, an adjacency remote address, and an optional SR-MPLS SID. The format is as follows:<figure align="center"></t> <figure> <name>Type F Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local IPv4 Address (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote IPv4 Address (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 5: Type F Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 6.</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>6</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 14 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be10.</t> <t>Flags: 110.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>RESERVED: 1target="SEGMENTFLAGS" format="default"/>.</dd> <dt>RESERVED:</dt><dd>1 octet of reserved bits. This fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local IPv4Address: aAddress:</dt><dd>A 4-octet IPv4 address representing the local link address of thenode.</t> <t>Remotenode.</dd> <dt>Remote IPv4Address: aAddress:</dt><dd>A 4-octet IPv4 address representing the link address of the neighbornode.</t> <t>SR-MPLS SID: optional,node.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label, TC,SS, and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPEG"title="Segmentnumbered="true" toc="default"> <name>Segment TypeG - SR-MPLS Adjacency SID for IPv6 with an Interface ID">G</name> <t>The Type G SegmentSub-TLVsub-TLV encodes an IPv6 link-local adjacency with an IPv6 local node address, a local interface identifier (Local Interface ID), an IPv6 remote node address, a remote interface identifier (Remote Interface ID), and an optional SR-MPLS SID. The format is as follows:<figure align="center"></t> <figure> <name>Type G Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Interface ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Local Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote Interface ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Remote Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 6: Type G Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 7</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>7</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 46 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be42.</t> <t>Flags: 142.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>RESERVED: 1target="SEGMENTFLAGS" format="default"/>.</dd> <dt>RESERVED:</dt><dd>1 octet of reserved bits. This fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local InterfaceID: 4ID:</dt><dd>4 octets of interface index of local interface (refer to TLV 258 of <xreftarget="RFC9552"/>).</t> <t>IPv6target="RFC9552" format="default"/>).</dd> <dt>IPv6 Local NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address representing thenode.</t> <t>Remotenode.</dd> <dt>Remote InterfaceID: 4ID:</dt><dd>4 octets of interface index of remote interface (refer to TLV 258 of <xreftarget="RFC9552"/>).target="RFC9552" format="default"/>). The valueMAY<bcp14>MAY</bcp14> be set to zero when the local node address and interface identifiers are sufficient to describe thelink.</t> <t>IPv6link.</dd> <dt>IPv6 Remote NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address. The valueMAY<bcp14>MAY</bcp14> be set to zero when the local node address and interface identifiers are sufficient to describe thelink.</t> <t>SR-MPLS SID: optional,link.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label, TC,SS, and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPEH"title="Segmentnumbered="true" toc="default"> <name>Segment TypeH - SR-MPLS Adjacency SID for IPv6 with an Interface Address">H</name> <t>The Type H SegmentSub-TLVsub-TLV encodes an adjacency local address, an adjacency remote address, and an optional SR-MPLS SID. The format is as follows:<figure align="center"></t> <figure> <name>Type H Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Local IPv6 Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Remote IPv6 Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SR-MPLS SID (optional, 4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 7: Type H Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 8</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>8</dd> <dt>Length:</dt><dd>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be 38 when the SR-MPLS SID ispresent, elsepresent; else, itMUST<bcp14>MUST</bcp14> be34.</t> <t>Flags: 134.</dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>RESERVED: 1target="SEGMENTFLAGS" format="default"/>.</dd> <dt>RESERVED:</dt><dd>1 octet of reserved bits. This fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local IPv6Address: aAddress:</dt><dd>A 16-octet IPv6 address representing the local link address of thenode.</t> <t>Remotenode.</dd> <dt>Remote IPv6Address: aAddress:</dt><dd>A 16-octet IPv6 address representing the link address of the neighbornode.</t> <t>SR-MPLS SID: optional,node.</dd> <dt>SR-MPLS SID:</dt><dd>Optional. A 4-octet field containing a label, TC,SS, and TTL as defined for Segment Type A <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> </section> <section anchor="TYPEI"title="Segmentnumbered="true" toc="default"> <name>Segment TypeI - SRv6 END SID as IPv6 Node Address">I</name> <t>The Type I SegmentSub-TLVsub-TLV encodes an IPv6 node address, an SR Algorithm, and an optional SRv6 SID. The format is as follows:<figure align="center"></t> <figure> <name>Type I Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | SR Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 SID (optional, 16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 Endpoint Behavior and SID Structure // // (optional, 8 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 8: Type I Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 14</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>14</dd> <dt>Length:</dt><dd><t>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be oneof: 42of the following:</t> <ul spacing="compact"> <li>42 when both SRv6 SID and SRv6 Endpoint Behavior&and SID Structure arepresent, 34present,</li> <li>34 when only SRv6 SID is present,or 18or</li> <li>18 when the SRv6 SID is notpresent.</t> <t>Flags: 1present.</li> </ul> </dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>SR Algorithm: 1target="SEGMENTFLAGS" format="default"/>.</dd> <dt>SR Algorithm:</dt><dd>1 octet specifying the SR Algorithm as described insection 3.1.1 in<xreftarget="RFC8402"/>target="RFC8402" sectionFormat="of" section="3.1.1"/> when the A-Flag as defined in <xreftarget="SEGMENTFLAGS"/>target="SEGMENTFLAGS" format="default"/> is set. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 in<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="4"/>. When the A-Flag is not set, this fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>IPv6receipt.</dd> <dt>IPv6 NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address representing thenode.</t> <t>SRv6 SID: optional, anode.</dd> <dt>SRv6 SID:</dt><dd>Optional. A 16-octet IPv6 address. The value 0MAY<bcp14>MAY</bcp14> be used when the controller wants to indicate the desired SRv6 Endpoint Behavior or SID Structure without specifying theSID.</t> <t>SRv6SID.</dd> <dt>SRv6 Endpoint Behavior and SIDStructure: Optional,Structure:</dt><dd>Optional, as defined insection 2.4.4.2.4 of<xreftarget="I-D.ietf-idr-sr-policy-safi"/>.target="RFC9830" sectionFormat="of" section="2.4.4.2.4"/>. The SRv6 Endpoint Behaviorandor SID StructureMUST NOT<bcp14>MUST NOT</bcp14> be included when the SRv6 SID has not beenincluded.</t> </list></t> <t>The TLVincluded.</dd> </dl> <t>TLV 10 defined for the advertisement of Segment Type I in the early draft versions of <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> has been deprecated to avoidbackward compatibilitybackward-compatibility issues.</t> </section> <section anchor="TYPEJ"title="Segmentnumbered="true" toc="default"> <name>Segment TypeJ - SRv6 END.X SID as an Interface ID">J</name> <t>The Type J SegmentSub-TLVsub-TLV encodes an IPv6 link-local adjacency with a local node address, a local interface identifier (Local Interface ID), a remote IPv6 node address, a remote interface identifier (Remote Interface ID), and an optional SRv6 SID. The format is as follows:<figure align="center"></t> <figure> <name>Type J Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | SR Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local Interface ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Local Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote Interface ID (4 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // IPv6 Remote Node Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 SID (optional, 16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 Endpoint Behavior and SID Structure // // (optional, 8 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 9: Type J Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 15</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>15</dd> <dt>Length:</dt><dd><t>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be oneof: 66of the following:</t> <ul spacing="compact"> <li>66 when both SRv6 SID and SRv6 Endpoint Behavior&and SID Structure arepresent, 58present,</li> <li>58 when only SRv6 SID is present,or 42or</li> <li>42 when the SRv6 SID is notpresent.</t> <t>Flags: 1present.</li> </ul> </dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>SR Algorithm: 1-octettarget="SEGMENTFLAGS" format="default"/>.</dd> <dt>SR Algorithm:</dt><dd>1 octet specifying the SR Algorithm as described insection 3.1.1 in<xreftarget="RFC8402"/>target="RFC8402" sectionFormat="of" section="3.1.1"/> when the A-Flag as defined in <xreftarget="SEGMENTFLAGS"/>target="SEGMENTFLAGS" format="default"/> is set. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 in<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="4"/>. When the A-Flag is not set, this fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local InterfaceID: 4ID:</dt><dd>4 octets of interface index of local interface (refer to TLV 258 of <xreftarget="RFC9552"/>).</t> <t>IPv6target="RFC9552" format="default"/>).</dd> <dt>IPv6 Local NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address representing thenode.</t> <t>Remotenode.</dd> <dt>Remote InterfaceID: 4ID:</dt><dd>4 octets of interface index of remote interface (refer to TLV 258 of <xreftarget="RFC9552"/>).target="RFC9552" format="default"/>). The valueMAY<bcp14>MAY</bcp14> be set to zero when the local node address and interface identifiers are sufficient to describe thelink.</t> <t>IPv6link.</dd> <dt>IPv6 Remote NodeAddress: aAddress:</dt><dd>A 16-octet IPv6 address. The valueMAY<bcp14>MAY</bcp14> be set to zero when the local node address and interface identifiers are sufficient to describe thelink.</t> <t>SRv6 SID: optional, alink.</dd> <dt>SRv6 SID:</dt><dd>Optional. A 16-octet IPv6 address. The value 0MAY<bcp14>MAY</bcp14> be used when the controller wants to indicate the desired SRv6 Endpoint Behavior or SID Structure without specifying theSID.</t> <t>SRv6SID.</dd> <dt>SRv6 Endpoint Behavior and SIDStructure: Optional,Structure:</dt><dd>Optional, as defined insection 2.4.4.2.4 of<xreftarget="I-D.ietf-idr-sr-policy-safi"/>.target="RFC9830" sectionFormat="of" section="2.4.4.2.4"/>. The SRv6 Endpoint Behavior and SID StructureMUST NOT<bcp14>MUST NOT</bcp14> be included when the SRv6 SID has not beenincluded.</t> </list></t> <t>The TLVincluded.</dd> </dl> <t>TLV 11 defined for the advertisement of Segment Type J in the early draft versions of <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> has been deprecated to avoidbackward compatibilitybackward-compatibility issues.</t> </section> <section anchor="TYPEK"title="Segmentnumbered="true" toc="default"> <name>Segment TypeK - SRv6 END.X SID as an Interface Address">K</name> <t>The Type K SegmentSub-TLVsub-TLV encodes an adjacency local address, an adjacency remote address, and an optional SRv6 SID. The format is as follows:<figure align="center"></t> <figure> <name>Type K Segment Sub-TLV</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![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 | Flags | SR Algorithm | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Local IPv6 Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // Remote IPv6 Address (16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 SID (optional, 16 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // SRv6 Endpoint Behavior and SID Structure // // (optional, 8 octets) // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 10: Type K Segment sub-TLV where:]]></artwork> </figure><list style="symbols"> <t>Type: 16</t> <t>Length: Specifies]]></artwork> </figure> <t>Where:</t> <dl spacing="normal" newline="false"> <dt>Type:</dt><dd>16</dd> <dt>Length:</dt><dd><t>Specifies the length of the value field (i.e., not including Type and Length fields) in terms of octets. The valueMUST<bcp14>MUST</bcp14> be oneof: 58of the following:</t> <ul spacing="compact"> <li>58 when both SRv6 SID and SRv6 Endpoint Behavior&and SID Structure arepresent, 50present,</li> <li>50 when only SRv6 SID is present,or 34or</li> <li>34 when the SRv6 SID is notpresent.</t> <t>Flags: 1present.</li> </ul> </dd> <dt>Flags:</dt><dd>1 octet of flags as defined in <xreftarget="SEGMENTFLAGS"/>.</t> <t>SR Algorithm: 1-octettarget="SEGMENTFLAGS" format="default"/>.</dd> <dt>SR Algorithm:</dt><dd>1 octet specifying the SR Algorithm as described insection 3.1.1 in<xreftarget="RFC8402"/>target="RFC8402" sectionFormat="of" section="3.1.1"/> when the A-Flag as defined in <xreftarget="SEGMENTFLAGS"/>target="SEGMENTFLAGS" format="default"/> is set. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 in<xreftarget="RFC9256"/>.target="RFC9256" sectionFormat="of" section="4"/>. When the A-Flag is not set, this fieldMUST<bcp14>MUST</bcp14> be set to zero on transmission andMUST<bcp14>MUST</bcp14> be ignored onreceipt.</t> <t>Localreceipt.</dd> <dt>Local IPv6Address: aAddress:</dt><dd>A 16-octet IPv6 address representing the local link address of thenode.</t> <t>Remotenode.</dd> <dt>Remote IPv6Address: aAddress:</dt><dd>A 16-octet IPv6 address representing the link address of the neighbornode.</t> <t>SRv6 SID: optional, anode.</dd> <dt>SRv6 SID:</dt><dd>Optional. A 16-octet IPv6 address. The value 0MAY<bcp14>MAY</bcp14> be used when the controller wants to indicate the desired SRv6 Endpoint Behavior or SID Structure without specifying theSID.</t> <t>SRv6SID.</dd> <dt>SRv6 Endpoint Behavior and SIDStructure: Optional,Structure:</dt><dd>Optional, as defined insection 2.4.4.2.4 of<xreftarget="I-D.ietf-idr-sr-policy-safi"/>.target="RFC9830" sectionFormat="of" section="2.4.4.2.4"/>. The SRv6 Endpoint Behavior and SID StructureMUST NOT<bcp14>MUST NOT</bcp14> be included when the SRv6 SID has not beenincluded.</t> </list></t> <t>The TLVincluded.</dd> </dl> <t>TLV 12 defined for the advertisement of Segment Type K in the early draft versions of <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> has been deprecated to avoidbackward compatibilitybackward-compatibility issues.</t> </section> <section anchor="SEGMENTFLAGS"title="SRnumbered="true" toc="default"> <name>SR Policy SegmentFlags">Flags</name> <t>The SegmentTypesType sub-TLVs described above may contain the following SR Policy Segment Flags <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> in their"Flags" field. Also refer toFlags field (see also <xreftarget="IANASIDFLAGS"/>.target="IANASIDFLAGS" format="default"/>). This document introduces additional flagsas below:<figure align="center">below:</t> <figure> <name>SR Policy Segment Flags</name> <artworkalign="left"><![CDATA[align="left" name="" type="" alt=""><![CDATA[ 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+ |V|A|S|B| | +-+-+-+-+-+-+-+-+Figure 11: SR Policy Segment Flags]]></artwork> </figure>where:<list> <t>V-Flag:<t>Where:</t> <dl spacing="normal" newline="false"> <dt>V-Flag:</dt><dd>This is an existing flag as defined in <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> <t>A-Flag: This flag, whentarget="RFC9830" format="default"/>.</dd> <dt>A-Flag:</dt><dd>When set, this flag indicates the presence of the SR Algorithm id in the"SR Algorithm"SR Algorithm field applicable to various Segment Types. The SR Algorithm is used by the SRPM <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> as described insection 4 of<xreftarget="RFC9256"/>.</t> <t>S-Flag: This flag, whentarget="RFC9256" sectionFormat="of" section="4"/>.</dd> <dt>S-Flag:</dt><dd>When set, this flag indicates the presence of the SR-MPLS or SRv6 SID depending on the segmenttype.</t> <t>B-Flag:type.</dd> <dt>B-Flag:</dt><dd>This is an existing flag as defined in <xreftarget="I-D.ietf-idr-sr-policy-safi"/>.</t> </list></t>target="RFC9830" format="default"/>.</dd> </dl> <t>The following applies to the SegmentFlags:<list style="symbols"> <t>V-FlagFlags:</t> <ul spacing="normal"> <li> <t>The V-Flag applies to all Segment Types includingthe onesthose introduced by this document.</t><t>A-Flag</li> <li> <t>The A-Flag applies to Segment Types C, D, I, J, and K. The value of the A-FlagMUST<bcp14>MUST</bcp14> be ignored for Segment Types A, B, E, F, G, and H.</t><t>S-Flag</li> <li> <t>The S-Flag applies to Segment Types C, D, E, F, G, H, I, J, and K. The value of the S-FlagMUST<bcp14>MUST</bcp14> be ignored for Segment Types A and B.</t><t>B-Flag</li> <li> <t>The B-Flag applies to Segment Types B, I, J, and K. The value of the B-FlagMUST<bcp14>MUST</bcp14> be ignored for Segment Types A, C, D, E, F, G, and H.</t></list></t></li> </ul> </section> </section> <section anchor="IANA"title="IANA Considerations"> <t>This section covers the IANA considerations for this document.</t>numbered="true" toc="default"> <name>IANA Considerations</name> <section anchor="IANASIDLIST"title="SRnumbered="true" toc="default"> <!--[rfced] We have updated Table 1 in response to Ketan's AUTH48 guidance. We will communicate these changes to IANA for the following registry once AUTH48 completes: Registry: https://www.iana.org/assignments/bgp-tunnel-encapsulation/bgp-tunnel-encapsulation.xhtml#sr-policy-segment-list-sub-tlvs Old (for each entry): Segment Type [C-K] sub-TLV New (for each entry): Type [C-K] Segment sub-TLV Note that a similar change will be requested for the values in RFC-to-be 9830. --> <name>SR Policy Segment ListSub-TLVs"> <t>This document requests the allocation ofSub-TLVs</name> <t>IANA has allocated the following code points from the "SR Policy Segment List Sub-TLVs" registry <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> under the"BGP"Border Gateway Protocol (BGP) Tunnel Encapsulation" registry group.</t><t><figure align="center"> <artwork align="center"><![CDATA[Value Description Reference ----------------------------------------------------- 3<table> <name>SR Policy SegmentTypeList Code Points</name> <thead> <tr> <th>Value</th> <th>Description</th> <th>Reference</th> </tr> </thead> <tbody> <tr> <td>3</td> <td>Type Csub-TLV This document 4SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>4</td> <td>Type Dsub-TLV This document 5SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>5</td> <td>Type Esub-TLV This document 6SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>6</td> <td>Type Fsub-TLV This document 7SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>7</td> <td>Type Gsub-TLV This document 8SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>8</td> <td>Type Hsub-TLV This document 14SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>14</td> <td>Type Isub-TLV This document 15SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>15</td> <td>Type Jsub-TLV This document 16SegmentTypesub-TLV</td> <td>RFC 9831</td> </tr> <tr> <td>16</td> <td>Type Ksub-TLV This document Table 1: SR PolicySegmentList Code Points ]]></artwork> </figure></t>sub-TLV</td> <td>RFC 9831</td> </tr> </tbody> </table> </section> <section anchor="IANASIDFLAGS"title="SRnumbered="true" toc="default"> <name>SR Policy SegmentFlags"> <t>This document requests the allocation ofFlags</name> <t>IANA has allocated code points from the "SR Policy Segment Flags" registry <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> under the"BGP"Border Gateway Protocol (BGP) Tunnel Encapsulation" registry group.</t><t><figure align="center"> <artwork align="center"><![CDATA[ Bit Description Reference ------------------------------------------------------------------ 1 SR<table> <name>SR Policy Segment Flags</name> <thead> <tr> <th>Bit</th> <th>Description</th> <th>Reference</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>SR Algorithm Flag(A-Flag) This document 2 SID(A-Flag)</td> <td>This document</td> </tr> <tr> <td>2</td> <td>SID Specified Flag(S-Flag) This document Table 2: SR Policy Segment Flags ]]></artwork> </figure></t>(S-Flag)</td> <td>This document</td> </tr> </tbody> </table> </section> </section> <section anchor="Security"title="Security Considerations">numbered="true" toc="default"> <name>Security Considerations</name> <t>The security considerations in <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> apply to thesegment typesSegment Types defined in this document. No additional security considerations areintroduced in this document.</t>introduced.</t> </section> <section anchor="Manageability"title="Manageability Considerations">numbered="true" toc="default"> <name>Manageability Considerations</name> <t>The operations and manageability considerations in <xreftarget="I-D.ietf-idr-sr-policy-safi"/>target="RFC9830" format="default"/> apply to thesegment typesSegment Types defined in this document. No additional operations and manageability considerations areintroduced in this document.</t>introduced.</t> </section> </middle> <back> <references> <name>Normative References</name> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/> <!-- [RFC9830] draft-ietf-idr-sr-policy-safi-13 companion doc RFC 9830. --> <reference anchor="RFC9830" target="https://www.rfc-editor.org/info/rfc9830"> <front> <title>Advertising Segment Routing Policies in BGP</title> <author initials="S." surname="Previdi" fullname="Stefano Previdi"> <organization>Huawei Technologies</organization> </author> <author initials="C." surname="Filsfils" fullname="Clarence Filsfils"> <organization>Cisco Systems</organization> </author> <author initials="K." surname="Talaulikar" fullname="Ketan Talaulikar" role="editor"> <organization>Cisco Systems</organization> </author> <author initials="P." surname="Mattes" fullname="Paul Mattes"> <organization>Microsoft</organization> </author> <author initials="D." surname="Jain" fullname="Dhanendra Jain"> <organization>Google</organization> </author> <date month='August' year='2025'/> </front> <seriesInfo name="RFC" value="9830"/> <seriesInfo name="DOI" value="10.17487/RFC9830"/> </reference> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9552.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9256.xml"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml"/> </references> <sectiontitle="Acknowledgments">numbered="false" toc="default"> <name>Acknowledgments</name> <t>The authorsof this documentwould like toDan Romascanu, Stig Venaas, and Russ Housley<contact fullname="Dan Romascanu"/>, <contact fullname="Stig Venaas"/>, and <contact fullname="Russ Housley"/> for their comments andreview of this document.review. The authors would like to thankSusan Hares<contact fullname="Susan Hares"/> for her detailed shepherd review that helped in improving the document.</t> </section></middle> <back> <references title="Normative References"> <?rfc include="reference.RFC.2119"?> <?rfc include="reference.RFC.8174"?> <?rfc include="reference.I-D.ietf-idr-sr-policy-safi"?> <?rfc include="reference.RFC.8402"?> <?rfc include="reference.RFC.8660"?> <?rfc include="reference.RFC.9552"?> <?rfc include="reference.RFC.8754"?> <?rfc include="reference.RFC.9256"?> <?rfc include="reference.RFC.8986"?> </references> <references title="Informational References"/></back> </rfc>