| rfc9666xml2.original.xml | rfc9666.xml | |||
|---|---|---|---|---|
| <?xml version='1.0' encoding='utf-8'?> | ||||
| <!DOCTYPE rfc [ | ||||
| <!ENTITY nbsp " "> | ||||
| <!ENTITY zwsp "​"> | ||||
| <!ENTITY nbhy "‑"> | ||||
| <!ENTITY wj "⁠"> | ||||
| ]> | ||||
| <rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="exp" docName="draft-ie | ||||
| tf-lsr-isis-area-proxy-12" number="9666" consensus="true" ipr="trust200902" obso | ||||
| letes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDep | ||||
| th="4" symRefs="true" sortRefs="true" version="3"> | ||||
| <front> | ||||
| <title abbrev="Area Proxy for IS-IS">Area Proxy for IS-IS</title> | ||||
| <seriesInfo name="RFC" value="9666"/> | ||||
| <author fullname="Tony Li" initials="T." surname="Li"> | ||||
| <organization>Juniper Networks</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>1133 Innovation Way</street> | ||||
| <city>Sunnyvale</city> | ||||
| <region>CA</region> | ||||
| <code>94089</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone/> | ||||
| <email>tony.li@tony.li</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Sarah Chen" initials="S." surname="Chen"> | ||||
| <organization>Arista Networks</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>5453 Great America Parkway</street> | ||||
| <city>Santa Clara</city> | ||||
| <region>CA</region> | ||||
| <code>95054</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone/> | ||||
| <email>sarahchen@arista.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author fullname="Vivek Ilangovan" initials="V." surname="Ilangovan"> | ||||
| <organization>Arista Networks</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>5453 Great America Parkway</street> | ||||
| <city>Santa Clara</city> | ||||
| <region>CA</region> | ||||
| <code>95054</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone/> | ||||
| <email>ilangovan@arista.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <author initials="G." surname="Mishra" fullname="Gyan S. Mishra"> | ||||
| <organization>Verizon Inc.</organization> | ||||
| <address> | ||||
| <postal> | ||||
| <street>13101 Columbia Pike</street> | ||||
| <city>Silver Spring</city> | ||||
| <region>MD</region> | ||||
| <code>20904</code> | ||||
| <country>United States of America</country> | ||||
| </postal> | ||||
| <phone>301 502-1347</phone> | ||||
| <email>gyan.s.mishra@verizon.com</email> | ||||
| </address> | ||||
| </author> | ||||
| <date year="2024" month="October"/> | ||||
| <area>RTG</area> | ||||
| <workgroup>lsr</workgroup> | ||||
| <keyword>datacenter</keyword> | ||||
| <keyword>IGP</keyword> | ||||
| <keyword>routing</keyword> | ||||
| <keyword>topology</keyword> | ||||
| <keyword>level</keyword> | ||||
| <keyword>abstraction</keyword> | ||||
| <keyword>IS-IS</keyword> | ||||
| <keyword>proxy</keyword> | ||||
| <abstract> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| To avoid such issues, this document discusses extensions to the | ||||
| IS-IS routing protocol that allow Level 1 (L1) areas to provide transi | ||||
| t | ||||
| but only inject an abstraction of the Level 1 topology into Level 2 (L | ||||
| 2). | ||||
| Each Level 1 area is represented as a single Level 2 node, thereby | ||||
| enabling a greater scale. | ||||
| </t> | ||||
| </abstract> | ||||
| </front> | ||||
| <middle> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Introduction</name> | ||||
| <t> | ||||
| The IS-IS routing protocol <xref target="ISO10589" format="default"></xre | ||||
| f> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 <xref target="Clos" format="default | ||||
| "></xref>. 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| This document discusses the handling of IP traffic. Supporting | ||||
| MPLS-based traffic is a subject for future work. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Requirements Language</name> | ||||
| <t> | ||||
| The key words "<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 "<bcp14>OPTIONAL</bcp14>" in this document are to | ||||
| be | ||||
| interpreted as described in BCP 14 <xref target="RFC2119"/> <xref | ||||
| target="RFC8174"/> when, and only when, they appear in all capitals, as | ||||
| shown here. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Area Proxy</name> | ||||
| <t> 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| There are four classes of routers that we need to be concerned | ||||
| with in this discussion: | ||||
| </t> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>Inside Router:</dt> | ||||
| <dd> | ||||
| 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. | ||||
| </dd> | ||||
| <dt>Area Leader:</dt> | ||||
| <dd> | ||||
| 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. | ||||
| </dd> | ||||
| <dt>Inside Edge Router:</dt> | ||||
| <dd> | ||||
| 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. | ||||
| </dd> | ||||
| <dt>Outside Edge Router:</dt> | ||||
| <dd> | ||||
| 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. | ||||
| </dd> | ||||
| </dl> | ||||
| <figure> | ||||
| <name>An Example of Router Classes</name> | ||||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| Inside Area | ||||
| +--------+ +--------+ | ||||
| | Inside |-----------------| Inside | | ||||
| | Router | | Edge | | ||||
| +--------+ +------------| Router | | ||||
| | / +--------+ | ||||
| | / | | ||||
| +--------+ / =============|====== | ||||
| | Area |/ || | | ||||
| | Leader | || +---------+ | ||||
| +--------+ || | Outside | | ||||
| || | Edge | | ||||
| || | Router | | ||||
| || +---------+ | ||||
| Outside Area | ||||
| ]]></artwork> | ||||
| </figure> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 <bcp14>MUST NOT</bcp14> flood Inside | ||||
| Router LSPs on this link. Boundary LANs <bcp14>SHOULD NOT</bcp14> 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 | ||||
| <bcp14>SHOULD</bcp14> compose the pseudonode identifier using its | ||||
| built-in 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. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Segment Routing</name> | ||||
| <t> | ||||
| If the Inside Area supports Segment Routing (SR) <xref target="RFC8402" | ||||
| format="default"/>, then all Inside Nodes <bcp14>MUST</bcp14> | ||||
| advertise a Segment Routing Global Block (SRGB). The first value of | ||||
| the SRGB advertised by all Inside Nodes <bcp14>MUST</bcp14> start at | ||||
| the same value. If the Area Leader detects SRGBs that do not start | ||||
| with the same value, it <bcp14>MUST</bcp14> 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 (<xref target="AreaSIDsubTLV" format="default"/>). The Inside | ||||
| Edge | ||||
| Nodes <bcp14>MUST</bcp14> establish forwarding based on this SID. The A | ||||
| rea | ||||
| Leader <bcp14>SHALL</bcp14> also include the Area SID in the Proxy LSP | ||||
| so | ||||
| that the remainder of L2 can use it for path construction. | ||||
| (<xref target="AreaSIDBinding" format="default"/>). | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Inside Router Functions</name> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Area Proxy TLV</name> | ||||
| <t> | ||||
| The Area Proxy TLV serves multiple functions: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li> | ||||
| <t> | ||||
| The presence of the Area Proxy TLV in a node's LSP | ||||
| indicates that the node is enabled for Area Proxy. | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| An LSP containing the Area Proxy TLV is also an Inside | ||||
| Node. All Inside Nodes, including pseudonodes, <bcp14>MUST</bcp14> | ||||
| advertise the Area Proxy TLV. | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| It is a container for sub-TLVs with Area Proxy information. | ||||
| </t> | ||||
| </li> | ||||
| </ul> | ||||
| <t> | ||||
| A node advertises the Area Proxy TLV in fragment 0 of its L2 | ||||
| LSP. Nodes <bcp14>MUST NOT</bcp14> advertise the Area Proxy TLV in an | ||||
| L1 | ||||
| LSP. Nodes <bcp14>MUST</bcp14> 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: | ||||
| </t> | ||||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| 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 ... | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| ]]></artwork> | ||||
| <dl> | ||||
| <dt>TLV Type:</dt> | ||||
| <dd>20</dd> | ||||
| <dt>TLV Length:</dt> | ||||
| <dd>Length of the sub-TLVs.</dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Level 2 SPF Computation</name> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| When Inside Routers perform a Level 2 SPF computation, they | ||||
| <bcp14>MUST</bcp14> 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. | ||||
| </t> | ||||
| <t> | ||||
| To prevent this, the Inside Routers <bcp14>MUST</bcp14> consider the me | ||||
| trics | ||||
| 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 <bcp14>MUST</bcp14> 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. | ||||
| </t> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Responsibilities Concerning the Proxy LSP</name> | ||||
| <t>The Area Leader will generate a Proxy LSP that will be flooded across | ||||
| the Inside Area. Inside Routers <bcp14>MUST</bcp14> flood the Proxy LSP and <bc | ||||
| p14>MUST</bcp14> ignore its contents. | ||||
| The Proxy LSP uses the Area Proxy System Identifier as its Source ID. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Area Leader Functions</name> | ||||
| <t> | ||||
| The Area Leader has several responsibilities. First, it <bcp14>MUST</bcp | ||||
| 14> | ||||
| inject the Area Proxy System Identifier into the Level 2 | ||||
| LSDB. Second, the Area Leader <bcp14>MUST</bcp14> generate the Proxy LSP | ||||
| for | ||||
| the Inside Area. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Area Leader Election</name> | ||||
| <t> | ||||
| The Area Leader is selected using the election mechanisms and | ||||
| TLVs described in "Dynamic Flooding on Dense Graphs" <xref target="RFC9 | ||||
| 667"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Redundancy</name> | ||||
| <t> | ||||
| If the Area Leader fails, another candidate may become Area | ||||
| Leader and <bcp14>MUST</bcp14> 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. | ||||
| </t> | ||||
| <t> | ||||
| For consistency, all Area Leader candidates <bcp14>SHOULD</bcp14> be | ||||
| configured with the same Proxy System ID, Proxy Hostname, and | ||||
| any other information that may be inserted into the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Distributing Area Proxy Information</name> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Area Proxy System Identifier Sub-TLV</name> | ||||
| <t> | ||||
| The Area Proxy System Identifier sub-TLV <bcp14>MUST</bcp14> 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: | ||||
| </t> | ||||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| 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 | | ||||
| | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| ]]></artwork> | ||||
| <dl> | ||||
| <dt>Type:</dt><dd>1</dd> | ||||
| <dt>Length:</dt><dd>Length of a system ID (6).</dd> | ||||
| <dt>Proxy System Identifier:</dt><dd>The Area Proxy System Identifier.</dd> | ||||
| </dl> | ||||
| <t> | ||||
| The Area Leader <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> enable Area Proxy functionality. | ||||
| </t> | ||||
| <t> | ||||
| Other candidates for Area Leader <bcp14>MAY</bcp14> 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 | ||||
| <bcp14>SHOULD</bcp14> be advertising the same system | ||||
| identifier. Multiple proxy system identifiers in a single area is a | ||||
| misconfiguration and each unique occurrence <bcp14>SHOULD</bcp14> | ||||
| be logged. Systems should use the Proxy System ID advertised by the | ||||
| Area Leader. | ||||
| </t> | ||||
| <t> | ||||
| The Area Leader and other candidates for Area Leader | ||||
| <bcp14>MAY</bcp14> 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 | ||||
| <bcp14>SHOULD</bcp14> protect against unnecessary churn from | ||||
| transients by delaying the withdrawal. The amount of delay is | ||||
| implementation dependent. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="AreaSIDsubTLV" numbered="true" toc="default"> | ||||
| <name>The Area SID Sub-TLV</name> | ||||
| <t> | ||||
| 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: | ||||
| </t> | ||||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| 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) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| ]]></artwork> | ||||
| <t> | ||||
| where:</t> | ||||
| <dl> | ||||
| <dt>Type:</dt><dd>2</dd> | ||||
| <dt>Length:</dt><dd>Variable (1 + SID length)</dd> | ||||
| <dt>Flags:</dt><dd><t>1 octet, defined as follows.</t> | ||||
| <artwork align="left" name="" type="" alt=""><![CDATA[ | ||||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| |F|V|L| | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| ]]></artwork> | ||||
| <dl indent="4"> | ||||
| <dt>F:</dt><dd>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.</dd> | ||||
| <dt>V:</dt><dd>Value Flag. If set, then the proxy SID carries | ||||
| a value, as defined in <xref target="RFC8667" | ||||
| sectionFormat="comma" section="2.1.1.1"/>.</dd> | ||||
| <dt>L:</dt><dd>Local Flag. If set, then the value/index | ||||
| carried by the proxy SID has local significance, as defined in | ||||
| <xref target="RFC8667" sectionFormat="comma" | ||||
| section="2.1.1.1"/>. | ||||
| </dd> | ||||
| <dt>Other bits:</dt><dd><bcp14>MUST</bcp14> be zero when | ||||
| originated and ignored when received.</dd></dl></dd> | ||||
| <dt>SID/Index/Label:</dt><dd>As defined in <xref target="RFC8667" sectionFormat= | ||||
| "comma" section="2.1.1.1"/>.</dd> | ||||
| <dt>Prefix Length:</dt><dd>1 octet</dd> | ||||
| <dt>Prefix:</dt><dd>0-16 octets</dd> | ||||
| </dl> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Proxy LSP Generation</name> | ||||
| <t> | ||||
| 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 | ||||
| <bcp14>MUST</bcp14> be filtered by all Inside Edge Routers to not be fl | ||||
| ooded | ||||
| to Outside Routers. Only the Proxy LSP is injected into | ||||
| the overall Level 2 LSDB. | ||||
| </t> | ||||
| <t> | ||||
| 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 <bcp14>MUST NOT</bcp14> be | ||||
| considered. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Protocols Supported TLV</name> | ||||
| <t> | ||||
| The Area Leader <bcp14>SHOULD</bcp14> insert a Protocols Supported TL | ||||
| V (129) | ||||
| <xref target="RFC1195" format="default"/> into the Proxy LSP. The | ||||
| values included in the TLV <bcp14>SHOULD</bcp14> be the protocols | ||||
| supported by the Inside Area. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Area Address TLV</name> | ||||
| <t> | ||||
| The Area Leader <bcp14>SHOULD</bcp14> insert an Area Addresses TLV (1 | ||||
| ) | ||||
| <xref target="ISO10589" format="default"/> into the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Dynamic Hostname TLV</name> | ||||
| <t> | ||||
| It is <bcp14>RECOMMENDED</bcp14> that the Area Leader insert the Dyna | ||||
| mic | ||||
| Hostname TLV (137) <xref target="RFC5301" format="default"/> into the | ||||
| Proxy | ||||
| LSP. The contents of the hostname may be specified by | ||||
| configuration. The presence of the hostname helps to | ||||
| simplify network debugging. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The IS Neighbors TLV</name> | ||||
| <t> | ||||
| The Area Leader can insert the IS Neighbors TLV (2) <xref target="ISO | ||||
| 10589" format="default"/> 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 <bcp14>SHOULD NOT</bcp14> do this. The Area Leader | ||||
| <bcp14>MAY</bcp14> | ||||
| omit either the IS Neighbors TLV or the Extended IS | ||||
| Neighbors TLV, but it <bcp14>MUST</bcp14> include at least one of the | ||||
| m. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Extended IS Neighbors TLV</name> | ||||
| <t> | ||||
| The Area Leader can insert the Extended IS Reachability TLV | ||||
| (22) <xref target="RFC5305" format="default"/> into the Proxy LSP. Th | ||||
| e | ||||
| Area Leader <bcp14>SHOULD</bcp14> copy each Extended IS Reachability | ||||
| TLV | ||||
| advertised by an Inside Edge Router about an Outside Edge | ||||
| Router into the Proxy LSP. | ||||
| </t> | ||||
| <t> | ||||
| If the Inside Area supports Segment Routing, and Segment | ||||
| Routing selects a SID where the L-Flag is not set, then the | ||||
| Area Lead <bcp14>SHOULD</bcp14> include an Adjacency Segment Identifi | ||||
| er | ||||
| sub-TLV (31) <xref target="RFC8667" format="default"/> using the sele | ||||
| cted | ||||
| SID. | ||||
| </t> | ||||
| <t> | ||||
| If the inside area supports SRv6, the Area Leader <bcp14>SHOULD</bcp1 | ||||
| 4> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| If the inside area supports Traffic Engineering (TE), the | ||||
| Area Leader <bcp14>SHOULD</bcp14> copy TE-related sub-TLVs | ||||
| (<xref target="RFC5305" sectionFormat="comma" section="3"/>) to each | ||||
| Extended IS | ||||
| Reachability TLV in the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The MT Intermediate Systems TLV</name> | ||||
| <t> | ||||
| If the Inside Area supports Multi-Topology (MT), then the Area | ||||
| Leader <bcp14>SHOULD</bcp14> copy each Outside Edge Router advertisem | ||||
| ent | ||||
| that is advertised by an Inside Edge Router in an MT | ||||
| Intermediate Systems TLV into the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Reachability TLVs</name> | ||||
| <t> | ||||
| The Area Leader <bcp14>SHOULD</bcp14> insert additional TLVs describi | ||||
| ng | ||||
| 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: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li> | ||||
| <t> | ||||
| IP Internal Reachability Information TLV (128) <xref target="RFC1 | ||||
| 195" format="default"/> | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| IP External Reachability Information TLV (130) <xref target="RFC1 | ||||
| 195" format="default"/> | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| Extended IP Reachability TLV (135) <xref target="RFC5305" format= | ||||
| "default"/> | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| IPv6 Reachability TLV (236) <xref target="RFC5308" format="defaul | ||||
| t"/> | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| Multi-Topology Reachable IPv4 Prefixes TLV (235) <xref target="RF | ||||
| C5120" format="default"/> | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| Multi-Topology Reachable IPv6 Prefixes TLV (237) <xref target="RF | ||||
| C5120" format="default"/> | ||||
| </t> | ||||
| </li> | ||||
| </ul> | ||||
| <t> | ||||
| For TLVs in the Level 1 LSDB, for a given TLV type and | ||||
| prefix, the Area Leader <bcp14>SHOULD</bcp14> select the TLV with the | ||||
| lowest metric and copy that TLV into the Proxy LSP. | ||||
| </t> | ||||
| <t> | ||||
| When examining the Level 2 LSDB for this function, the Area Leader | ||||
| <bcp14>SHOULD</bcp14> only consider TLVs advertised by Inside | ||||
| Routers. Further, for prefixes that represent Boundary links, the | ||||
| Area Leader <bcp14>SHOULD</bcp14> copy all TLVs that have unique | ||||
| sub-TLV contents. | ||||
| </t> | ||||
| <t> | ||||
| If the Inside Area supports SR and the | ||||
| selected TLV includes a Prefix Segment Identifier sub-TLV | ||||
| (3) <xref target="RFC8667" format="default"/>, then the sub-TLV <bcp1 | ||||
| 4>SHOULD</bcp14> be | ||||
| copied as well. The P-Flag <bcp14>SHOULD</bcp14> be set in the copy o | ||||
| f the | ||||
| sub-TLV to indicate that penultimate hop popping should not | ||||
| be performed for this prefix. The E-Flag <bcp14>SHOULD</bcp14> be res | ||||
| et in | ||||
| the copy of the sub-TLV to indicate that an explicit NULL | ||||
| is not required. The R-Flag <bcp14>SHOULD</bcp14> simply be copied. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Router Capability TLV</name> | ||||
| <t> | ||||
| The Area Leader <bcp14>MAY</bcp14> insert the Router Capability TLV ( | ||||
| 242) | ||||
| <xref target="RFC7981" format="default"/> 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 <bcp14>SHOULD</bcp14> advertis | ||||
| e an | ||||
| SR-Capabilities sub-TLV (2) <xref target="RFC8667" format="default"/> | ||||
| 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 <bcp14>SHOULD</bcp14> use | ||||
| its | ||||
| Router ID in the Router Capability TLV. | ||||
| </t> | ||||
| <t> | ||||
| If SRv6 Capability sub-TLV <xref target="RFC7981" format="default"/> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| If the Node Maximum SID Depth (MSD) sub-TLV <xref target="RFC8491" fo | ||||
| rmat="default"/> 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. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The Multi-Topology TLV</name> | ||||
| <t> | ||||
| If the Inside Area supports multi-topology, then the Area | ||||
| Leader <bcp14>SHOULD</bcp14> insert the Multi-Topology TLV (229) <xre | ||||
| f target="RFC5120" format="default"/>, including the topologies supported by | ||||
| the Inside Nodes. | ||||
| </t> | ||||
| <t> | ||||
| If any Inside Node is advertising the O (Overload) bit | ||||
| for a given topology, then the Area Leader <bcp14>MUST</bcp14> advert | ||||
| ise | ||||
| the O bit for that topology. If any Inside Node is | ||||
| advertising the A (Attach) bit for a given topology, then | ||||
| the Area Leader <bcp14>MUST</bcp14> advertise the A bit for that | ||||
| topology. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The SID/Label Binding and the Multi-Topology SID/Label Binding T | ||||
| LV</name> | ||||
| <t> | ||||
| If an Inside Node advertises the SID/Label Binding or | ||||
| Multi-Topology SID/Label Binding TLV <xref target="RFC8667" format="d | ||||
| efault"/>, then the Area Leader <bcp14>MAY</bcp14> copy the TLV | ||||
| to the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>The SRv6 Locator TLV</name> | ||||
| <t> | ||||
| If the inside area supports SRv6, the Area Leader <bcp14>SHOULD</bcp1 | ||||
| 4> | ||||
| copy all SRv6 locator TLVs <xref target="RFC9352" format="default"/> | ||||
| advertised by Inside Routers to the Proxy LSP. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Traffic Engineering Information</name> | ||||
| <t> | ||||
| If the inside area supports TE, the Area Leader <bcp14>SHOULD</bcp14> | ||||
| advertise a TE Router ID TLV (134) <xref target="RFC5305" format="def | ||||
| ault"/> | ||||
| in the Proxy LSP. It <bcp14>SHOULD</bcp14> copy the Shared Risk | ||||
| Link Group (SRLS) TLVs (138) <xref target="RFC5307" format="default"/ | ||||
| > | ||||
| advertised by Inside Edge Routers about links to Outside | ||||
| Edge Routers. | ||||
| </t> | ||||
| <t> | ||||
| If the inside area supports IPv6 TE, the Area Leader <bcp14>SHOULD</b | ||||
| cp14> | ||||
| advertise an IPv6 TE Router ID TLV (140) | ||||
| <xref target="RFC6119" format="default"/> in the Proxy LSP. It <bcp14 | ||||
| >SHOULD</bcp14> also | ||||
| copy the IPv6 SRLG TLVs (139) <xref target="RFC6119" format="default | ||||
| "/> | ||||
| advertised by Inside Edge Routers about links to Outside | ||||
| Edge Routers. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="AreaSIDBinding" numbered="true" toc="default"> | ||||
| <name>The Area SID</name> | ||||
| <t> | ||||
| 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 (<xref target="AreaSIDsubTLV" format="default"/>) by the Area | ||||
| Leader. | ||||
| </t> | ||||
| <t> | ||||
| The Area Leader <bcp14>SHOULD</bcp14> advertise the Area SID informat | ||||
| ion | ||||
| in the Proxy LSP as a Node SID as defined in <xref target="RFC8667" s | ||||
| ectionFormat="comma" 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 <bcp14>MUST</bcp14> specify whether the SID | ||||
| value should be the same or different from that used in | ||||
| support of Area Proxy. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Inside Edge Router Functions</name> | ||||
| <t> | ||||
| The Inside Edge Router has two additional and important | ||||
| functions. First, it <bcp14>MUST</bcp14> generate IIHs that appear to hav | ||||
| e | ||||
| come from the Area Proxy System Identifier. Second, it <bcp14>MUST</bcp14 | ||||
| > | ||||
| filter the L2 LSPs, Partial Sequence Number PDUs (PSNPs), and | ||||
| Complete Sequence Number PDUs (CSNPs) that are being advertised | ||||
| to Outside Routers. | ||||
| </t> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Generating L2 IIHs to Outside Routers</name> | ||||
| <t> | ||||
| 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 | ||||
| <bcp14>MUST NOT</bcp14> 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 <bcp14>MUST</bcp14> generate its IIHs on the | ||||
| circuit using the Proxy System ID as the source of the IIH. | ||||
| </t> | ||||
| <t> | ||||
| 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 <bcp14>MUST NOT</bcp14> be u | ||||
| sed | ||||
| as it will cause unnecessary adjacencies to form. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Filtering LSP Information</name> | ||||
| <t> | ||||
| For the area proxy abstraction to be effective the L2 LSPs | ||||
| generated by the Inside Routers <bcp14>MUST</bcp14> be restricted to th | ||||
| e | ||||
| 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 <bcp14>MUST</bcp14> pe | ||||
| rform | ||||
| filtering of LSP flooding, CSNPs, and PSNPs. Specifically: | ||||
| </t> | ||||
| <ul spacing="normal"> | ||||
| <li> | ||||
| <t> | ||||
| A Level 2 LSP with a source system identifier that is | ||||
| found in the Level 1 LSDB <bcp14>MUST NOT</bcp14> be flooded to an | ||||
| Outside Router. | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| A Level 2 LSP that contains the Area Proxy TLV <bcp14>MUST NOT</bcp | ||||
| 14> | ||||
| be flooded to an Outside Router. | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| A Level 2 CSNP sent to an Outside Router <bcp14>MUST NOT</bcp14> co | ||||
| ntain | ||||
| 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 <bcp14>MUST NOT</bcp14> be sent. The source address of the | ||||
| CSNP | ||||
| <bcp14>MUST</bcp14> be the Area Proxy System ID. | ||||
| </t> | ||||
| </li> | ||||
| <li> | ||||
| <t> | ||||
| A Level 2 PSNP sent to an Outside Router <bcp14>MUST NOT</bcp14> co | ||||
| ntain | ||||
| 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 <bcp14>MUST NOT</bcp14> be sent. The source address of the | ||||
| PSNP | ||||
| <bcp14>MUST</bcp14> be the Area Proxy System ID. | ||||
| </t> | ||||
| </li> | ||||
| </ul> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="IANA" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <t> | ||||
| 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. | ||||
| </t> | ||||
| <t> | ||||
| 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 <xref target="RFC7120" format="default"/ | ||||
| >.</t> | ||||
| <t>The registration procedure is Expert Review <xref target="RFC8126" | ||||
| />. The values are from 0-255, and the fields are Value, Name, and Reference. Th | ||||
| e initial assignments are as follows.</t> | ||||
| <table align="center"> | ||||
| <thead> | ||||
| <tr> | ||||
| <th align="center">Value</th> | ||||
| <th align="center">Name</th> | ||||
| <th align="center">Reference</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td align="center">1</td> | ||||
| <td align="center">Area Proxy System Identifier</td> | ||||
| <td align="center">RFC 9666</td> | ||||
| </tr> | ||||
| <tr> | ||||
| <td align="center">2</td> | ||||
| <td align="center">Area SID</td> | ||||
| <td align="center">RFC 9666</td> | ||||
| </tr> | ||||
| </tbody> | ||||
| </table> | ||||
| </section> | ||||
| <section anchor="Security" numbered="true" toc="default"> | ||||
| <name>Security Considerations</name> | ||||
| <t> | ||||
| 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" <xref target="RFC5304"/> and "IS-IS Generic | ||||
| Cryptographic Authentication" <xref target="RFC5310"/>. | ||||
| </t> | ||||
| </section> | ||||
| </middle> | ||||
| <back> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <!-- [I-D.ietf-lsr-dynamic-flooding] RFC 9667; companion document--> | ||||
| <reference anchor="RFC9667" target="https://www.rfc-editor.org/info/rfc9667"> | ||||
| <front> | ||||
| <title>Dynamic Flooding on Dense Graphs</title> | ||||
| <author initials="T." surname="Li" fullname="Tony Li"> | ||||
| <organization>Juniper Networks</organization> | ||||
| </author> | ||||
| <author initials="P." surname="Psenak" fullname="Peter Psenak"> | ||||
| <organization>Cisco Systems, Inc.</organization> | ||||
| </author> | ||||
| <author initials="H." surname="Chen" fullname="Huaimo Chen"> | ||||
| <organization>Futurewei</organization> | ||||
| </author> | ||||
| <author initials="L." surname="Jalil" fullname="Luay Jalil"> | ||||
| <organization>Verizon</organization> | ||||
| </author> | ||||
| <author initials="S." surname="Dontula" fullname="Srinath Dontula"> | ||||
| <organization>ATT</organization> | ||||
| </author> | ||||
| <date month="October" year="2024"/> | ||||
| </front> | ||||
| <seriesInfo name="RFC" value="9667"/> | ||||
| <seriesInfo name="DOI" value="10.17487/RFC9667"/> | ||||
| </reference> | ||||
| <reference anchor="ISO10589"> | ||||
| <front> | ||||
| <title>Information technology — Telecommunications and information | ||||
| exchange between systems — Intermediate System to Intermediate System intra-doma | ||||
| in | ||||
| routeing information exchange protocol for use in conjunction with the protocol | ||||
| for providing the connectionless-mode network service (ISO 8473)</title> | ||||
| <author> | ||||
| <organization abbrev="ISO">International Organization for | ||||
| Standardization</organization> | ||||
| </author> | ||||
| <date month="11" year="2002"/> | ||||
| </front> | ||||
| <seriesInfo name="ISO/IEC" value="10589:2002"/> | ||||
| <refcontent>Second Edition</refcontent> | ||||
| </reference> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.11 | ||||
| 95.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2 | ||||
| 119.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 120.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 301.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 304.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 305.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 307.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 308.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5 | ||||
| 310.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6 | ||||
| 119.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 981.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 174.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 402.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 667.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 491.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9 | ||||
| 352.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <reference anchor="Clos"> | ||||
| <front> | ||||
| <title>A study of non-blocking switching networks</title> | ||||
| <author fullname="Charles Clos" initials="C." surname="Clos"/> | ||||
| <date month="March" year="1953"/> | ||||
| </front> | ||||
| <seriesInfo name="DOI" value="10.1002/j.1538-7305.1953.tb01433.x"/> | ||||
| <refcontent>The Bell System Technical Journal, Volume 32, Issue 2, pp. | ||||
| 406-424</refcontent> | ||||
| </reference> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7 | ||||
| 120.xml"/> | ||||
| <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8 | ||||
| 126.xml"/> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
| <name>Acknowledgements</name> <t> | ||||
| The authors would like to thank <contact fullname="Bruno Decraene"/> | ||||
| and <contact fullname="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. | ||||
| </t> | ||||
| </section> | ||||
| </back> | ||||
| </rfc> | ||||
| End of changes. 1 change blocks. | ||||
| lines changed or deleted | lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||