summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9352.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc9352.txt')
-rw-r--r--doc/rfc/rfc9352.txt1361
1 files changed, 1361 insertions, 0 deletions
diff --git a/doc/rfc/rfc9352.txt b/doc/rfc/rfc9352.txt
new file mode 100644
index 0000000..a9b793a
--- /dev/null
+++ b/doc/rfc/rfc9352.txt
@@ -0,0 +1,1361 @@
+
+
+
+
+Internet Engineering Task Force (IETF) P. Psenak, Ed.
+Request for Comments: 9352 C. Filsfils
+Updates: 7370 A. Bashandy
+Category: Standards Track Cisco Systems
+ISSN: 2070-1721 B. Decraene
+ Orange
+ Z. Hu
+ Huawei Technologies
+ February 2023
+
+
+ IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane
+
+Abstract
+
+ The Segment Routing (SR) architecture allows a flexible definition of
+ the end-to-end path by encoding it as a sequence of topological
+ elements called "segments". It can be implemented over the MPLS or
+ the IPv6 data plane. This document describes the IS-IS extensions
+ required to support SR over the IPv6 data plane.
+
+ This document updates RFC 7370 by modifying an existing registry.
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9352.
+
+Copyright Notice
+
+ Copyright (c) 2023 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Revised BSD License text as described in Section 4.e of the
+ Trust Legal Provisions and are provided without warranty as described
+ in the Revised BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. Requirements Language
+ 2. SRv6 Capabilities Sub-TLV
+ 3. Advertising Supported Algorithms
+ 4. Advertising Maximum SRv6 SID Depths
+ 4.1. Maximum Segments Left MSD Type
+ 4.2. Maximum End Pop MSD Type
+ 4.3. Maximum H.Encaps MSD Type
+ 4.4. Maximum End D MSD Type
+ 5. SRv6 SIDs and Reachability
+ 6. Advertising Anycast Property
+ 7. Advertising Locators and End SIDs
+ 7.1. SRv6 Locator TLV Format
+ 7.2. SRv6 End SID Sub-TLV
+ 8. Advertising SRv6 Adjacency SIDs
+ 8.1. SRv6 End.X SID Sub-TLV
+ 8.2. SRv6 LAN End.X SID Sub-TLV
+ 9. SRv6 SID Structure Sub-Sub-TLV
+ 10. Advertising Endpoint Behaviors
+ 11. IANA Considerations
+ 11.1. SRv6 Locator TLV
+ 11.1.1. SRv6 End SID Sub-TLV
+ 11.1.2. IS-IS Sub-TLVs for TLVs Advertising Prefix
+ Reachability Registry
+ 11.2. SRv6 Capabilities Sub-TLV
+ 11.3. IS-IS Sub-Sub-TLVs for the SRv6 Capabilities Sub-TLV
+ Registry
+ 11.4. SRv6 End.X SID and SRv6 LAN End.X SID Sub-TLVs
+ 11.5. MSD Types
+ 11.6. IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs Registry
+ 11.7. Prefix Attribute Flags Sub-TLV
+ 11.8. IS-IS SRv6 Capabilities Sub-TLV Flags Registry
+ 11.9. IS-IS SRv6 Locator TLV Flags Registry
+ 11.10. IS-IS SRv6 End SID Sub-TLV Flags Registry
+ 11.11. IS-IS SRv6 Adjacency SID Sub-TLVs Flags Registry
+ 12. Security Considerations
+ 13. References
+ 13.1. Normative References
+ 13.2. Informative References
+ Acknowledgements
+ Contributors
+ Authors' Addresses
+
+1. Introduction
+
+ With Segment Routing (SR) [RFC8402], a node steers a packet through
+ an ordered list of instructions, which are called segments.
+
+ Segments are identified through Segment Identifiers (SIDs).
+
+ SR can be directly instantiated on the IPv6 data plane through the
+ use of the Segment Routing Header (SRH) defined in [RFC8754]. SRv6
+ refers to this SR instantiation on the IPv6 data plane.
+
+ The network programming paradigm [RFC8986] is central to SRv6. It
+ describes how any behavior can be bound to a SID and how any network
+ program can be expressed as a combination of SIDs.
+
+ This document specifies IS-IS extensions that allow the IS-IS
+ protocol to encode some of these SIDs and their behaviors.
+
+ Familiarity with the network programming paradigm [RFC8986] is
+ necessary to understand the extensions specified in this document.
+
+ The new SRv6 Locator top-level TLV announces SRv6 Locators -- a form
+ of summary address for the set of topology-/algorithm-specific SIDs
+ instantiated at the node.
+
+ The SRv6 Capabilities sub-TLV announces the ability to support SRv6.
+
+ Several new sub-TLVs are defined to advertise various SRv6 Maximum
+ SID Depths (MSDs).
+
+ The SRv6 End SID sub-TLV, the SRv6 End.X SID sub-TLV, and the SRv6
+ LAN End.X SID sub-TLV are used to advertise which SIDs are
+ instantiated at a node and what Endpoint behavior is bound to each
+ instantiated SID.
+
+ This document updates [RFC7370] by modifying an existing registry
+ (Section 11.1.2).
+
+1.1. Requirements Language
+
+ 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 [RFC2119] [RFC8174] when, and only when, they appear in all
+ capitals, as shown here.
+
+2. SRv6 Capabilities Sub-TLV
+
+ A node indicates that it supports the SR Segment Endpoint Node
+ functionality as specified in [RFC8754] by advertising a new SRv6
+ Capabilities sub-TLV of the Router Capability TLV [RFC7981].
+
+ The SRv6 Capabilities sub-TLV may contain optional sub-sub-TLVs. No
+ sub-sub-TLVs are currently defined.
+
+ The SRv6 Capabilities sub-TLV has the following format:
+
+ 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 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | optional sub-sub-TLVs...
+
+ Type: 25. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is 2 + length of sub-sub-TLVs.
+
+ Flags: 2 octets. The following flags are defined:
+
+ 0 1
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |O| Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ where:
+ O-flag: If set, the router supports use of the O-bit in the
+ SRH, as defined in [RFC9259].
+
+ The remaining bits, including bit 0, are reserved for future
+ use. They MUST be set to zero on transmission and MUST be
+ ignored on receipt.
+
+3. Advertising Supported Algorithms
+
+ An SRv6-capable router indicates one or more supported algorithms by
+ advertising the Segment Routing Algorithm sub-TLV, as defined in
+ [RFC8667].
+
+4. Advertising Maximum SRv6 SID Depths
+
+ [RFC8491] defines the means to advertise node-/link-specific values
+ for MSDs of various types. Node MSDs are advertised in a sub-TLV of
+ the Router Capability TLV [RFC7981]. Link MSDs are advertised in a
+ sub-TLV of TLVs 22, 23, 25, 141, 222, and 223.
+
+ This document defines the relevant SRv6 MSDs and requests MSD type
+ assignments in the "IGP MSD-Types" registry created by [RFC8491].
+
+4.1. Maximum Segments Left MSD Type
+
+ The Maximum Segments Left MSD Type signals the maximum value of the
+ "Segments Left" field [RFC8754] in the SRH of a received packet
+ before applying the Endpoint behavior associated with a SID.
+
+ SRH Max Segments Left Type: 41
+
+ If no value is advertised, the supported value is 0.
+
+4.2. Maximum End Pop MSD Type
+
+ The Maximum End Pop MSD Type signals the maximum number of SIDs in
+ the SRH to which the router can apply "Penultimate Segment Pop (PSP)
+ of the SRH" or "Ultimate Segment Pop (USP) of the SRH" behavior, as
+ defined in "Flavors" (Section 4.16 of [RFC8986]).
+
+ SRH Max End Pop Type: 42
+
+ If the advertised value is zero or no value is advertised, then
+ the router cannot apply PSP or USP flavors.
+
+4.3. Maximum H.Encaps MSD Type
+
+ The Maximum H.Encaps MSD Type signals the maximum number of SIDs that
+ can be added to the segment list of an SRH as part of the "H.Encaps"
+ behavior, as defined in [RFC8986].
+
+ SRH Max H.encaps Type: 44
+
+ If the advertised value is zero or no value is advertised, then
+ the headend can apply an SR Policy that only contains one segment
+ without inserting any SRH header.
+
+ A non-zero SRH Max H.encaps MSD indicates that the headend can
+ insert an SRH up to the advertised number of SIDs.
+
+4.4. Maximum End D MSD Type
+
+ The Maximum End D MSD Type specifies the maximum number of SIDs
+ present in an SRH when performing decapsulation. As specified in
+ [RFC8986], the permitted SID types include, but are not limited to,
+ End.DX6, End.DT4, End.DT46, End with USD, and End.X with USD.
+
+ SRH Max End D Type: 45
+
+ If the advertised value is zero or no value is advertised, then
+ the router cannot apply any behavior that results in decapsulation
+ and forwarding of the inner packet if the outer IPv6 header
+ contains an SRH.
+
+5. SRv6 SIDs and Reachability
+
+ As discussed in [RFC8986], an SRv6 Segment Identifier (SID) is 128
+ bits and consists of locator, function, and argument parts.
+
+ A node is provisioned with topology-/algorithm-specific locators for
+ each of the topology/algorithm pairs supported by that node. Each
+ locator is a covering prefix for all SIDs provisioned on that node
+ that have the matching topology/algorithm.
+
+ Locators MUST be advertised in the SRv6 Locator TLV (see
+ Section 7.1). Forwarding entries for the locators advertised in the
+ SRv6 Locator TLV MUST be installed in the forwarding plane of
+ receiving SRv6-capable routers when the associated topology/algorithm
+ is supported by the receiving node. The processing of the prefix
+ advertised in the SRv6 Locator TLV, the calculation of its
+ reachability, and the installation in the forwarding plane follows
+ the process defined for the Prefix Reachability TLV 236 [RFC5308] or
+ TLV 237 [RFC5120].
+
+ Locators associated with algorithms 0 and 1 (for all supported
+ topologies) SHOULD also be advertised in a Prefix Reachability TLV
+ (236 or 237) so that legacy routers (i.e., routers that do not
+ support SRv6) will install a forwarding entry for algorithms 0 and 1
+ SRv6 traffic.
+
+ In cases where the same prefix with the same prefix length, Multi-
+ Topology Identifier (MTID), and algorithm is received in both a
+ Prefix Reachability TLV and an SRv6 Locator TLV, the Prefix
+ Reachability advertisement MUST be preferred when installing entries
+ in the forwarding plane. This is to prevent inconsistent forwarding
+ entries between SRv6-capable and SRv6-incapable routers. Such
+ preference of Prefix Reachability advertisement does not have any
+ impact on the rest of the data advertised in the SRv6 Locator TLV.
+
+ Locators associated with Flexible Algorithms (see Section 4 of
+ [RFC9350]) SHOULD NOT be advertised in Prefix Reachability TLVs (236
+ or 237). Advertising the Flexible Algorithm locator in a regular
+ Prefix Reachability TLV (236 or 237) would make the forwarding for it
+ follow the algorithm 0 path.
+
+ SRv6 SIDs are advertised as sub-TLVs in the SRv6 Locator TLV, except
+ for SRv6 SIDs that are associated with a specific neighbor/link and
+ are therefore advertised as sub-TLVs in TLVs 22, 23, 25, 141, 222,
+ and 223.
+
+ SRv6 SIDs received from other nodes are not directly routable and
+ MUST NOT be installed in the forwarding plane. Reachability to SRv6
+ SIDs depends upon the existence of a covering locator.
+
+ Adherence to the rules defined in this section will ensure that SRv6
+ SIDs associated with a supported topology/algorithm pair will be
+ forwarded correctly, while SRv6 SIDs associated with an unsupported
+ topology/algorithm pair will be dropped. NOTE: The drop behavior
+ depends on the absence of a default/summary route covering a given
+ locator.
+
+ In order for forwarding to work correctly, the locator associated
+ with SRv6 SID advertisements must be the longest match prefix
+ installed in the forwarding plane for those SIDs. In order to ensure
+ correct forwarding, network operators should take steps to make sure
+ that this requirement is not compromised. For example, the following
+ situations should be avoided:
+
+ * Another locator associated with a different topology/algorithm is
+ the longest match.
+
+ * Another prefix advertisement (i.e., from TLV 236 or 237) is the
+ longest match.
+
+6. Advertising Anycast Property
+
+ Both prefixes and SRv6 Locators may be configured as anycast; as
+ such, the same value can be advertised by multiple routers. It is
+ useful for other routers to know that the advertisement is for an
+ anycast identifier.
+
+ A new flag in the Prefix Attribute Flags sub-TLV [RFC7794] is defined
+ to advertise the anycast property:
+
+ Bit #: 4
+ Name: Anycast Flag (A-flag)
+
+ When the prefix/SRv6 Locator is configured as anycast, the A-flag
+ SHOULD be set. Otherwise, this flag MUST be clear.
+
+ The A-flag MUST be preserved when the advertisement is leaked between
+ levels.
+
+ The A-flag and the N-flag MUST NOT both be set. If both the N-flag
+ and the A-flag are set in the prefix/SRv6 Locator advertisement, the
+ receiving routers MUST ignore the N-flag.
+
+ The same prefix/SRv6 Locator can be advertised by multiple routers.
+ If at least one of them sets the A-flag in its advertisement, the
+ prefix/SRv6 Locator SHOULD be considered as anycast.
+
+ A prefix/SRv6 Locator that is advertised by a single node and without
+ an A-flag MUST be considered node specific.
+
+ All the nodes advertising the same anycast locator MUST instantiate
+ the exact same set of SIDs under that anycast locator. Failure to do
+ so may result in traffic being dropped or misrouted.
+
+ The Prefix Attribute Flags sub-TLV can be carried in the SRv6 Locator
+ TLV as well as the Prefix Reachability TLVs. When a router
+ originates both the Prefix Reachability TLV and the SRv6 Locator TLV
+ for a given prefix, it SHOULD advertise the Prefix Attribute Flags
+ sub-TLV, if used, in both TLVs and use the same flags. However,
+ unlike TLVs 236 [RFC5308] and 237 [RFC5120], the X-flag in the Prefix
+ Attributes Flags sub-TLV is valid when sent in the SRv6 Locator TLV.
+ When included in the Locator TLV, the state of the X-flag in the
+ Prefix Attributes Flags sub-TLV MUST match the setting of the
+ embedded "X-bit" in any advertisement for the same prefix in TLVs 236
+ [RFC5308] and 237 [RFC5120]. In case of any inconsistency between
+ the Prefix Attribute Flags advertised in the Locator TLV and in the
+ Prefix Reachability TLV, the ones advertised in the Prefix
+ Reachability TLV MUST be preferred.
+
+7. Advertising Locators and End SIDs
+
+ The SRv6 Locator TLV is introduced to advertise SRv6 Locators and End
+ SIDs associated with each locator.
+
+ This new TLV shares the sub-TLV space defined for TLVs 135, 235, 236,
+ and 237.
+
+7.1. SRv6 Locator TLV Format
+
+ The SRv6 Locator TLV has the following format:
+
+ 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 |R|R|R|R| MTID |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Locator Entries . . . |
+
+ Type: 27. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is variable.
+
+ R Bits: Reserved for future use. They MUST be set to zero on
+ transmission and MUST be ignored on receipt.
+
+ MTID: Multi-Topology Identifier, as defined in [RFC5120]. Note that
+ the value 0 is legal.
+
+ The SRv6 Locator TLV is followed by one or more locator entries of
+ the form:
+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Metric |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flags | Algorithm | Loc Size |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ // Locator (continued, variable) //
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Sub-TLV-len | Sub-TLVs (variable) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Metric: 4 octets, as described in Section 4 of [RFC5305].
+
+ Flags: 1 octet. The following flags are defined:
+
+ 0
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |D| Reserved |
+ +-+-+-+-+-+-+-+-+
+
+ D-flag: "up/down bit" as described in Section 4.1 of [RFC5305].
+
+ The remaining bits are reserved for future use. They MUST be
+ set to zero on transmission and MUST be ignored on receipt.
+
+ Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry
+ [RFC8665].
+
+ Loc-Size: 1 octet. Number of bits in the SRv6 Locator field, which
+ MUST be from the range (1-128). The entire TLV MUST be ignored if
+ the Loc-Size is outside this range.
+
+ Locator: 1-16 octets. This field encodes the advertised SRv6
+ Locator. The SRv6 Locator is encoded in the minimal number of
+ octets for the given number of bits. Trailing bits MUST be set to
+ zero and ignored when received.
+
+ Sub-TLV-length: 1 octet. Number of octets used by sub-TLVs.
+
+ Optional Sub-TLVs: Supported sub-TLVs are specified in
+ Section 11.1.2. Any sub-TLV that is not allowed in the SRv6
+ Locator TLV MUST be ignored.
+
+ The Prefix Attribute Flags sub-TLV [RFC7794] SHOULD be included in
+ the Locator TLV.
+
+ The Prefix Attribute Flags sub-TLV MUST be included in the Locator
+ TLV when it is leaked upwards in the hierarchy or originated as a
+ result of the redistribution from another protocol or another IS-IS
+ instance. If the Prefix Attribute Flags sub-TLV is not included in
+ these cases, receivers will be unable to determine the correct source
+ of the advertisement. The receivers will be unable to detect the
+ violation.
+
+7.2. SRv6 End SID Sub-TLV
+
+ The SRv6 End SID sub-TLV is introduced to advertise SRv6 SIDs with
+ Endpoint behaviors that do not require a particular neighbor in order
+ to be correctly applied. SRv6 SIDs associated with a neighbor are
+ advertised using the sub-TLVs defined in Section 8.
+
+ Supported behavior values, together with parent TLVs in which they
+ are advertised, are specified in Section 10 of this document. Please
+ note that not all behaviors defined in [RFC8986] are defined in this
+ document, e.g., End.T is not.
+
+ This new sub-TLV is advertised in the SRv6 Locator TLV defined in the
+ previous section. SRv6 End SIDs inherit the topology/algorithm from
+ the parent locator.
+
+ The SRv6 End SID sub-TLV has the following format:
+
+ 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 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Endpoint Behavior |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (128 bits) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Sub-sub-TLV-len| Sub-sub-TLVs (variable) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type: 5. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is variable.
+
+ Flags: 1 octet. No flags are currently defined. All bits are
+ reserved for future use. They MUST be set to zero on transmission
+ and MUST be ignored on receipt.
+
+ Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported
+ behavior values for this sub-TLV are defined in Section 10 of this
+ document. Unsupported or unrecognized behavior values are ignored
+ by the receiver.
+
+ SID: 16 octets. This field encodes the advertised SRv6 SID.
+
+ Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub-TLVs.
+
+ Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in
+ Section 11.6. Any sub-sub-TLV that is not allowed in the SRv6 End
+ SID sub-TLV MUST be ignored.
+
+ The SRv6 End SID MUST be allocated from its associated locator. SRv6
+ End SIDs that are not allocated from the associated locator MUST be
+ ignored.
+
+ Multiple SRv6 End SIDs MAY be associated with the same locator. In
+ cases where the number of SRv6 End SID sub-TLVs exceeds the capacity
+ of a single TLV, multiple Locator TLVs for the same locator MAY be
+ advertised. For a given MTID/Locator, the algorithm MUST be the same
+ in all TLVs. If this restriction is not met, all TLVs for that MTID/
+ Locator MUST be ignored.
+
+8. Advertising SRv6 Adjacency SIDs
+
+ Certain SRv6 Endpoint behaviors [RFC8986] are associated with a
+ particular adjacency.
+
+ This document defines two new sub-TLVs of TLVs 22, 23, 25, 141, 222,
+ and 223 -- namely "SRv6 End.X SID sub-TLVs" and "SRv6 LAN End.X SID
+ sub-TLVs".
+
+ IS-IS neighbor advertisements are topology specific but not algorithm
+ specific. SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID
+ sub-TLVs therefore inherit the topology from the associated neighbor
+ advertisement, but the algorithm is specified in the individual SID.
+
+ All SIDs advertised in SRv6 End.X SID and SRv6 LAN End.X SID sub-TLVs
+ MUST be a subnet of a Locator with matching topology and algorithm
+ that are advertised by the same node in an SRv6 Locator TLV. SIDs
+ that do not meet this requirement MUST be ignored. This ensures that
+ the node advertising these SIDs is also advertising its corresponding
+ Locator with the algorithm that will be used for computing paths
+ destined to the SID.
+
+8.1. SRv6 End.X SID Sub-TLV
+
+ This sub-TLV is used to advertise an SRv6 SID associated with a
+ point-to-point adjacency. Multiple SRv6 End.X SID sub-TLVs MAY be
+ associated with the same adjacency.
+
+ The SRv6 End.X SID sub-TLV has the following format:
+
+ 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 | Algorithm |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Weight | Endpoint Behavior |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (128 bits) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Sub-sub-tlv-len| Sub-sub-TLVs (variable) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type: 43. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is variable.
+
+ Flags: 1 octet.
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |B|S|P|Reserved |
+ +-+-+-+-+-+-+-+-+
+
+ where:
+ B-Flag: Backup flag. If set, the SID is eligible for
+ protection, e.g., using IP Fast Reroute (IPFRR) [RFC5286],
+ as described in [RFC8355].
+
+ S-Flag: Set flag. When set, the S-flag indicates that the SID
+ refers to a set of adjacencies (and therefore MAY be
+ assigned to other adjacencies as well).
+
+ P-Flag: Persistent flag. When set, the P-flag indicates that
+ the SID is persistently allocated, i.e., the SID value
+ remains consistent across router restart and/or interface
+ flap.
+
+ Reserved bits: Reserved bits MUST be zero when originated and
+ MUST be ignored when received.
+
+ Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry
+ [RFC8665].
+
+ Weight: 1 octet. The value represents the weight of the SID for the
+ purpose of load balancing. The use of the weight is defined in
+ [RFC8402].
+
+ Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported
+ behavior values for this sub-TLV are defined in Section 10 of this
+ document. Unsupported or unrecognized behavior values are ignored
+ by the receiver.
+
+ SID: 16 octets. This field encodes the advertised SRv6 SID.
+
+ Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub-
+ TLVs.
+
+ Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in
+ Section 11.6. Any sub-sub-TLV that is not allowed in SRv6 End.X
+ SID sub-TLV MUST be ignored.
+
+ Note that multiple TLVs for the same neighbor may be required in
+ order to advertise all the SRv6 SIDs associated with that neighbor.
+
+8.2. SRv6 LAN End.X SID Sub-TLV
+
+ This sub-TLV is used to advertise an SRv6 SID associated with a LAN
+ adjacency. Since the parent TLV is advertising an adjacency to the
+ Designated Intermediate System (DIS) for the LAN, it is necessary to
+ include the System-ID of the physical neighbor on the LAN with which
+ the SRv6 SID is associated. Given that many neighbors may exist on a
+ given LAN, multiple SRv6 LAN END.X SID sub-TLVs may be associated
+ with the same LAN. Note that multiple TLVs for the same DIS neighbor
+ may be required in order to advertise all the SRv6 SIDs associated
+ with that neighbor.
+
+ The SRv6 LAN End.X SID sub-TLV has the following format:
+
+ 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 | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
+ | Neighbor System-ID (ID length octets) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Flags | Algorithm | Weight |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Endpoint Behavior |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (128 bits) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID (cont . . .) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |Sub-sub-TLV-len| Sub-sub-TLVs (variable) . . . |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type: 44. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is variable.
+
+ Neighbor System-ID: IS-IS System-ID of length "ID Length", as
+ defined in [ISO10589].
+
+ Flags: 1 octet.
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |B|S|P|Reserved |
+ +-+-+-+-+-+-+-+-+
+
+ The B-, S-, and P-flags are as described in Section 8.1. Reserved
+ bits MUST be zero when originated and MUST be ignored when
+ received.
+
+ Algorithm: 1 octet, as defined in the "IGP Algorithm Types" registry
+ [RFC8665].
+
+ Weight: 1 octet. The value represents the weight of the SID for the
+ purpose of load balancing. The use of the weight is defined in
+ [RFC8402].
+
+ Endpoint Behavior: 2 octets, as defined in [RFC8986]. Supported
+ behavior values for this sub-TLV are defined in Section 10 of this
+ document. Unsupported or unrecognized behavior values are ignored
+ by the receiver.
+
+ SID: 16 octets. This field encodes the advertised SRv6 SID.
+
+ Sub-sub-TLV-length: 1 octet. Number of octets used by sub-sub-
+ TLVs.
+
+ Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in
+ Section 11.6. Any sub-sub-TLV that is not allowed in SRv6 LAN
+ End.X SID sub-TLV MUST be ignored.
+
+ Note that multiple TLVs for the same neighbor, on the same LAN, may
+ be required in order to advertise all the SRv6 SIDs associated with
+ that neighbor.
+
+9. SRv6 SID Structure Sub-Sub-TLV
+
+ The SRv6 SID Structure sub-sub-TLV is an optional sub-sub-TLV of:
+
+ * SRv6 End SID sub-TLV (Section 7.2)
+
+ * SRv6 End.X SID sub-TLV (Section 8.1)
+
+ * SRv6 LAN End.X SID sub-TLV (Section 8.2)
+
+ The SRv6 SID Structure sub-sub-TLV is used to advertise the structure
+ of the SRv6 SID, as defined in [RFC8986]. It has the following
+ format:
+
+ 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 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | LB Length | LN Length | Fun. Length | Arg. Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ where:
+ Type: 1. Single octet, as defined in Section 9 of [ISO10589].
+
+ Length: Single octet, as defined in Section 9 of [ISO10589]. The
+ length value is 4 octets.
+
+ LB Length: 1 octet. SRv6 SID Locator Block length in bits.
+
+ LN Length: 1 octet. SRv6 SID Locator Node length in bits.
+
+ Fun. Length: 1 octet. SRv6 SID Function length in bits.
+
+ Arg. Length: 1 octet. SRv6 SID Arguments length in bits.
+
+ The IS-IS SRv6 SID Structure sub-sub-TLV MUST NOT appear more than
+ once in its parent sub-TLV. If it appears more than once in its
+ parent sub-TLV, the parent sub-TLV MUST be ignored by the receiver.
+
+ The sum of all four sizes advertised in the IS-IS SRv6 SID Structure
+ sub-sub-TLV MUST be less than or equal to 128 bits. If the sum of
+ all four sizes advertised in the IS-IS SRv6 SID Structure sub-sub-TLV
+ is larger than 128 bits, the parent sub-TLV MUST be ignored by the
+ receiver.
+
+ The SRv6 SID Structure sub-sub-TLV is intended for informational use
+ by the control and management planes. It MUST NOT be used at a
+ transit node (as defined in [RFC8754]) for forwarding packets. As an
+ example, this information could be used for the following:
+
+ * validation of SRv6 SIDs being instantiated in the network and
+ advertised via IS-IS. These can be learned by controllers via
+ Border Gateway Protocol - Link State (BGP-LS) and then be
+ monitored for conformance to the SRv6 SID allocation scheme chosen
+ by the operator, as described in Section 3.2 of [RFC8986].
+
+ * verification and automation for securing the SRv6 domain by
+ provisioning filtering rules at SR domain boundaries, as described
+ in Section 5 of [RFC8754].
+
+ The details of these potential applications are outside the scope of
+ this document.
+
+10. Advertising Endpoint Behaviors
+
+ Endpoint behaviors are defined in [RFC8986]. The codepoints for the
+ Endpoint behaviors are defined in the "SRv6 Endpoint Behaviors"
+ registry defined in [RFC8986]. If a behavior is advertised, it MUST
+ only be advertised in the TLV(s) marked with "Y" in the table below
+ and MUST NOT be advertised in the TLV(s) marked with "N" in the table
+ below.
+
+ +===================+===================+=====+=======+===========+
+ | Endpoint Behavior | Endpoint Behavior | End | End.X | Lan End.X |
+ | | Codepoint | SID | SID | SID |
+ +===================+===================+=====+=======+===========+
+ | End (PSP, USP, | 1-4, 28-31 | Y | N | N |
+ | USD) | | | | |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.X (PSP, USP, | 5-8, 32-35 | N | Y | Y |
+ | USD) | | | | |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.DX6 | 16 | N | Y | Y |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.DX4 | 17 | N | Y | Y |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.DT6 | 18 | Y | N | N |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.DT4 | 19 | Y | N | N |
+ +-------------------+-------------------+-----+-------+-----------+
+ | End.DT46 | 20 | Y | N | N |
+ +-------------------+-------------------+-----+-------+-----------+
+
+ Table 1: Endpoint Behaviors
+
+11. IANA Considerations
+
+ This document requests allocation for the following TLVs, sub-TLVs,
+ and sub-sub-TLVs by updating the existing registries and defining new
+ registries under the "IS-IS TLV Codepoints" grouping.
+
+11.1. SRv6 Locator TLV
+
+ The SRv6 Locator TLV shares sub-TLV space with TLVs advertising
+ prefix reachability. IANA has updated the "IS-IS Sub-TLVs for TLVs
+ Advertising Prefix Reachability" registry initially defined in
+ [RFC7370] by adding this document as a reference and updating the
+ description of that registry to include the SRv6 Locator TLV (27).
+
+ This document makes the following registration in the "IS-IS Top-
+ Level TLV Codepoints" registry:
+
+ +=======+==============+=====+=====+=====+=======+
+ | Value | Name | IIH | LSP | SNP | Purge |
+ +=======+==============+=====+=====+=====+=======+
+ | 27 | SRv6 Locator | n | y | n | n |
+ +-------+--------------+-----+-----+-----+-------+
+
+ Table 2: IS-IS Top-Level TLV Codepoints Registry
+
+11.1.1. SRv6 End SID Sub-TLV
+
+ This document makes the following registration:
+
+ +======+==============+====+=====+=====+=====+=====+=============+
+ | Type | Description | 27 | 135 | 235 | 236 | 237 | Reference |
+ +======+==============+====+=====+=====+=====+=====+=============+
+ | 5 | SRv6 End SID | y | n | n | n | n | RFC 9352, |
+ | | | | | | | | Section 7.2 |
+ +------+--------------+----+-----+-----+-----+-----+-------------+
+
+ Table 3: IS-IS Sub-TLVs for TLVs Advertising Prefix
+ Reachability Registry
+
+11.1.2. IS-IS Sub-TLVs for TLVs Advertising Prefix Reachability
+ Registry
+
+ IANA has updated the "IS-IS Sub-TLVs for TLVs Advertising Prefix
+ Reachability" registry to include a column for the SRv6 Locator TLV
+ (27) as shown below:
+
+ +======+=======================+====+=====+=====+=====+=====+
+ | Type | Description | 27 | 135 | 235 | 236 | 237 |
+ +======+=======================+====+=====+=====+=====+=====+
+ | 1 | 32-bit Administrative | y | y | y | y | y |
+ | | Tag Sub-TLV | | | | | |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 2 | 64-bit Administrative | y | y | y | y | y |
+ | | Tag Sub-TLV | | | | | |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 3 | Prefix Segment | n | y | y | y | y |
+ | | Identifier | | | | | |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 4 | Prefix Attribute | y | y | y | y | y |
+ | | Flags | | | | | |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 6 | Flexible Algorithm | n | y | y | y | y |
+ | | Prefix Metric (FAPM) | | | | | |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 11 | IPv4 Source Router ID | y | y | y | y | y |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 12 | IPv6 Source Router ID | y | y | y | y | y |
+ +------+-----------------------+----+-----+-----+-----+-----+
+ | 32 | BIER Info | n | y | y | y | y |
+ +------+-----------------------+----+-----+-----+-----+-----+
+
+ Table 4: IS-IS Sub-TLVs for TLVs Advertising Prefix
+ Reachability Registry
+
+11.2. SRv6 Capabilities Sub-TLV
+
+ This document makes the following registration in the "IS-IS Sub-TLVs
+ for IS-IS Router CAPABILITY TLV" registry:
+
+ +=======+===================+=====================+
+ | Value | Description | Reference |
+ +=======+===================+=====================+
+ | 25 | SRv6 Capabilities | RFC 9352, Section 2 |
+ +-------+-------------------+---------------------+
+
+ Table 5: IS-IS Sub-TLVs for IS-IS Router
+ CAPABILITY TLV Registry
+
+11.3. IS-IS Sub-Sub-TLVs for the SRv6 Capabilities Sub-TLV Registry
+
+ IANA has created the "IS-IS Sub-Sub-TLVs for SRv6 Capabilities Sub-
+ TLV" registry under the "IS-IS TLV Codepoints" grouping for the
+ assignment of sub-TLV types for the SRv6 Capabilities sub-TLV
+ specified in this document (Section 2). This registry defines sub-
+ sub-TLVs for the SRv6 Capabilities sub-TLV (25) advertised in the IS-
+ IS Router CAPABILITY TLV (242).
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. No sub-sub-TLVs are defined by this document, except for
+ the reserved type 0.
+
+ +=======+=============+===========+
+ | Value | Description | Reference |
+ +=======+=============+===========+
+ | 0 | Reserved | RFC 9532 |
+ +-------+-------------+-----------+
+ | 1-255 | Unassigned | |
+ +-------+-------------+-----------+
+
+ Table 6: IS-IS Sub-Sub-TLVs for
+ SRv6 Capabilities Sub-TLV
+ Registry
+
+11.4. SRv6 End.X SID and SRv6 LAN End.X SID Sub-TLVs
+
+ This document makes the following registrations in the "IS-IS Sub-
+ TLVs for TLVs Advertising Neighbor Information" registry:
+
+ +======+=============+====+====+====+=====+=====+=====+=============+
+ | Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | Reference |
+ +======+=============+====+====+====+=====+=====+=====+=============+
+ | 43 | SRv6 End.X | y | y | y | y | y | y | RFC 9352, |
+ | | SID | | | | | | | Section |
+ | | | | | | | | | 8.1 |
+ +------+-------------+----+----+----+-----+-----+-----+-------------+
+ | 44 | SRv6 LAN | y | y | y | y | y | y | RFC 9352, |
+ | | End.X SID | | | | | | | Section |
+ | | | | | | | | | 8.2 |
+ +------+-------------+----+----+----+-----+-----+-----+-------------+
+
+ Table 7: IS-IS Sub-TLVs for TLVs Advertising Neighbor Information
+ Registry
+
+11.5. MSD Types
+
+ This document makes the following registrations in the "IGP MSD-
+ Types" registry:
+
+ +=======+==================+===========+
+ | Value | Name | Reference |
+ +=======+==================+===========+
+ | 41 | SRH Max SL | RFC 9352 |
+ +-------+------------------+-----------+
+ | 42 | SRH Max End Pop | RFC 9352 |
+ +-------+------------------+-----------+
+ | 44 | SRH Max H.encaps | RFC 9352 |
+ +-------+------------------+-----------+
+ | 45 | SRH Max End D | RFC 9352 |
+ +-------+------------------+-----------+
+
+ Table 8: IGP MSD-Types
+
+11.6. IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs Registry
+
+ IANA has created the "IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs"
+ registry under the "IS-IS TLV Codepoints" grouping to assign sub-TLV
+ types for the SID sub-TLVs specified in this document (Sections 7.2,
+ 8.1, and 8.2).
+
+ This registry defines sub-sub-TLVs for SRv6 SID sub-TLVs. This
+ includes the following sub-TLVs:
+
+ * SRv6 End SID (5) (Advertised in SRv6 Locator TLV (27))
+
+ * SRv6 End.X SID (43) (Advertised in TLVs advertising neighbor
+ information)
+
+ * SRv6 LAN End.X SID (44) (Advertised in TLVs advertising neighbor
+ information)
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. The following assignments are made by this document:
+
+ +=======+====================+===+====+====+===========+
+ | Type | Description | 5 | 43 | 44 | Reference |
+ +=======+====================+===+====+====+===========+
+ | 0 | Reserved | | | | RFC 9352 |
+ +-------+--------------------+---+----+----+-----------+
+ | 1 | SRv6 SID Structure | y | y | y | RFC 9352 |
+ +-------+--------------------+---+----+----+-----------+
+ | 2-255 | Unassigned | | | | |
+ +-------+--------------------+---+----+----+-----------+
+
+ Table 9: IS-IS Sub-Sub-TLVs for SRv6 SID Sub-TLVs
+ Registry
+
+11.7. Prefix Attribute Flags Sub-TLV
+
+ This document adds a new bit in the "IS-IS Bit Values for Prefix
+ Attribute Flags Sub-TLV" registry:
+
+ +=======+=======================+=====================+
+ | Bit # | Name | Reference |
+ +=======+=======================+=====================+
+ | 4 | Anycast Flag (A-flag) | RFC 9352, Section 6 |
+ +-------+-----------------------+---------------------+
+
+ Table 10: IS-IS Bit Values for Prefix Attribute
+ Flags Sub-TLV Registry
+
+11.8. IS-IS SRv6 Capabilities Sub-TLV Flags Registry
+
+ IANA has created the "IS-IS SRv6 Capabilities Sub-TLV Flags" registry
+ under the "IS-IS TLV Codepoints" grouping to assign bits 0 to 15 in
+ the Flags field of the IS-IS SRv6 Capabilities sub-TLV specified in
+ this document (Section 2). This registry defines bit values
+ advertised in the Flags field of the SRv6 Capabilities sub-TLV (25).
+ This sub-TLV is advertised in the IS-IS Router CAPABILITY TLV (242).
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. The following assignments are made by this document:
+
+ +======+=============+=====================+
+ | Type | Description | Reference |
+ +======+=============+=====================+
+ | 0 | Unassigned | |
+ +------+-------------+---------------------+
+ | 1 | O-flag | RFC 9352, Section 2 |
+ +------+-------------+---------------------+
+ | 2-15 | Unassigned | |
+ +------+-------------+---------------------+
+
+ Table 11: IS-IS SRv6 Capabilities Sub-
+ TLV Flags Registry
+
+11.9. IS-IS SRv6 Locator TLV Flags Registry
+
+ IANA has created the "IS-IS SRv6 Locator TLV Flags" registry under
+ the "IS-IS TLV Codepoints" grouping to assign bits 0 to 7 in the
+ Flags field of the SRv6 Locator TLV specified in this document
+ (Section 7.1). This registry defines bit values advertised in the
+ Flags field of the SRv6 Locator TLV (27).
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. The following assignments are made by this document:
+
+ +=======+=============+=======================+
+ | Value | Description | Reference |
+ +=======+=============+=======================+
+ | 0 | D-flag | RFC 9352, Section 7.1 |
+ +-------+-------------+-----------------------+
+ | 1-7 | Unassigned | |
+ +-------+-------------+-----------------------+
+
+ Table 12: IS-IS SRv6 Locator TLV Flags Registry
+
+11.10. IS-IS SRv6 End SID Sub-TLV Flags Registry
+
+ IANA has created the "IS-IS SRv6 End SID Sub-TLV Flags" registry
+ under the "IS-IS TLV Codepoints" grouping to assign bits 0 to 7 in
+ the Flags field of the IS-IS SRv6 End SID sub-TLV specified in this
+ document (Section 7.2). This registry defines bit values advertised
+ in the Flags field of the SRv6 End SID sub-TLV (5), which is
+ advertised in the SRv6 Locator TLV (27).
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. No assignments are made by this document.
+
+ +=======+=============+
+ | Value | Description |
+ +=======+=============+
+ | 0-7 | Unassigned |
+ +-------+-------------+
+
+ Table 13: IS-IS SRv6
+ End SID Sub-TLV Flags
+ Registry
+
+11.11. IS-IS SRv6 Adjacency SID Sub-TLVs Flags Registry
+
+ IANA has created the "IS-IS SRv6 Adjacency SID Sub-TLVs Flags"
+ registry under the "IS-IS TLV Codepoints" grouping to assign bits 0
+ to 7 in the Flags field of the IS-IS SRv6 End.X SID and LAN End.X SID
+ sub-TLVs (Sections 8.1 and 8.2).
+
+ This registry defines bit values advertised in the Flags field of
+ SRv6 SID sub-TLVs associated with adjacencies. These sub-TLVs are
+ advertised in TLVs advertising neighbor information. The list of
+ sub-TLVs includes:
+
+ * SRv6 End.X SID (43)
+
+ * SRv6 LAN End.X SID (44)
+
+ The registration procedure is "Expert Review", as defined in
+ [RFC8126]. Guidance for the designated experts is provided in
+ [RFC7370]. The following assignments are made by this document:
+
+ +=======+=============+=======================+
+ | Value | Description | Reference |
+ +=======+=============+=======================+
+ | 0 | B-flag | RFC 9352, Section 8.1 |
+ +-------+-------------+-----------------------+
+ | 1 | S-flag | RFC 9352, Section 8.1 |
+ +-------+-------------+-----------------------+
+ | 2 | P-flag | RFC 9352, Section 8.1 |
+ +-------+-------------+-----------------------+
+ | 3-7 | Unassigned | |
+ +-------+-------------+-----------------------+
+
+ Table 14: IS-IS SRv6 Adjacency SID Sub-TLVs
+ Flags Registry
+
+12. Security Considerations
+
+ Security concerns for IS-IS are addressed in [ISO10589], [RFC5304],
+ and [RFC5310]. While IS-IS is deployed under a single administrative
+ domain, there can be deployments where potential attackers have
+ access to one or more networks in the IS-IS routing domain. In these
+ deployments, the stronger authentication mechanisms defined in the
+ aforementioned documents SHOULD be used.
+
+ This document describes the IS-IS extensions required to support SR
+ over an IPv6 data plane. The security considerations for SR are
+ discussed in [RFC8402]. [RFC8986] defines the SRv6 Network
+ Programming concept and specifies the main SR behaviors to enable the
+ creation of interoperable overlays; the security considerations from
+ that document apply too.
+
+ The advertisement for an incorrect MSD value may have negative
+ consequences; see [RFC8491] for additional considerations.
+
+ Security concerns associated with the setting of the O-flag are
+ described in [RFC9259].
+
+ Security concerns associated with the usage of Flexible Algorithms
+ are described in [RFC9350]).
+
+13. References
+
+13.1. Normative References
+
+ [ISO10589] ISO, "Information technology - Telecommunications and
+ information exchange between systems - Intermediate System
+ to Intermediate System intra-domain routeing information
+ exchange protocol for use in conjunction with the protocol
+ for providing the connectionless-mode network service (ISO
+ 8473)", Second Edition, ISO/IEC 10589:2002, November 2002.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <https://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
+ Topology (MT) Routing in Intermediate System to
+ Intermediate Systems (IS-ISs)", RFC 5120,
+ DOI 10.17487/RFC5120, February 2008,
+ <https://www.rfc-editor.org/info/rfc5120>.
+
+ [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
+ Engineering", RFC 5305, DOI 10.17487/RFC5305, October
+ 2008, <https://www.rfc-editor.org/info/rfc5305>.
+
+ [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308,
+ DOI 10.17487/RFC5308, October 2008,
+ <https://www.rfc-editor.org/info/rfc5308>.
+
+ [RFC7370] Ginsberg, L., "Updates to the IS-IS TLV Codepoints
+ Registry", RFC 7370, DOI 10.17487/RFC7370, September 2014,
+ <https://www.rfc-editor.org/info/rfc7370>.
+
+ [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and
+ U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4
+ and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794,
+ March 2016, <https://www.rfc-editor.org/info/rfc7794>.
+
+ [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions
+ for Advertising Router Information", RFC 7981,
+ DOI 10.17487/RFC7981, October 2016,
+ <https://www.rfc-editor.org/info/rfc7981>.
+
+ [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
+ Writing an IANA Considerations Section in RFCs", BCP 26,
+ RFC 8126, DOI 10.17487/RFC8126, June 2017,
+ <https://www.rfc-editor.org/info/rfc8126>.
+
+ [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
+ 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
+ May 2017, <https://www.rfc-editor.org/info/rfc8174>.
+
+ [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
+ Decraene, B., Litkowski, S., and R. Shakir, "Segment
+ Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
+ July 2018, <https://www.rfc-editor.org/info/rfc8402>.
+
+ [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg,
+ "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491,
+ DOI 10.17487/RFC8491, November 2018,
+ <https://www.rfc-editor.org/info/rfc8491>.
+
+ [RFC8665] Psenak, P., Ed., Previdi, S., Ed., Filsfils, C., Gredler,
+ H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF
+ Extensions for Segment Routing", RFC 8665,
+ DOI 10.17487/RFC8665, December 2019,
+ <https://www.rfc-editor.org/info/rfc8665>.
+
+ [RFC8667] Previdi, S., Ed., Ginsberg, L., Ed., Filsfils, C.,
+ Bashandy, A., Gredler, H., and B. Decraene, "IS-IS
+ Extensions for Segment Routing", RFC 8667,
+ DOI 10.17487/RFC8667, December 2019,
+ <https://www.rfc-editor.org/info/rfc8667>.
+
+ [RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
+ Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
+ (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
+ <https://www.rfc-editor.org/info/rfc8754>.
+
+ [RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
+ D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
+ (SRv6) Network Programming", RFC 8986,
+ DOI 10.17487/RFC8986, February 2021,
+ <https://www.rfc-editor.org/info/rfc8986>.
+
+ [RFC9259] Ali, Z., Filsfils, C., Matsushima, S., Voyer, D., and M.
+ Chen, "Operations, Administration, and Maintenance (OAM)
+ in Segment Routing over IPv6 (SRv6)", RFC 9259,
+ DOI 10.17487/RFC9259, June 2022,
+ <https://www.rfc-editor.org/info/rfc9259>.
+
+ [RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
+ and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
+ DOI 10.17487/RFC9350, February 2023,
+ <https://www.rfc-editor.org/rfc/rfc9350>.
+
+13.2. Informative References
+
+ [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
+ IP Fast Reroute: Loop-Free Alternates", RFC 5286,
+ DOI 10.17487/RFC5286, September 2008,
+ <https://www.rfc-editor.org/info/rfc5286>.
+
+ [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic
+ Authentication", RFC 5304, DOI 10.17487/RFC5304, October
+ 2008, <https://www.rfc-editor.org/info/rfc5304>.
+
+ [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
+ and M. Fanto, "IS-IS Generic Cryptographic
+ Authentication", RFC 5310, DOI 10.17487/RFC5310, February
+ 2009, <https://www.rfc-editor.org/info/rfc5310>.
+
+ [RFC8355] Filsfils, C., Ed., Previdi, S., Ed., Decraene, B., and R.
+ Shakir, "Resiliency Use Cases in Source Packet Routing in
+ Networking (SPRING) Networks", RFC 8355,
+ DOI 10.17487/RFC8355, March 2018,
+ <https://www.rfc-editor.org/info/rfc8355>.
+
+Acknowledgements
+
+ Thanks to Christian Hopps for his review comments and shepherd work.
+
+ Thanks to Alvaro Retana and John Scudder for AD review and comments.
+
+Contributors
+
+ The following people gave a substantial contribution to the content
+ of this document and should be considered coauthors:
+
+ Stefano Previdi
+ Huawei Technologies
+ Email: stefano@previdi.net
+
+
+ Paul Wells
+ Cisco Systems
+ Saint Paul, Minnesota
+ United States of America
+ Email: pauwells@cisco.com
+
+
+ Daniel Voyer
+ Email: daniel.voyer@bell.ca
+
+
+ Satoru Matsushima
+ Email: satoru.matsushima@g.softbank.co.jp
+
+
+ Bart Peirens
+ Email: bart.peirens@proximus.com
+
+
+ Hani Elmalky
+ Email: hani.elmalky@ericsson.com
+
+
+ Prem Jonnalagadda
+ Email: prem@barefootnetworks.com
+
+
+ Milad Sharif
+ Email: msharif@barefootnetworks.com
+
+
+ Robert Hanzl
+ Cisco Systems
+ Millenium Plaza Building, V Celnici 10, Prague 1
+ Prague
+ Czech Republic
+ Email: rhanzl@cisco.com
+
+
+ Ketan Talaulikar
+ Cisco Systems, Inc.
+ Email: ketant@cisco.com
+
+
+Authors' Addresses
+
+ Peter Psenak (editor)
+ Cisco Systems
+ Pribinova Street 10
+ 81109 Bratislava
+ Slovakia
+ Email: ppsenak@cisco.com
+
+
+ Clarence Filsfils
+ Cisco Systems
+ Brussels
+ Belgium
+ Email: cfilsfil@cisco.com
+
+
+ Ahmed Bashandy
+ Cisco Systems
+ Milpitas,
+ United States of America
+ Email: bashandy@cisco.com
+
+
+ Bruno Decraene
+ Orange
+ Chatillon
+ France
+ Email: bruno.decraene@orange.com
+
+
+ Zhibo Hu
+ Huawei Technologies
+ Email: huzhibo@huawei.com