summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9666.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc9666.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc9666.txt')
-rw-r--r--doc/rfc/rfc9666.txt904
1 files changed, 904 insertions, 0 deletions
diff --git a/doc/rfc/rfc9666.txt b/doc/rfc/rfc9666.txt
new file mode 100644
index 0000000..9716c2e
--- /dev/null
+++ b/doc/rfc/rfc9666.txt
@@ -0,0 +1,904 @@
+
+
+
+
+Internet Engineering Task Force (IETF) T. Li
+Request for Comments: 9666 Juniper Networks
+Category: Experimental S. Chen
+ISSN: 2070-1721 V. Ilangovan
+ Arista Networks
+ G. Mishra
+ Verizon Inc.
+ October 2024
+
+
+ Area Proxy for IS-IS
+
+Abstract
+
+ Link-state routing protocols have hierarchical abstraction already
+ built into them. However, when lower levels are used for transit,
+ they must expose their internal topologies to each other, thereby
+ leading to scaling issues.
+
+ To avoid such issues, this document discusses extensions to the IS-IS
+ routing protocol that allow Level 1 (L1) areas to provide transit but
+ only inject an abstraction of the Level 1 topology into Level 2 (L2).
+ Each Level 1 area is represented as a single Level 2 node, thereby
+ enabling a greater scale.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for examination, experimental implementation, and
+ evaluation.
+
+ This document defines an Experimental Protocol for the Internet
+ community. 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). Not
+ all documents approved by the IESG are candidates for any level of
+ Internet Standard; see 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/rfc9666.
+
+Copyright Notice
+
+ Copyright (c) 2024 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. Area Proxy
+ 2.1. Segment Routing
+ 3. Inside Router Functions
+ 3.1. The Area Proxy TLV
+ 3.2. Level 2 SPF Computation
+ 3.3. Responsibilities Concerning the Proxy LSP
+ 4. Area Leader Functions
+ 4.1. Area Leader Election
+ 4.2. Redundancy
+ 4.3. Distributing Area Proxy Information
+ 4.3.1. The Area Proxy System Identifier Sub-TLV
+ 4.3.2. The Area SID Sub-TLV
+ 4.4. Proxy LSP Generation
+ 4.4.1. The Protocols Supported TLV
+ 4.4.2. The Area Address TLV
+ 4.4.3. The Dynamic Hostname TLV
+ 4.4.4. The IS Neighbors TLV
+ 4.4.5. The Extended IS Neighbors TLV
+ 4.4.6. The MT Intermediate Systems TLV
+ 4.4.7. Reachability TLVs
+ 4.4.8. The Router Capability TLV
+ 4.4.9. The Multi-Topology TLV
+ 4.4.10. The SID/Label Binding and the Multi-Topology SID/Label
+ Binding TLV
+ 4.4.11. The SRv6 Locator TLV
+ 4.4.12. Traffic Engineering Information
+ 4.4.13. The Area SID
+ 5. Inside Edge Router Functions
+ 5.1. Generating L2 IIHs to Outside Routers
+ 5.2. Filtering LSP Information
+ 6. IANA Considerations
+ 7. Security Considerations
+ 8. References
+ 8.1. Normative References
+ 8.2. Informative References
+ Acknowledgements
+ Authors' Addresses
+
+1. Introduction
+
+ The IS-IS routing protocol [ISO10589] supports a two-level hierarchy
+ of abstraction. The fundamental unit of abstraction is the "area",
+ which is a (hopefully) connected set of systems running IS-IS at the
+ same level. Level 1, the lowest level, is abstracted by routers that
+ participate in both Level 1 and Level 2, and they inject area
+ information into Level 2. Level 2 systems seeking to access Level 1
+ use this abstraction to compute the shortest path to the Level 1
+ area. The full topology database of Level 1 is not injected into
+ Level 2, rather, only a summary of the address space contained within
+ the area is injected. Therefore, the scalability of the Level 2 Link
+ State Database (LSDB) is protected.
+
+ This works well if the Level 1 area is tangential to the Level 2
+ area. This also works well if there are several routers in both
+ Levels 1 and 2 and they are adjacent to one another, so Level 2
+ traffic will never need to transit Level 1 only routers. Level 1
+ will not contain any Level 2 topology and Level 2 will only contain
+ area abstractions for Level 1.
+
+ Unfortunately, this scheme does not work so well if the Level 1 only
+ area needs to provide transit for Level 2 traffic. For Level 2
+ Shortest Path First (SPF) computations to work correctly, the transit
+ topology must also appear in the Level 2 LSDB. This implies that all
+ routers that could provide transit plus any links that might also
+ provide Level 2 transit must also become part of the Level 2
+ topology. If this is a relatively tiny portion of the Level 1 area,
+ this is not overly painful.
+
+ However, with today's data center topologies, this is problematic. A
+ common application is to use a Layer 3 Leaf-Spine (L3LS) topology,
+ which is a folded 3-stage Clos fabric [Clos]. It can also be thought
+ of as a complete bipartite graph. In such a topology, the desire is
+ to use Level 1 to contain the routing dynamics of the entire L3LS
+ topology and then use Level 2 for the remainder of the network.
+ Leaves in the L3LS topology are appropriate for connection outside of
+ the data center itself, so they would provide connectivity for Level
+ 2. If there are multiple connections to Level 2 for redundancy or
+ other areas, these would also be made to the leaves in the topology.
+ This creates a difficulty because there are now multiple Level 2
+ leaves in the topology, with connectivity between the leaves provided
+ by the spines.
+
+ Following the current rules of IS-IS, all spine routers would
+ necessarily be part of the Level 2 topology plus all links between a
+ Level 2 leaf and the spines. In the limit, where all leaves need to
+ support Level 2, it implies that the entire L3LS topology becomes
+ part of Level 2. This is seriously problematic, as it more than
+ doubles the LSDB held in the L3LS topology and eliminates any
+ benefits of the hierarchy.
+
+ This document discusses the handling of IP traffic. Supporting MPLS-
+ based traffic is a subject for future work.
+
+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. Area Proxy
+
+ In this specification, we completely abstract away the details of the
+ Level 1 area topology within Level 2, making the entire area look
+ like a single proxy system directly connected to all of the area's
+ Level 2 neighbors. By only providing an abstraction of the topology,
+ Level 2's requirement for connectivity can be satisfied without the
+ full overhead of the area's internal topology. It then becomes the
+ responsibility of the Level 1 area to provide the forwarding
+ connectivity that's advertised.
+
+ For this discussion, we'll consider a single Level 1 IS-IS area to be
+ the Inside Area and the remainder of the Level 2 area to be the
+ Outside Area. All routers within the Inside Area speak Level 1 and
+ Level 2 IS-IS on all of the links within the topology. We propose to
+ implement Area Proxy by having a Level 2 Proxy Link State PDU (LSP)
+ that represents the entire Inside Area. We will refer to this as the
+ Proxy LSP. This is the only LSP from the area that will be flooded
+ into the overall Level 2 LSDB.
+
+ There are four classes of routers that we need to be concerned with
+ in this discussion:
+
+ Inside Router: A router within the Inside Area that runs Level 1 and
+ Level 2 IS-IS. A router is recognized as an Inside Router by the
+ existence of its LSP in the Level 1 LSDB.
+
+ Area Leader: The Area Leader is an Inside Router that is elected to
+ represent the Level 1 area by injecting the Proxy LSP into the
+ Level 2 LSDB. There may be multiple candidates for Area Leader,
+ but only one is elected at a given time. Any Inside Router can be
+ the Area Leader.
+
+ Inside Edge Router: An Inside Edge Router is an Inside Area Router
+ that has at least one Level 2 interface outside of the Inside
+ Area. An interface on an Inside Edge Router that is connected to
+ an Outside Edge Router is an Area Proxy Boundary.
+
+ Outside Edge Router: An Outside Edge Router is a Level 2 router that
+ is outside of the Inside Area that has an adjacency with an Inside
+ Edge Router.
+
+ Inside Area
+
+ +--------+ +--------+
+ | Inside |-----------------| Inside |
+ | Router | | Edge |
+ +--------+ +------------| Router |
+ | / +--------+
+ | / |
+ +--------+ / =============|======
+ | Area |/ || |
+ | Leader | || +---------+
+ +--------+ || | Outside |
+ || | Edge |
+ || | Router |
+ || +---------+
+
+ Outside Area
+
+ Figure 1: An Example of Router Classes
+
+ All Inside Edge Routers learn the Area Proxy System Identifier from
+ the Area Proxy TLV advertised by the Area Leader and use that as the
+ system identifier in their Level 2 IS-IS Hello (IIH) PDUs on all
+ Outside interfaces. Outside Edge Routers will then advertise an
+ adjacency to the Area Proxy System Identifier. This allows all
+ Outside Routers to use the Proxy LSP in their SPF computations
+ without seeing the full topology of the Inside Area.
+
+ Area Proxy functionality assumes that all circuits on Inside Routers
+ are either Level 1-2 circuits within the Inside Area, or Level 2
+ circuits between Outside Edge Routers and Inside Edge Routers.
+
+ Area Proxy Boundary multi-access circuits (i.e., Ethernets in LAN
+ mode) with multiple Inside Edge Routers on them are not supported.
+ The Inside Edge Router on any boundary LAN MUST NOT flood Inside
+ Router LSPs on this link. Boundary LANs SHOULD NOT be enabled for
+ Level 1. An Inside Edge Router may be elected as the Designated
+ Intermediate System (DIS) for a Boundary LAN. In this case, using
+ the Area Proxy System ID as the basis for the LAN pseudonode
+ identifier could create a collision, so the Insider Edge Router
+ SHOULD compose the pseudonode identifier using its originally
+ configured system identifier. This choice of pseudonode identifier
+ may confuse neighbors with an extremely strict implementation. In
+ this case, the Inside Edge Router may be configured with priority 0,
+ causing an Outside Router to be elected as the DIS.
+
+2.1. Segment Routing
+
+ If the Inside Area supports Segment Routing (SR) [RFC8402], then all
+ Inside Nodes MUST advertise a Segment Routing Global Block (SRGB).
+ The first value of the SRGB advertised by all Inside Nodes MUST start
+ at the same value. If the Area Leader detects SRGBs that do not
+ start with the same value, it MUST log an error and not advertise an
+ SRGB in the Proxy LSP. The range advertised for the area will be the
+ minimum of that advertised by all Inside Nodes.
+
+ To support SR, the Area Leader will take the SRGB information found
+ in the L1 LSDB and convey that to L2 through the Proxy LSP. Prefixes
+ with Segment Identifier (SID) assignments will be copied to the Proxy
+ LSP. Adjacency SIDs for Outside Edge Nodes will be copied to the
+ Proxy LSP.
+
+ To further extend SR, it is helpful to have a segment that refers to
+ the entire Inside Area. This allows a path to refer to an area and
+ have any node within that area accept and forward the packet. In
+ effect, this becomes an anycast SID that is accepted by all Inside
+ Edge Nodes. The information about this SID is distributed in the
+ Area SID sub-TLV as part of the Area Leader's Area Proxy TLV
+ (Section 4.3.2). The Inside Edge Nodes MUST establish forwarding
+ based on this SID. The Area Leader SHALL also include the Area SID
+ in the Proxy LSP so that the remainder of L2 can use it for path
+ construction. (Section 4.4.13).
+
+3. Inside Router Functions
+
+ All Inside Routers run Level 1-2 IS-IS and must be explicitly
+ instructed to enable the Area Proxy functionality. To signal their
+ readiness to participate in Area Proxy functionality, they will
+ advertise the Area Proxy TLV in their L2 LSP.
+
+3.1. The Area Proxy TLV
+
+ The Area Proxy TLV serves multiple functions:
+
+ * The presence of the Area Proxy TLV in a node's LSP indicates that
+ the node is enabled for Area Proxy.
+
+ * An LSP containing the Area Proxy TLV is also an Inside Node. All
+ Inside Nodes, including pseudonodes, MUST advertise the Area Proxy
+ TLV.
+
+ * It is a container for sub-TLVs with Area Proxy information.
+
+ A node advertises the Area Proxy TLV in fragment 0 of its L2 LSP.
+ Nodes MUST NOT advertise the Area Proxy TLV in an L1 LSP. Nodes MUST
+ ignore the Area Proxy TLV if it is found in an L1 LSP. The Area
+ Proxy TLV is not used in the Proxy LSP. The format of the Area Proxy
+ TLV is:
+
+ 0 1 2
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | TLV Type | TLV Length | Sub-TLVs ...
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ TLV Type: 20
+
+ TLV Length: Length of the sub-TLVs.
+
+3.2. Level 2 SPF Computation
+
+ When Outside Routers perform a Level 2 SPF computation, they will use
+ the Proxy LSP for computing a path transiting the Inside Area.
+ Because the topology has been abstracted away, the cost for
+ transiting the Inside Area will be zero.
+
+ When Inside Routers perform a Level 2 SPF computation, they MUST
+ ignore the Proxy LSP. Because these systems see the Inside Area
+ topology, the link metrics internal to the area are visible. This
+ could lead to different and possibly inconsistent SPF results,
+ potentially leading to forwarding loops.
+
+ To prevent this, the Inside Routers MUST consider the metrics of
+ links outside of the Inside Area (inter-area metrics) separately from
+ the metrics of the Inside Area links (intra-area metrics). Intra-
+ area metrics MUST be treated as less than any inter-area metric.
+ Thus, if two paths have different total inter-area metrics, the path
+ with the lower inter-area metric would be preferred regardless of any
+ intra-area metrics involved. However, if two paths have equal inter-
+ area metrics, then the intra-area metrics would be used to compare
+ the paths.
+
+ Point-to-point links between two Inside Routers are considered to be
+ Inside Area links. LAN links that have a pseudonode LSP in the Level
+ 1 LSDB are considered to be Inside Area links.
+
+3.3. Responsibilities Concerning the Proxy LSP
+
+ The Area Leader will generate a Proxy LSP that will be flooded across
+ the Inside Area. Inside Routers MUST flood the Proxy LSP and MUST
+ ignore its contents. The Proxy LSP uses the Area Proxy System
+ Identifier as its Source ID.
+
+4. Area Leader Functions
+
+ The Area Leader has several responsibilities. First, it MUST inject
+ the Area Proxy System Identifier into the Level 2 LSDB. Second, the
+ Area Leader MUST generate the Proxy LSP for the Inside Area.
+
+4.1. Area Leader Election
+
+ The Area Leader is selected using the election mechanisms and TLVs
+ described in "Dynamic Flooding on Dense Graphs" [RFC9667].
+
+4.2. Redundancy
+
+ If the Area Leader fails, another candidate may become Area Leader
+ and MUST regenerate the Proxy LSP. The failure of the Area Leader is
+ not visible outside of the area and appears to simply be an update of
+ the Proxy LSP.
+
+ For consistency, all Area Leader candidates SHOULD be configured with
+ the same Proxy System ID, Proxy Hostname, and any other information
+ that may be inserted into the Proxy LSP.
+
+4.3. Distributing Area Proxy Information
+
+ The Area Leader is responsible for distributing information about the
+ area to all Inside Nodes. In particular, the Area Leader distributes
+ the Proxy System ID and the Area SID. This is done using two sub-
+ TLVs of the Area Proxy TLV.
+
+4.3.1. The Area Proxy System Identifier Sub-TLV
+
+ The Area Proxy System Identifier sub-TLV MUST be used by the Area
+ Leader to distribute the Area Proxy System ID. This is an additional
+ system identifier that is used by Inside Nodes as an indication that
+ Area Proxy is active. The format of this sub-TLV is:
+
+ 0 1 2
+ 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 | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Proxy System Identifier |
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Type: 1
+
+ Length: Length of a system ID (6).
+
+ Proxy System Identifier: The Area Proxy System Identifier.
+
+ The Area Leader MUST advertise the Area Proxy System Identifier sub-
+ TLV when it observes that all Inside Routers are advertising the Area
+ Proxy TLV. Their advertisements indicate that they are individually
+ ready to perform Area Proxy functionality. The Area Leader then
+ advertises the Area Proxy System Identifier TLV to indicate that the
+ Inside Area MUST enable Area Proxy functionality.
+
+ Other candidates for Area Leader MAY also advertise the Area Proxy
+ System Identifier when they observe that all Inside Routers are
+ advertising the Area Proxy TLV. All candidates advertising the Area
+ Proxy System Identifier TLV SHOULD be advertising the same system
+ identifier. Multiple proxy system identifiers in a single area is a
+ misconfiguration and each unique occurrence SHOULD be logged.
+ Systems should use the Proxy System ID advertised by the Area Leader.
+
+ The Area Leader and other candidates for Area Leader MAY withdraw the
+ Area Proxy System Identifier when one or more Inside Routers are not
+ advertising the Area Proxy TLV. This will disable Area Proxy
+ functionality. However, before withdrawing the Area Proxy System
+ Identifier, an implementation SHOULD protect against unnecessary
+ churn from transients by delaying the withdrawal. The amount of
+ delay is implementation dependent.
+
+4.3.2. The Area SID Sub-TLV
+
+ The Area SID sub-TLV allows the Area Leader to advertise a prefix and
+ SID that represent the entirety of the Inside Area to the Outside
+ Area. This sub-TLV is learned by all of the Inside Edge Nodes who
+ should consume this SID at forwarding time. The Area SID sub-TLV has
+ the following format:
+
+ 0 1 2
+ 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 |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | SID/Index/Label (variable) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Prefix Length | Prefix (variable) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ where:
+
+ Type: 2
+
+ Length: Variable (1 + SID length)
+
+ Flags: 1 octet, defined as follows.
+
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |F|V|L| |
+ +-+-+-+-+-+-+-+-+
+
+ F: Address-Family Flag. If this flag is not set, then this proxy
+ SID is used when forwarding IPv4-encapsulated traffic. If
+ set, then this proxy SID is used when forwarding
+ IPv6-encapsulated traffic.
+
+ V: Value Flag. If set, then the proxy SID carries a value, as
+ defined in [RFC8667], Section 2.1.1.1.
+
+ L: Local Flag. If set, then the value/index carried by the proxy
+ SID has local significance, as defined in [RFC8667],
+ Section 2.1.1.1.
+
+ Other bits: MUST be zero when originated and ignored when
+ received.
+
+ SID/Index/Label: As defined in [RFC8667], Section 2.1.1.1.
+
+ Prefix Length: 1 octet
+
+ Prefix: 0-16 octets
+
+4.4. Proxy LSP Generation
+
+ Each Inside Router generates a Level 2 LSP and the Level 2 LSPs for
+ the Inside Edge Routers will include adjacencies to Outside Edge
+ Routers. Unlike normal Level 2 operations, these LSPs are not
+ advertised outside of the Inside Area and MUST be filtered by all
+ Inside Edge Routers to not be flooded to Outside Routers. Only the
+ Proxy LSP is injected into the overall Level 2 LSDB.
+
+ The Area Leader uses the Level 2 LSPs generated by the Inside Edge
+ Routers to generate the Proxy LSP. This LSP is originated using the
+ Area Proxy System Identifier. The Area Leader can also insert the
+ following additional TLVs into the Proxy LSP for additional
+ information for the Outside Area. LSPs generated by unreachable
+ nodes MUST NOT be considered.
+
+4.4.1. The Protocols Supported TLV
+
+ The Area Leader SHOULD insert a Protocols Supported TLV (129)
+ [RFC1195] into the Proxy LSP. The values included in the TLV SHOULD
+ be the protocols supported by the Inside Area.
+
+4.4.2. The Area Address TLV
+
+ The Area Leader SHOULD insert an Area Addresses TLV (1) [ISO10589]
+ into the Proxy LSP.
+
+4.4.3. The Dynamic Hostname TLV
+
+ It is RECOMMENDED that the Area Leader insert the Dynamic Hostname
+ TLV (137) [RFC5301] into the Proxy LSP. The contents of the hostname
+ may be specified by configuration. The presence of the hostname
+ helps to simplify network debugging.
+
+4.4.4. The IS Neighbors TLV
+
+ The Area Leader can insert the IS Neighbors TLV (2) [ISO10589] into
+ the Proxy LSP for Outside Edge Routers. The Area Leader learns of
+ the Outside Edge Routers by examining the LSPs generated by the
+ Inside Edge Routers copying any IS Neighbors TLVs referring to
+ Outside Edge Routers into the Proxy LSP. Since the Outside Edge
+ Routers advertise an adjacency to the Area Proxy System Identifier,
+ this will result in a bidirectional adjacency.
+
+ An entry for a neighbor in both the IS Neighbors TLV and the Extended
+ IS Neighbors TLV would be functionally redundant, so the Area Leader
+ SHOULD NOT do this. The Area Leader MAY omit either the IS Neighbors
+ TLV or the Extended IS Neighbors TLV, but it MUST include at least
+ one of them.
+
+4.4.5. The Extended IS Neighbors TLV
+
+ The Area Leader can insert the Extended IS Reachability TLV (22)
+ [RFC5305] into the Proxy LSP. The Area Leader SHOULD copy each
+ Extended IS Reachability TLV advertised by an Inside Edge Router
+ about an Outside Edge Router into the Proxy LSP.
+
+ If the Inside Area supports Segment Routing, and Segment Routing
+ selects a SID where the L-Flag is not set, then the Area Lead SHOULD
+ include an Adjacency Segment Identifier sub-TLV (31) [RFC8667] using
+ the selected SID.
+
+ If the inside area supports SRv6, the Area Leader SHOULD copy the
+ "SRv6 End.X SID" and "SRv6 LAN End.X SID" sub-TLVs of the Extended IS
+ Reachability TLVs advertised by Inside Edge Routers about Outside
+ Edge Routers.
+
+ If the inside area supports Traffic Engineering (TE), the Area Leader
+ SHOULD copy TE-related sub-TLVs ([RFC5305], Section 3) to each
+ Extended IS Reachability TLV in the Proxy LSP.
+
+4.4.6. The MT Intermediate Systems TLV
+
+ If the Inside Area supports Multi-Topology (MT), then the Area Leader
+ SHOULD copy each Outside Edge Router advertisement that is advertised
+ by an Inside Edge Router in an MT Intermediate Systems TLV into the
+ Proxy LSP.
+
+4.4.7. Reachability TLVs
+
+ The Area Leader SHOULD insert additional TLVs describing any routing
+ prefixes that should be advertised on behalf of the area. These
+ prefixes may be learned from the Level 1 LSDB, Level 2 LSDB, or
+ redistributed from another routing protocol. This applies to all of
+ the various types of TLVs used for prefix advertisement:
+
+ * IP Internal Reachability Information TLV (128) [RFC1195]
+
+ * IP External Reachability Information TLV (130) [RFC1195]
+
+ * Extended IP Reachability TLV (135) [RFC5305]
+
+ * IPv6 Reachability TLV (236) [RFC5308]
+
+ * Multi-Topology Reachable IPv4 Prefixes TLV (235) [RFC5120]
+
+ * Multi-Topology Reachable IPv6 Prefixes TLV (237) [RFC5120]
+
+ For TLVs in the Level 1 LSDB, for a given TLV type and prefix, the
+ Area Leader SHOULD select the TLV with the lowest metric and copy
+ that TLV into the Proxy LSP.
+
+ When examining the Level 2 LSDB for this function, the Area Leader
+ SHOULD only consider TLVs advertised by Inside Routers. Further, for
+ prefixes that represent Boundary links, the Area Leader SHOULD copy
+ all TLVs that have unique sub-TLV contents.
+
+ If the Inside Area supports SR and the selected TLV includes a Prefix
+ Segment Identifier sub-TLV (3) [RFC8667], then the sub-TLV SHOULD be
+ copied as well. The P-Flag SHOULD be set in the copy of the sub-TLV
+ to indicate that penultimate hop popping should not be performed for
+ this prefix. The E-Flag SHOULD be reset in the copy of the sub-TLV
+ to indicate that an explicit NULL is not required. The R-Flag SHOULD
+ simply be copied.
+
+4.4.8. The Router Capability TLV
+
+ The Area Leader MAY insert the Router Capability TLV (242) [RFC7981]
+ into the Proxy LSP. If SR is supported by the inside area, as
+ indicated by the presence of an SRGB being advertised by all Inside
+ Nodes, then the Area Leader SHOULD advertise an SR-Capabilities sub-
+ TLV (2) [RFC8667] with an SRGB. The first value of the SRGB is the
+ same as the first value advertised by all Inside Nodes. The range
+ advertised for the area will be the minimum of all ranges advertised
+ by Inside Nodes. The Area Leader SHOULD use its Router ID in the
+ Router Capability TLV.
+
+ If SRv6 Capability sub-TLV [RFC7981] is advertised by all Inside
+ Routers, the Area Leader should insert an SRv6 Capability sub-TLV in
+ the Router Capability TLV. Each flag in the SRv6 Capability sub-TLV
+ should be set if the flag is set by all Inside Routers.
+
+ If the Node Maximum SID Depth (MSD) sub-TLV [RFC8491] is advertised
+ by all Inside Routers, the Area Leader should advertise the
+ intersection of the advertised MSD types and the smallest supported
+ MSD values for each type.
+
+4.4.9. The Multi-Topology TLV
+
+ If the Inside Area supports multi-topology, then the Area Leader
+ SHOULD insert the Multi-Topology TLV (229) [RFC5120], including the
+ topologies supported by the Inside Nodes.
+
+ If any Inside Node is advertising the O (Overload) bit for a given
+ topology, then the Area Leader MUST advertise the O bit for that
+ topology. If any Inside Node is advertising the A (Attach) bit for a
+ given topology, then the Area Leader MUST advertise the A bit for
+ that topology.
+
+4.4.10. The SID/Label Binding and the Multi-Topology SID/Label Binding
+ TLV
+
+ If an Inside Node advertises the SID/Label Binding or Multi-Topology
+ SID/Label Binding TLV [RFC8667], then the Area Leader MAY copy the
+ TLV to the Proxy LSP.
+
+4.4.11. The SRv6 Locator TLV
+
+ If the inside area supports SRv6, the Area Leader SHOULD copy all
+ SRv6 locator TLVs [RFC9352] advertised by Inside Routers to the Proxy
+ LSP.
+
+4.4.12. Traffic Engineering Information
+
+ If the inside area supports TE, the Area Leader SHOULD advertise a TE
+ Router ID TLV (134) [RFC5305] in the Proxy LSP. It SHOULD copy the
+ Shared Risk Link Group (SRLS) TLVs (138) [RFC5307] advertised by
+ Inside Edge Routers about links to Outside Edge Routers.
+
+ If the inside area supports IPv6 TE, the Area Leader SHOULD advertise
+ an IPv6 TE Router ID TLV (140) [RFC6119] in the Proxy LSP. It SHOULD
+ also copy the IPv6 SRLG TLVs (139) [RFC6119] advertised by Inside
+ Edge Routers about links to Outside Edge Routers.
+
+4.4.13. The Area SID
+
+ When SR is enabled, it may be useful to advertise an Area SID that
+ will direct traffic to any of the Inside Edge Routers. The
+ information for the Area SID is distributed to all Inside Edge
+ Routers using the Area SID sub-TLV (Section 4.3.2) by the Area
+ Leader.
+
+ The Area Leader SHOULD advertise the Area SID information in the
+ Proxy LSP as a Node SID as defined in [RFC8667], Section 2.1. The
+ advertisement in the Proxy LSP informs the Outside Area that packets
+ directed to the SID will be forwarded to one of the Inside Edge Nodes
+ and the Area SID will be consumed.
+
+ Other uses of the Area SID and Area SID prefix are outside the scope
+ of this document. Documents that define other use cases for the Area
+ SID MUST specify whether the SID value should be the same or
+ different from that used in support of Area Proxy.
+
+5. Inside Edge Router Functions
+
+ The Inside Edge Router has two additional and important functions.
+ First, it MUST generate IIHs that appear to have come from the Area
+ Proxy System Identifier. Second, it MUST filter the L2 LSPs, Partial
+ Sequence Number PDUs (PSNPs), and Complete Sequence Number PDUs
+ (CSNPs) that are being advertised to Outside Routers.
+
+5.1. Generating L2 IIHs to Outside Routers
+
+ The Inside Edge Router has one or more Level 2 interfaces to the
+ Outside Routers. These may be identified by explicit configuration
+ or by the fact that they are not also Level 1 circuits. On these
+ Level 2 interfaces, the Inside Edge Router MUST NOT send an IIH until
+ it has learned the Area Proxy System ID from the Area Leader. Then,
+ once it has learned the Area Proxy System ID, it MUST generate its
+ IIHs on the circuit using the Proxy System ID as the source of the
+ IIH.
+
+ Using the Proxy System ID causes the Outside Router to advertise an
+ adjacency to the Proxy System ID, not to the Inside Edge Router,
+ which supports the proxy function. The normal system ID of the
+ Inside Edge Router MUST NOT be used as it will cause unnecessary
+ adjacencies to form.
+
+5.2. Filtering LSP Information
+
+ For the area proxy abstraction to be effective the L2 LSPs generated
+ by the Inside Routers MUST be restricted to the Inside Area. The
+ Inside Routers know which system IDs are members of the Inside Area
+ based on the advertisement of the Area Proxy TLV. To prevent
+ unwanted LSP information from escaping the Inside Area, the Inside
+ Edge Router MUST perform filtering of LSP flooding, CSNPs, and PSNPs.
+ Specifically:
+
+ * A Level 2 LSP with a source system identifier that is found in the
+ Level 1 LSDB MUST NOT be flooded to an Outside Router.
+
+ * A Level 2 LSP that contains the Area Proxy TLV MUST NOT be flooded
+ to an Outside Router.
+
+ * A Level 2 CSNP sent to an Outside Router MUST NOT contain any
+ information about an LSP with a system identifier found in the
+ Level 1 LSDB. If an Inside Edge Router filters a CSNP and there
+ is no remaining content, then the CSNP MUST NOT be sent. The
+ source address of the CSNP MUST be the Area Proxy System ID.
+
+ * A Level 2 PSNP sent to an Outside Router MUST NOT contain any
+ information about an LSP with a system identifier found in the
+ Level 1 LSDB. If an Inside Edge Router filters a PSNP and there
+ is no remaining content, then the PSNP MUST NOT be sent. The
+ source address of the PSNP MUST be the Area Proxy System ID.
+
+6. IANA Considerations
+
+ IANA has assigned code point 20 from the "IS-IS TLV Codepoints"
+ registry for the Area Proxy TLV. The registry fields are IIH:n,
+ LSP:y, SNP:n, and Purge:n.
+
+ In association with this, IANA has created a "IS-IS Sub-TLVs for the
+ Area Proxy TLV" registry. Temporary registrations may be made via
+ early allocation [RFC7120].
+
+ The registration procedure is Expert Review [RFC8126]. The values
+ are from 0-255, and the fields are Value, Name, and Reference. The
+ initial assignments are as follows.
+
+ +=======+==============================+===========+
+ | Value | Name | Reference |
+ +=======+==============================+===========+
+ | 1 | Area Proxy System Identifier | RFC 9666 |
+ +-------+------------------------------+-----------+
+ | 2 | Area SID | RFC 9666 |
+ +-------+------------------------------+-----------+
+
+ Table 1
+
+7. Security Considerations
+
+ This document introduces no new security issues. Security of routing
+ within a domain is already addressed as part of the routing protocols
+ themselves. This document proposes no changes to those security
+ architectures. Security for IS-IS is provided by "IS-IS
+ Cryptographic Authentication" [RFC5304] and "IS-IS Generic
+ Cryptographic Authentication" [RFC5310].
+
+8. References
+
+8.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.
+
+ [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
+ dual environments", RFC 1195, DOI 10.17487/RFC1195,
+ December 1990, <https://www.rfc-editor.org/info/rfc1195>.
+
+ [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>.
+
+ [RFC5301] McPherson, D. and N. Shen, "Dynamic Hostname Exchange
+ Mechanism for IS-IS", RFC 5301, DOI 10.17487/RFC5301,
+ October 2008, <https://www.rfc-editor.org/info/rfc5301>.
+
+ [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>.
+
+ [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>.
+
+ [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions
+ in Support of Generalized Multi-Protocol Label Switching
+ (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008,
+ <https://www.rfc-editor.org/info/rfc5307>.
+
+ [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308,
+ DOI 10.17487/RFC5308, October 2008,
+ <https://www.rfc-editor.org/info/rfc5308>.
+
+ [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>.
+
+ [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic
+ Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119,
+ February 2011, <https://www.rfc-editor.org/info/rfc6119>.
+
+ [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>.
+
+ [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>.
+
+ [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>.
+
+ [RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B.,
+ and Z. Hu, "IS-IS Extensions to Support Segment Routing
+ over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352,
+ February 2023, <https://www.rfc-editor.org/info/rfc9352>.
+
+ [RFC9667] Li, T., Ed., Psenak, P., Ed., Chen, H., Jalil, L., and S.
+ Dontula, "Dynamic Flooding on Dense Graphs", RFC 9667,
+ DOI 10.17487/RFC9667, October 2024,
+ <https://www.rfc-editor.org/info/rfc9667>.
+
+8.2. Informative References
+
+ [Clos] Clos, C., "A study of non-blocking switching networks",
+ The Bell System Technical Journal, Volume 32, Issue 2, pp.
+ 406-424, DOI 10.1002/j.1538-7305.1953.tb01433.x, March
+ 1953,
+ <https://doi.org/10.1002/j.1538-7305.1953.tb01433.x>.
+
+ [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code
+ Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January
+ 2014, <https://www.rfc-editor.org/info/rfc7120>.
+
+ [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>.
+
+Acknowledgements
+
+ The authors would like to thank Bruno Decraene and Gunter Van De
+ Velde for their many helpful comments. The authors would also like
+ to thank a small group that wishes to remain anonymous for their
+ valuable contributions.
+
+Authors' Addresses
+
+ Tony Li
+ Juniper Networks
+ 1133 Innovation Way
+ Sunnyvale, CA 94089
+ United States of America
+ Email: tony.li@tony.li
+
+
+ Sarah Chen
+ Arista Networks
+ 5453 Great America Parkway
+ Santa Clara, CA 95054
+ United States of America
+ Email: sarahchen@arista.com
+
+
+ Vivek Ilangovan
+ Arista Networks
+ 5453 Great America Parkway
+ Santa Clara, CA 95054
+ United States of America
+ Email: ilangovan@arista.com
+
+
+ Gyan S. Mishra
+ Verizon Inc.
+ 13101 Columbia Pike
+ Silver Spring, MD 20904
+ United States of America
+ Phone: 301 502-1347
+ Email: gyan.s.mishra@verizon.com