| < draft-ietf-lsr-isis-flood-reflection-03.txt | draft-ietf-lsr-isis-flood-reflection-04.txt > | |||
|---|---|---|---|---|
| Network Working Group A. Przygienda | Network Working Group A. Przygienda | |||
| Internet-Draft C. Bowers | Internet-Draft C. Bowers | |||
| Intended status: Standards Track Juniper | Intended status: Standards Track Juniper | |||
| Expires: January 12, 2022 Y. Lee | Expires: 24 April 2022 Y. Lee | |||
| A. Sharma | A. Sharma | |||
| Comcast | Comcast | |||
| R. White | R. White | |||
| Juniper | Juniper | |||
| July 11, 2021 | 21 October 2021 | |||
| IS-IS Flood Reflection | IS-IS Flood Reflection | |||
| draft-ietf-lsr-isis-flood-reflection-03 | draft-ietf-lsr-isis-flood-reflection-04 | |||
| Abstract | Abstract | |||
| This document describes an optional ISIS extension that allows the | This document describes a backwards compatible, optional ISIS | |||
| creation of IS-IS flood reflection topologies. Flood reflection | extension that allows the creation of IS-IS flood reflection | |||
| allows the creation of topologies where L1 areas provide transit | topologies. Flood reflection allows topologies in which L1 areas | |||
| forwarding for L2 destinations within an L2 topology. It | provide transit forwarding for L2 using all available L1 nodes | |||
| accomplishes this by creating L2 flood reflection adjacencies within | internally. It accomplishes this by creating L2 flood reflection | |||
| each L1 area. The L2 flood reflection adjacencies are used to flood | adjacencies within each L1 area. Those adjacencies are used to flood | |||
| L2 LSPDUs, and they are used in the L2 SPF computation. However, | L2 LSPDUs, and they are used in the L2 SPF computation. However, | |||
| they are not used for forwarding. This arrangement gives the L2 | they are not used for forwarding within the flood reflection cluster. | |||
| topology better scaling properties. In addition, only those routers | This arrangement gives the L2 topology significantly better scaling | |||
| directly participating in flood reflection have to support the | properties. As additional benefit, only those routers directly | |||
| feature. This allows for the incremental deployment of scalable L1 | participating in flood reflection have to support the feature. This | |||
| transit areas in an existing network, without the necessity of | allows for the incremental deployment of scalable L1 transit areas in | |||
| upgrading other routers in the network. | an existing network, without the necessity of upgrading other routers | |||
| in the network. | ||||
| Requirements Language | Requirements Language | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 2, line 7 ¶ | skipping to change at page 2, line 10 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 12, 2022. | This Internet-Draft will expire on 24 April 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | license-info) in effect on the date of publication of this document. | |||
| publication of this document. Please review these documents | Please review these documents carefully, as they describe your rights | |||
| carefully, as they describe your rights and restrictions with respect | and restrictions with respect to this document. Code Components | |||
| to this document. Code Components extracted from this document must | extracted from this document must include Simplified BSD License text | |||
| include Simplified BSD License text as described in Section 4.e of | as described in Section 4.e of the Trust Legal Provisions and are | |||
| the Trust Legal Provisions and are provided without warranty as | provided without warranty as described in the Simplified BSD License. | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Description . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Further Details . . . . . . . . . . . . . . . . . . . . . . . 8 | 2. Description . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 3. Flood Reflection TLV . . . . . . . . . . . . . . . . . . . . 9 | 3. Further Details . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. Flood Reflection Discovery Sub-TLV . . . . . . . . . . . . . 10 | 4. Flood Reflection TLV . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Flood Reflection Adjacency Sub-TLV . . . . . . . . . . . . . 11 | 5. Flood Reflection Discovery Sub-TLV . . . . . . . . . . . . . 10 | |||
| 6. Flood Reflection Discovery . . . . . . . . . . . . . . . . . 11 | 6. Flood Reflection Discovery Tunnel Type Sub-Sub-TLV . . . . . 11 | |||
| 7. Flood Reflection Adjacency Formation . . . . . . . . . . . . 12 | 7. Flood Reflection Adjacency Sub-TLV . . . . . . . . . . . . . 12 | |||
| 8. Redistribution of Prefixes . . . . . . . . . . . . . . . . . 13 | 8. Flood Reflection Discovery . . . . . . . . . . . . . . . . . 13 | |||
| 9. Route Computation . . . . . . . . . . . . . . . . . . . . . . 13 | 9. Flood Reflection Adjacency Formation . . . . . . . . . . . . 14 | |||
| 10. Special Considerations . . . . . . . . . . . . . . . . . . . 14 | 10. Route Computation . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 10.1. Tunnel Based Deployment . . . . . . . . . . . . . . . . 15 | |||
| 11.1. New IS-IS TLV Codepoint . . . . . . . . . . . . . . . . 14 | 10.2. No Tunnel Deployment . . . . . . . . . . . . . . . . . . 15 | |||
| 11.2. Sub TLVs for TLV 242 . . . . . . . . . . . . . . . . . . 15 | 11. Redistribution of Prefixes . . . . . . . . . . . . . . . . . 15 | |||
| 11.3. Sub TLVs for TLV 22, 23, 25, 141, 222, and 223 . . . . . 15 | 12. Special Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 | 13.1. New IS-IS TLV Codepoint . . . . . . . . . . . . . . . . 16 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 13.2. Sub TLVs for TLV 242 . . . . . . . . . . . . . . . . . . 17 | |||
| 14.1. Informative References . . . . . . . . . . . . . . . . . 15 | 13.3. Sub-sub TLVs for Flood Reflection Discovery sub-TLV . . 17 | |||
| 14.2. Normative References . . . . . . . . . . . . . . . . . . 16 | 13.4. Sub TLVs for TLV 22, 23, 25, 141, 222, and 223 . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | 14. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | |||
| 15. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 16.1. Informative References . . . . . . . . . . . . . . . . . 18 | ||||
| 16.2. Normative References . . . . . . . . . . . . . . . . . . 18 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 | ||||
| 1. Description | 1. Glossary | |||
| This section is introduced first with the intention of allowing quick | ||||
| reference later in the document to terms introduced | ||||
| Flood Reflector: | ||||
| Node configured to connect L2 only to flood reflector clients and | ||||
| reflect (reflood) ISIS L2 LSPs amongst them. | ||||
| Flood Reflector Client: | ||||
| Node configured to build flood reflector adjacencies and normal L2 | ||||
| nodes. | ||||
| Flood Reflector Adjacency: | ||||
| ISIS L2 adjacency limited by one end being client and the other | ||||
| reflector and agreeing on the same Flood Reflector Cluster ID. | ||||
| Flood Reflector Cluster: | ||||
| Collection of clients and flood reflectors configured with the | ||||
| same cluster identifier. | ||||
| Tunnel Deployment: | ||||
| Deployment where flood reflector clients build a full mesh of | ||||
| tunnels in L1 to "shortcut" forwarding of L2 traffic through the | ||||
| cluster. | ||||
| No Tunnel Deployment: | ||||
| Deployment where flood reflector clients redistribute L2 | ||||
| reachability into L1 to allow forwarding through the cluster | ||||
| without underlying tunnels. | ||||
| 2. Description | ||||
| Due to the inherent properties of link-state protocols the number of | Due to the inherent properties of link-state protocols the number of | |||
| IS-IS routers within a flooding domain is limited by processing and | IS-IS routers within a flooding domain is limited by processing and | |||
| flooding overhead on each node. While that number can be maximized | flooding overhead on each node. While that number can be maximized | |||
| by well written implementations and techniques such as exponential | by well written implementations and techniques such as exponential | |||
| back-offs, IS-IS will still reach a saturation point where no further | back-offs, IS-IS will still reach a saturation point where no further | |||
| routers can be added to a single flooding domain. In some L2 | routers can be added to a single flooding domain. In some L2 | |||
| backbone deployment scenarios, this limit presents a significant | backbone deployment scenarios, this limit presents a significant | |||
| challenge. | challenge. | |||
| skipping to change at page 5, line 40 ¶ | skipping to change at page 6, line 4 ¶ | |||
| | | | | | | | | | | | | | | | | | | |||
| | | | | +----------+ | | | | | | +----------+ | | |||
| | | | | | | | | | | | | | | | | | | |||
| | | | | +-----+ | | | | | | | +-----+ | | | |||
| | | | | | | | | | | | | | | | | | | |||
| +----+ ++----+-+-+ | +-+-+--+-++ +----+ | +----+ ++----+-+-+ | +-+-+--+-++ +----+ | |||
| | R3 | | R12 | | L2 adjacency | R32 | | R6 | | | R3 | | R12 | | L2 adjacency | R32 | | R6 | | |||
| | L2 +--+ L1/L2 +------------------------------------+ L1/L2 +--+ L2 | | | L2 +--+ L1/L2 +------------------------------------+ L1/L2 +--+ L2 | | |||
| | | | | | | | | | | | | | | | | | | | | |||
| +----+ +-------+----+ +-------+ +----+ | +----+ +-------+----+ +-------+ +----+ | |||
| Figure 2: Example topology represented in L2 with a full mesh of | ||||
| Figure 2: Example topology represented in L2 with a full mesh of L2 | L2 adjacencies between L1/L2 nodes | |||
| adjacencies between L1/L2 nodes | ||||
| BGP, as specified in [RFC4271], faced a similar scaling problem, | BGP, as specified in [RFC4271], faced a similar scaling problem, | |||
| which has been solved in many networks by deploying BGP route | which has been solved in many networks by deploying BGP route | |||
| reflectors [RFC4456]. We note that BGP route reflectors do not | reflectors [RFC4456]. We note that BGP route reflectors do not | |||
| necessarily have to be in the forwarding path of the traffic. This | necessarily have to be in the forwarding path of the traffic. This | |||
| incongruity of forwarding and control path for BGP route reflectors | incongruity of forwarding and control path for BGP route reflectors | |||
| allows the control plane to scale independently of the forwarding | allows the control plane to scale independently of the forwarding | |||
| plane. | plane. | |||
| We propose here a similar solution for IS-IS. A simple example of | We propose here a similar solution for IS-IS. A simple example of | |||
| skipping to change at page 6, line 41 ¶ | skipping to change at page 6, line 49 ¶ | |||
| | L2 +--+ L1/L2 +-----------+ L1/L2 +--------------+ L1/L2 +--+ L2 | | | L2 +--+ L1/L2 +-----------+ L1/L2 +--------------+ L1/L2 +--+ L2 | | |||
| | | | | L2 adj | flood | L2 adj | | | | | | | | | L2 adj | flood | L2 adj | | | | | |||
| +----+ +-------+ over |reflector| over +-------+ +----+ | +----+ +-------+ over |reflector| over +-------+ +----+ | |||
| tunnel +--+---+--+ tunnel | tunnel +--+---+--+ tunnel | |||
| +----+ +-------+ | | +-------+ +----+ | +----+ +-------+ | | +-------+ +----+ | |||
| | R3 | | R12 +--------------+ +-----------------+ R32 | | R6 | | | R3 | | R12 +--------------+ +-----------------+ R32 | | R6 | | |||
| | L2 +--+ L1/L2 | L2 adj L2 adj | L1/L2 +--+ L2 | | | L2 +--+ L1/L2 | L2 adj L2 adj | L1/L2 +--+ L2 | | |||
| | | | | over over | | | | | | | | | over over | | | | | |||
| +----+ +-------+ tunnel tunnel +-------+ +----+ | +----+ +-------+ tunnel tunnel +-------+ +----+ | |||
| Figure 3: Example topology represented in L2 with L2 adjacencies from | Figure 3: Example topology represented in L2 with L2 adjacencies | |||
| each L1/L2 node to a single flood reflector | from each L1/ L2 node to a single flood reflector | |||
| As illustrated in Figure 3, when R21 plays the role of flood | As illustrated in Figure 3, when R21 plays the role of flood | |||
| reflector, it provides L2 connectivity among all of the previously | reflector, it provides L2 connectivity among all of the previously | |||
| disconnected L2 islands by reflooding all L2 LSPDUs. At the same | disconnected L2 islands by reflooding all L2 LSPDUs. At the same | |||
| time, R20 and R22 remain L1-only routers. L1-only routers and | time, R20 and R22 remain L1-only routers. L1-only routers and | |||
| L1-only links are not visible in L2. In this manner, the flood | L1-only links are not visible in L2. In this manner, the flood | |||
| reflector allows us provide L2 control plane connectivity in a | reflector allows us provide L2 control plane connectivity in a | |||
| scalable manner. | scalable manner. | |||
| As described so far, the solution illustrated in Figure 3 relies only | As described so far, the solution illustrated in Figure 3 relies only | |||
| skipping to change at page 7, line 28 ¶ | skipping to change at page 7, line 34 ¶ | |||
| the L2 adjacency to R21 over L1 links instead. This would allow the | the L2 adjacency to R21 over L1 links instead. This would allow the | |||
| forwarding within the L1 area to use the L1-only nodes and links | forwarding within the L1 area to use the L1-only nodes and links | |||
| shown in Figure 1 as well. It allows networks to be built that use | shown in Figure 1 as well. It allows networks to be built that use | |||
| the entire forwarding capacity of the L1 areas, while at the same | the entire forwarding capacity of the L1 areas, while at the same | |||
| time introducing control plane scaling benefits provided by L2 flood | time introducing control plane scaling benefits provided by L2 flood | |||
| reflectors. | reflectors. | |||
| This document defines all extensions necessary to support flood | This document defines all extensions necessary to support flood | |||
| reflector deployment: | reflector deployment: | |||
| o A 'flood reflector adjacency' for all the adjacencies built for | * A 'flood reflector adjacency' for all the adjacencies built for | |||
| the purpose of reflecting flooding information. This allows these | the purpose of reflecting flooding information. This allows these | |||
| 'flood reflectors' to participate in the IS-IS control plane | 'flood reflectors' to participate in the IS-IS control plane | |||
| without being used in the forwarding plane. This is a purely | without being used in the forwarding plane. This is a purely | |||
| local operation on the L1/L2 ingress; it does not require | local operation on the L1/L2 ingress; it does not require | |||
| replacing or modifying any routers not involved in the reflection | replacing or modifying any routers not involved in the reflection | |||
| process. Deployment-wise, it is far less tricky to just upgrade | process. Deployment-wise, it is far less tricky to just upgrade | |||
| the routers involved in flood reflection rather than have a flag | the routers involved in flood reflection rather than have a flag | |||
| day on the whole ISIS domain. | day on the whole ISIS domain. | |||
| o A full mesh of L1 tunnels between the L1/L2 routers, ideally load- | * An (optional) full mesh of tunnels between the L1/L2 routers, | |||
| balancing across all available L1 links. This harnesses all | ideally load-balancing across all available L1 links. This | |||
| forwarding paths between the L1/L2 edge nodes without injecting | harnesses all forwarding paths between the L1/L2 edge nodes | |||
| unneeded state into the L2 flooding domain or creating 'choke | without injecting unneeded state into the L2 flooding domain or | |||
| points' at the 'flood reflectors' themselves. A solution without | creating 'choke points' at the 'flood reflectors' themselves. The | |||
| tunnels is also possible by judicious scoping of reachability | draft is agnostic as to the tunneling technology used but provides | |||
| information between the levels. | enough information for automatic establishment of such tunnels. | |||
| The discussion of ISIS adjacency formation and/or liveness | ||||
| discovery on such tunnels is outside the scope of this draft and | ||||
| is largely choice of the underlying implementation. A solution | ||||
| without tunnels is also possible by applying judicious scoping of | ||||
| reachability information between the levels as described in more | ||||
| details later. | ||||
| o Some way to support reflector redundancy, and potentially some way | * Some way to support reflector redundancy, and potentially some way | |||
| to auto-discover and advertise such adjacencies as flood reflector | to auto-discover and advertise such adjacencies as flood reflector | |||
| adjacencies. Such advertisements may allow L2 nodes outside the | adjacencies. Such advertisements may allow L2 nodes outside the | |||
| L1 to perform optimizations in the future based on this | L1 to perform optimizations in the future based on this | |||
| information. | information. | |||
| 2. Further Details | 3. Further Details | |||
| Several considerations should be noted in relation to such a flood | Several considerations should be noted in relation to such a flood | |||
| reflection mechanism. | reflection mechanism. | |||
| First, this allows multi-area IS-IS deployments to scale without any | First, this allows multi-area IS-IS deployments to scale without any | |||
| major modifications in the IS-IS implementation on most of the nodes | major modifications in the IS-IS implementation on most of the nodes | |||
| deployed in the network. Unmodified (traditional) L2 routers will | deployed in the network. Unmodified (traditional) L2 routers will | |||
| compute reachability across the transit L1 area using the flood | compute reachability across the transit L1 area using the flood | |||
| reflector adjacencies. | reflector adjacencies. | |||
| Second, the flood reflectors are not required to participate in | Second, the flood reflectors are not required to participate in | |||
| forwarding traffic through the L1 transit area. These flood | forwarding traffic through the L1 transit area. These flood | |||
| reflectors can be hosted on virtual devices outside the forwarding | reflectors can be hosted on virtual devices outside the forwarding | |||
| topology. | topology. | |||
| Third, astute readers will realize that flooding reflection may cause | Third, astute readers will realize that flooding reflection may cause | |||
| the use of suboptimal paths. This is similar to the BGP route | the use of suboptimal paths. This is similar to the BGP route | |||
| reflection suboptimal routing problem described in | reflection suboptimal routing problem described in | |||
| [ID.draft-ietf-idr-bgp-optimal-route-reflection-19]. The L2 | [ID.draft-ietf-idr-bgp-optimal-route-reflection-28]. The L2 | |||
| computation determines the egress L1/L2 and with that can create | computation determines the egress L1/L2 and with that can create | |||
| illusions of ECMP where there is none. And in certain scenarios lead | illusions of ECMP where there is none. And in certain scenarios lead | |||
| to an L1/L2 egress which is not globally optimal. This represents a | to an L1/L2 egress which is not globally optimal. This represents a | |||
| straightforward instance of the trade-off between the amount of | straightforward instance of the trade-off between the amount of | |||
| control plane state and the optimal use of paths through the network | control plane state and the optimal use of paths through the network | |||
| often encountered when aggregating routing information. | often encountered when aggregating routing information. | |||
| One possible solution to this problem is to expose additional | One possible solution to this problem is to expose additional | |||
| topology information into the L2 flooding domains. In the example | topology information into the L2 flooding domains. In the example | |||
| network given, links from router 01 to router 02 can be exposed into | network given, links from router 01 to router 02 can be exposed into | |||
| L2 even when 01 and 02 are participating in flood reflection. This | L2 even when 01 and 02 are participating in flood reflection. This | |||
| information would allow the L2 nodes to build 'shortcuts' when the L2 | information would allow the L2 nodes to build 'shortcuts' when the L2 | |||
| flood reflected part of the topology looks more expensive to cross | flood reflected part of the topology looks more expensive to cross | |||
| distance wise. | distance wise. | |||
| Another possible variation is for an implementation to approximate | Another possible variation is for an implementation to approximate | |||
| with the L1 tunnel cost the cost of the underlying topology. | with the tunnel cost the cost of the underlying topology. | |||
| Redundancy can be achieved by building multiple flood reflectors in | ||||
| the L1 area. Multiple flood reflectors do not need any | ||||
| synchronization mechanisms amongst themselves, except standard ISIS | ||||
| flooding and database maintenance procedures. | ||||
| On change in either flood reflection role or cluster ID on IIH the | Redundancy can be achieved by building multiple flood reflectors in a | |||
| adjacency has to be reset. | L1 area. Multiple flood reflectors do not need any synchronization | |||
| mechanisms amongst themselves, except standard ISIS flooding and | ||||
| database maintenance procedures. | ||||
| 3. Flood Reflection TLV | 4. Flood Reflection TLV | |||
| The Flood Reflection TLV is a new top-level TLV that MAY appear in | The Flood Reflection TLV is a new top-level TLV that MAY appear in L2 | |||
| IIHs. The Flood Reflection TLV indicates the flood reflector cluster | IIHs. The Flood Reflection TLV indicates the flood reflector cluster | |||
| (based on Flood Reflection Cluster ID) that a given router is | (based on Flood Reflection Cluster ID) that a given router is | |||
| configured to participate in. It also indicates whether the router | configured to participate in. It also indicates whether the router | |||
| is configured to play the role of either flood reflector or flood | is configured to play the role of either flood reflector or flood | |||
| reflector client. The Flood Reflection Cluster ID and flood | reflector client. The Flood Reflection Cluster ID and flood | |||
| reflector roles advertised in the IIHs are used to ensure that flood | reflector roles advertised in the IIHs are used to ensure that flood | |||
| reflector adjacencies are only formed between a flood reflector and | reflector adjacencies are only formed between a flood reflector and | |||
| flood reflector client, and that the Flood Reflection Cluster IDs | flood reflector client, and that the Flood Reflection Cluster IDs | |||
| match. The Flood Reflection TLV has the following format: | match. The Flood Reflection TLV has the following format: | |||
| skipping to change at page 9, line 43 ¶ | skipping to change at page 9, line 48 ¶ | |||
| flood reflector client. When this bit is NOT set, the router acts | flood reflector client. When this bit is NOT set, the router acts | |||
| as a flood reflector. On a given router, the same value of the | as a flood reflector. On a given router, the same value of the | |||
| C-bit MUST be advertised across all interfaces advertising the | C-bit MUST be advertised across all interfaces advertising the | |||
| Flood Reflection TLV in IIHs. | Flood Reflection TLV in IIHs. | |||
| RESERVED: This field is reserved for future use. It MUST be set to | RESERVED: This field is reserved for future use. It MUST be set to | |||
| 0 when sent and MUST be ignored when received. | 0 when sent and MUST be ignored when received. | |||
| Flood Reflection Cluster ID: Flood Reflection Cluster Identifier. | Flood Reflection Cluster ID: Flood Reflection Cluster Identifier. | |||
| These same 32-bit value MUST be assigned to all of the flood | These same 32-bit value MUST be assigned to all of the flood | |||
| reflectors and flood reflector clients in the L1 area. The value | reflectors and flood reflector clients in the same L1 area. The | |||
| MUST be unique across different L1 areas within the IGP domain. | value MUST be unique across different L1 areas within the IGP | |||
| On a given router, the same value of the Flood Reflection Cluster | domain. On a given router, the same value of the Flood Reflection | |||
| ID MUST be advertised across all interfaces advertising the Flood | Cluster ID MUST be advertised across all interfaces advertising | |||
| Reflection TLV in IIHs. This implies that a flood reflector can | the Flood Reflection TLV in IIHs. This implies that a flood | |||
| participate in a single L1 area only. | reflector can participate in a single L1 area only. | |||
| Sub-TLVs: Optional sub-TLVs. For future extensibility, the format | Sub-TLVs: Optional sub-TLVs. For future extensibility, the format | |||
| of the Flood Reflection TLV allows for the possibility of | of the Flood Reflection TLV allows for the possibility of | |||
| including optional sub-TLVs. No sub-TLVs of the Flood Reflection | including optional sub-TLVs. No sub-TLVs of the Flood Reflection | |||
| TLV are defined in this document. | TLV are defined in this document. | |||
| The Flood Reflection TLV MUST NOT appear more than once in an IIH. A | The Flood Reflection TLV SHOULD NOT appear more than once in an IIH. | |||
| router receiving multiple Flood Reflection TLVs in the same IIH | A router receiving multiple Flood Reflection TLVs in the same IIH | |||
| SHOULD use the values in the first TLV. | MUST use the values in the first TLV and it SHOULD adequately log | |||
| such violations subject to rate limiting. | ||||
| 4. Flood Reflection Discovery Sub-TLV | 5. Flood Reflection Discovery Sub-TLV | |||
| Flood Reflection Discovery sub-TLV is advertised as a sub-TLV of the | Flood Reflection Discovery sub-TLV is advertised as a sub-TLV of the | |||
| IS-IS Router Capability TLV-242, defined in [RFC7981]. The Flood | IS-IS Router Capability TLV-242, defined in [RFC7981]. The Flood | |||
| Reflection Discovery sub-TLV is advertised in L1 LSPs with area | Reflection Discovery sub-TLV is advertised in L1 and L2 LSPs with | |||
| flooding scope in order to enable the auto-discovery of flood | area flooding scope in order to enable the auto-discovery of flood | |||
| reflection capabilities and the automatic creation of L2 tunnels to | reflection capabilities. The Flood Reflection Discovery sub-TLV has | |||
| be used as flood reflector adjacencies. The Flood Reflection | the following format: | |||
| Discovery sub-TLV has the following format: | ||||
| 0 1 2 3 | 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 | 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 |C| Reserved | | | Type | Length |C| Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Flood Reflection Cluster ID | | | Flood Reflection Cluster ID | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type: TBD | Type: TBD | |||
| skipping to change at page 10, line 46 ¶ | skipping to change at page 11, line 5 ¶ | |||
| C (Client): This bit is set to indicate that the router acts as a | C (Client): This bit is set to indicate that the router acts as a | |||
| flood reflector client. When this bit is NOT set, the router acts | flood reflector client. When this bit is NOT set, the router acts | |||
| as a flood reflector. | as a flood reflector. | |||
| RESERVED: This field is reserved for future use. It MUST be set to | RESERVED: This field is reserved for future use. It MUST be set to | |||
| 0 when sent and MUST be ignored when received. | 0 when sent and MUST be ignored when received. | |||
| Flood Reflection Cluster ID: The Flood Reflection Cluster Identifier | Flood Reflection Cluster ID: The Flood Reflection Cluster Identifier | |||
| is the same as that defined in the Flood Reflection TLV. | is the same as that defined in the Flood Reflection TLV. | |||
| The Flood Reflection Discovery sub-TLV MUST NOT appear more than once | The Flood Reflection Discovery sub-TLV SHOULD NOT appear more than | |||
| in TLV 242. A router receiving multiple Flood Reflection Discovery | once in TLV 242. A router receiving multiple Flood Reflection | |||
| sub-TLVs in TLV 242 SHOULD use the values in the first sub-TLV. | Discovery sub-TLVs in TLV 242 MUST use the values in the first sub- | |||
| TLV and it SHOULD adequately log such violations subject to rate | ||||
| limiting. | ||||
| 5. Flood Reflection Adjacency Sub-TLV | 6. Flood Reflection Discovery Tunnel Type Sub-Sub-TLV | |||
| Flood Reflection Discovery Tunnel Type sub-sub-TLV is advertised | ||||
| optionally as a sub-sub-TLV of the Flood Reflection Discovery Sub- | ||||
| TLV, defined in Section 5. It allows the automatic creation of L2 | ||||
| tunnels to be used as flood reflector adjacencies and L1 shortcut | ||||
| tunnels. The Flood Reflection Tunnel Type sub-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 | Reserved |F| | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Tunnel Encapsulation Attribute | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Type: TBD | ||||
| Length: The length, in octets, of zero or more of the following | ||||
| fields. | ||||
| Reserved: SHOULD be 0 on transmission and ignored on reception. | ||||
| F Flag: When set indicates flood reflection tunnel endpoint, when | ||||
| clear, indicates possible L1 shortcut tunnel endpoint. | ||||
| Tunnel Encapsulation Attribute: Carries encapsulation type and | ||||
| further attributes necessary for tunnel establishment as defined | ||||
| in [RFC9012]. Protocol type sub-TLV as defined in [RFC9012] MAY | ||||
| be included but MUST when F flag is set include according type | ||||
| that allows carrying of encapsulated ISIS frames. Such tunnel | ||||
| type MUST provide according mechanisms to carry up to | ||||
| `originatingL2LSPBufferSize` sized ISIS frames across. | ||||
| A flood reflector receiving multiple Flood Reflection Discovery | ||||
| Tunnel Type sub-sub-TLVs in Flood Reflection Discovery sub-TLV with F | ||||
| flag set SHOULD use one or more of the specified tunnel endpoints to | ||||
| automatically establish one or more tunnels that will serve as flood | ||||
| reflection adjacency(-ies). | ||||
| A flood reflection client receiving multiple Flood Reflection | ||||
| Discovery Tunnel Type sub-sub-TLVs in Flood Reflection Discovery sub- | ||||
| TLV with F flag clear from other leaves MAY use one or more of the | ||||
| specified tunnel endpoints to automatically establish one or more | ||||
| tunnels that will serve as L1 tunnel shortcuts. | ||||
| Optional address validation procedures as defined in [RFC9012] MUST | ||||
| be disregarded. | ||||
| 7. Flood Reflection Adjacency Sub-TLV | ||||
| The Flood Reflection Adjacency sub-TLV is advertised as a sub-TLV of | The Flood Reflection Adjacency sub-TLV is advertised as a sub-TLV of | |||
| TLVs 22, 23, 25, 141, 222, and 223. Its presence indicates that a | TLVs 22, 23, 25, 141, 222, and 223. Its presence indicates that a | |||
| given adjacency is a flood reflector adjacency. It is included in L2 | given adjacency is a flood reflector adjacency. It is included in L2 | |||
| area scope flooded LSPs. Flood Reflection Adjacency sub-TLV has the | area scope flooded LSPs. Flood Reflection Adjacency sub-TLV has the | |||
| following format: | following format: | |||
| 0 1 2 3 | 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 11, line 35 ¶ | skipping to change at page 12, line 44 ¶ | |||
| C (Client): This bit is set to indicate that the router advertising | C (Client): This bit is set to indicate that the router advertising | |||
| this adjacency is a flood reflector client. When this bit is NOT | this adjacency is a flood reflector client. When this bit is NOT | |||
| set, the router advertising this adjacency is a flood reflector. | set, the router advertising this adjacency is a flood reflector. | |||
| RESERVED: This field is reserved for future use. It MUST be set to | RESERVED: This field is reserved for future use. It MUST be set to | |||
| 0 when sent and MUST be ignored when received. | 0 when sent and MUST be ignored when received. | |||
| Flood Reflection Cluster ID: The Flood Reflection Cluster Identifier | Flood Reflection Cluster ID: The Flood Reflection Cluster Identifier | |||
| is the same as that defined in the Flood Reflection TLV. | is the same as that defined in the Flood Reflection TLV. | |||
| The Flood Reflection Adjacency sub-TLV MUST NOT appear more than once | The Flood Reflection Adjacency sub-TLV SHOULD NOT appear more than | |||
| in a given TLV. A router receiving multiple Flood Reflection | once in a given TLV. A router receiving multiple Flood Reflection | |||
| Adjacency sub-TLVs in a TLV SHOULD use the values in the first sub- | Adjacency sub-TLVs in a TLV MUST use the values in the first sub-TLV | |||
| TLV. | and it SHOULD adequately log such violations subject to rate | |||
| limiting. | ||||
| 6. Flood Reflection Discovery | 8. Flood Reflection Discovery | |||
| A router participating in flood reflection MUST be configured as an | A router participating in flood reflection MUST be configured as an | |||
| L1/L2 router. It originates the Flood Reflection Discovery sub-TLV | L1/L2 router. It SHOULD originate the Flood Reflection Discovery | |||
| with area flooding scope in L1 only. Normally, all routers on the | sub-TLV with area flooding scope in L1 and L2. Normally, all routers | |||
| edge of the L1 area (those having traditional L2 adjacencies) will | on the edge of the L1 area (those having traditional L2 adjacencies) | |||
| advertise themselves as route reflector clients. Therefore, a flood | will advertise themselves as route reflector clients. Therefore, a | |||
| reflector client will have both traditional L2 adjacencies and flood | flood reflector client will have both traditional L2 adjacencies and | |||
| reflector L2 adjacencies. | flood reflector L2 adjacencies. | |||
| A router acting as a flood reflector MUST NOT have any traditional L2 | A router acting as a flood reflector MUST NOT have any traditional L2 | |||
| adjacencies. It will be an L1/L2 router only by virtue of having | adjacencies. It will be an L1/L2 router only by virtue of having | |||
| flood reflector L2 adjacencies. A router desiring to act as a flood | flood reflector L2 adjacencies. A router desiring to act as a flood | |||
| reflector will advertise itself as such using the Flood Reflection | reflector will advertise itself as such using the Flood Reflection | |||
| Discovery sub-TLV in L1. | Discovery sub-TLV in L1 and L2. | |||
| A given flood reflector or flood reflector client can only | A given flood reflector or flood reflector client can only | |||
| participate in a single cluster, as determined by the value of its | participate in a single cluster, as determined by the value of its | |||
| Flood Reflection Cluster ID. | Flood Reflection Cluster ID and should disregard other routers' TLVs | |||
| for flood reflection purposes if the cluster ID is not matching. | ||||
| Upon reception of Flood Reflection Discovery sub-TLVs, a router | Upon reception of Flood Reflection Discovery sub-TLVs, a router | |||
| acting as flood reflector client MUST initiate a tunnel towards each | acting as flood reflector client SHOULD initiate a tunnel towards | |||
| flood reflector with which it shares an Flood Reflection Cluster ID. | each flood reflector with which it shares an Flood Reflection Cluster | |||
| The L2 adjacencies formed over such tunnels MUST be marked as flood | ID using one or more of the tunnel encapsulations provided with F | |||
| reflector adjacencies. If the client has a direct L2 adjacency with | flag being set. The L2 adjacencies formed over such tunnels MUST be | |||
| the flood reflector it SHOULD use it instead of instantiating a new | marked as flood reflector adjacencies. If the client or reflector | |||
| tunnel. | has a direct L2 adjacency with the according remote side it SHOULD | |||
| use it instead of instantiating a new tunnel. | ||||
| In absence of auto-discovery an implementation MAY use statically | ||||
| configured tunnels to create flood reflection adjacencies. | ||||
| The ISIS metrics for all flood reflection adjacencies in a cluster | ||||
| SHOULD be uniform. | ||||
| Upon reception of Flood Reflection Discover TLVs, a router acting as | Upon reception of Flood Reflection Discover TLVs, a router acting as | |||
| a flood reflector client MAY initiate tunnels with L1-only | a flood reflector client MAY initiate tunnels with L1-only | |||
| adjacencies towards all the other flood reflector clients in its | adjacencies towards any of the other flood reflector clients with | |||
| cluster. These tunnels MAY be used for forwarding to improve the | lower router IDs in its cluster using encapsulations with F flag | |||
| load-balancing characteristics of the L1 area. | clear. These tunnels MAY be used for forwarding to improve the load- | |||
| balancing characteristics of the L1 area. If the clients have a | ||||
| direct L2 adjacency they SHOULD use it instead of instantiating a new | ||||
| tunnel. | ||||
| 7. Flood Reflection Adjacency Formation | 9. Flood Reflection Adjacency Formation | |||
| In order to simplify both implementations and network deployments, we | In order to simplify both implementations and network deployments, | |||
| do not allow the formation of complex hierarchies of flood reflectors | this draft does not allow the formation of complex hierarchies of | |||
| and clients. All flood reflectors and flood reflector clients in the | flood reflectors and clients or allow multiple clusters in a single | |||
| same L1 area MUST share the same Flood Reflector Cluster ID. A flood | L1 area. Consequently, all flood reflectors and flood reflector | |||
| reflector MUST only form flood reflection adjacencies with flood | clients in the same L1 area MUST share the same Flood Reflector | |||
| reflector clients. A flood reflector MUST NOT form any traditional | Cluster ID. | |||
| L2 adjacencies. Flood reflector clients MUST only form flood | ||||
| reflection adjacencies with flood reflectors. Flood reflector | A flood reflector MUST only form flood reflection adjacencies with | |||
| clients MAY form traditional L2 adjacencies with flood reflector | flood reflector clients with matching Cluster ID. A flood reflector | |||
| clients or nodes not participating in flood reflection. | MUST NOT form any traditional L2 adjacencies. | |||
| Flood reflector clients MUST only form flood reflection adjacencies | ||||
| with flood reflectors with matching Cluster ID. | ||||
| Flood reflector clients MAY form traditional L2 adjacencies with | ||||
| flood reflector clients or nodes not participating in flood | ||||
| reflection. When two clients form traditional L2 adjacency Cluster | ||||
| ID is disregarded. | ||||
| The Flood Reflector Cluster ID and flood reflector roles advertised | The Flood Reflector Cluster ID and flood reflector roles advertised | |||
| in the Flood Reflection TLVs in IIHs are used to ensure that flood | in the Flood Reflection TLVs in IIHs are used to ensure that flood | |||
| reflection adjacencies that are established meet the above criteria. | reflection adjacencies that are established meet the above criteria. | |||
| On change in either flood reflection role or cluster ID on IIH on the | ||||
| local or remote side the adjacency has to be reset and re-established | ||||
| if possible. | ||||
| Once a flood reflection adjacency is established, the flood reflector | Once a flood reflection adjacency is established, the flood reflector | |||
| and the flood reflector client MUST advertise the adjacency by | and the flood reflector client MUST advertise the adjacency by | |||
| including the Flood Reflection Adjacency Sub-TLV in the Extended IS | including the Flood Reflection Adjacency Sub-TLV in the Extended IS | |||
| reachability TLV or MT-ISN TLV. | reachability TLV or MT-ISN TLV. | |||
| 8. Redistribution of Prefixes | 10. Route Computation | |||
| In some scenarios, L2 prefixes need to be redistributed into L1 by | ||||
| the route reflector clients. However, if a L1 area edge router | ||||
| doesn't have any L2 flood reflector adjacencies, then it cannot be | ||||
| the shortest path egress in the L2 topology. Therefore, flood | ||||
| reflector client SHOULD only redistribute L2 prefixes into L1 if it | ||||
| has an L2 flood reflector adjacency. The L2 prefixes advertisements | ||||
| redistributed into L1 SHOULD be normally limited to L2 intra-area | ||||
| routes (as defined in [RFC7775]), if the information exists to | ||||
| distinguish them from other L2 prefix advertisements. | ||||
| On the other hand, in topologies that make use of flood reflection to | ||||
| hide the structure of L1 areas while still providing transit | ||||
| forwarding across them, we generally do not need to redistribute L1 | ||||
| prefixes advertisements into L2. | ||||
| In deployment scenarios where L1 tunnels are not used, all L1/L2 edge | ||||
| nodes MUST be flood reflector clients. | ||||
| 9. Route Computation | ||||
| To ensure loop-free routing, the route reflection client MUST follow | To ensure loop-free routing, the route reflection client MUST follow | |||
| the normal L2 computation to determine L2 routes. This is because | the normal L2 computation to determine L2 routes. This is because | |||
| nodes outside the L1 area will generally not be aware that flood | nodes outside the L1 area will generally not be aware that flood | |||
| reflection is being performed. The flood reflection clients need to | reflection is being performed. The flood reflection clients need to | |||
| produce the same result for the L2 route computation as a router not | produce the same result for the L2 route computation as a router not | |||
| participating in flood reflection. However, a flood reflector client | participating in flood reflection. | |||
| will not necessarily use a given L2 route for forwarding. For an L2 | ||||
| route that uses a flood reflection adjacency as a next-hop, the flood | ||||
| reflection client may use the next-hop from an L1 route instead. | ||||
| On the reflection client, after L2 and L1 computation, all flood | 10.1. Tunnel Based Deployment | |||
| reflector adjacencies used as next-hops for L2 routes MUST be | ||||
| examined and replaced with the correct L1 tunnel next-hop to the | ||||
| egress. Alternatively, if the ingress has adequate reachability | ||||
| information to ensure forwarding towards destination via L1 routes, | ||||
| L2 routes using flood reflector adjacencies as next-hops can be | ||||
| omitted entirely. Due to the rules in Section 7 the computation in | ||||
| the resulting topology is relatively simple, the L2 SPF from a flood | ||||
| reflector client is guaranteed to reach within a hop the Flood | ||||
| Reflector and in the following hop the L2 egress to which it has a L1 | ||||
| forwarding tunnel. However, if the topology has L2 paths which are | ||||
| not route reflected and look "shorter" than the path through the | ||||
| Flood Reflector then the computation will have to track the egress | ||||
| out of the L1 domain by a more advanced algorithm. | ||||
| 10. Special Considerations | In tunnel based option the reflection client, after L2 and L1 | |||
| computation, MUST examine all L2 routes and replace all flood | ||||
| reflector adjacencies with the correct underlying tunnel next-hop to | ||||
| the egress. | ||||
| 10.2. No Tunnel Deployment | ||||
| In case of deployment without underlying tunnels, the necessary L2 | ||||
| routes are distributed into the area, normally as L2->L1 routes. Due | ||||
| to the rules in Section 9 the computation in the resulting topology | ||||
| is relatively simple, the L2 SPF from a flood reflector client is | ||||
| guaranteed to reach within a hop the Flood Reflector and in the | ||||
| following hop the L2 egress to which it has a forwarding tunnel | ||||
| again. All the flood reflector tunnel nexthops in the according L2 | ||||
| route can hence be removed and if the L2 route has no other ECMP L2 | ||||
| nexthops, the L2 route MUST be suppressed in the RIB by some means to | ||||
| allow the less preferred L2->L1 route to be used to forward traffic | ||||
| towards the advertising egress. | ||||
| In the particular case the client has L2 routes which are not route | ||||
| reflected, those will be naturally preferred (such routes normally | ||||
| "hot-potato" route of the L1 area). However in the case the L2 route | ||||
| through the flood reflector egress is "shorter" than such present non | ||||
| flood reflected L2 routes, the node SHOULD ensure that such routes | ||||
| are suppressed so the L2->L1 towards the egress still takes | ||||
| preference. Observe that operationally this can be resolved in a | ||||
| relatively simple way by configuring flood reflector adjacencies to | ||||
| have a high metric, i.e. the flood reflector topology becomes "last | ||||
| resort" and the leaves will try to "hot-potato" out the area as fast | ||||
| as possible which is normally the desirable behavior. | ||||
| In deployment scenarios where tunnels are not used, all L1/L2 edge | ||||
| nodes MUST be ultimately flood reflector clients except during during | ||||
| transition phase. | ||||
| 11. Redistribution of Prefixes | ||||
| When L2 prefixes need to be redistributed into L1 by the route | ||||
| reflector clients a client that does not have any L2 flood reflector | ||||
| adjacencies MUST NOT redistribute those routes into the area in case | ||||
| of application of Section 10.2. The L2 prefixes advertisements | ||||
| redistributed into L1 with flood reflectors SHOULD be normally | ||||
| limited to L2 intra-area routes (as defined in [RFC7775]), if the | ||||
| information exists to distinguish them from other other L2 prefix | ||||
| advertisements. | ||||
| On the other hand, in topologies that make use of flood reflection to | ||||
| hide the structure of L1 areas while still providing transit | ||||
| forwarding across them using tunnels, we generally do not need to | ||||
| redistribute L1 prefixes advertisements into L2. | ||||
| 12. Special Considerations | ||||
| In pathological cases setting the overload bit in L1 (but not in L2) | In pathological cases setting the overload bit in L1 (but not in L2) | |||
| can partition L1 forwarding, while allowing L2 reachability through | can partition L1 forwarding, while allowing L2 reachability through | |||
| flood reflector adjacencies to exist. In such a case a node cannot | flood reflector adjacencies to exist. In such a case a node cannot | |||
| replace a route through a flood reflector adjacency with a L1 | replace a route through a flood reflector adjacency with a L1 | |||
| shortcut and the client can use the L2 tunnel to the flood reflector | shortcut and the client can use the L2 tunnel to the flood reflector | |||
| for forwarding while it MUST initiate an alarm and declare | for forwarding while it MUST initiate an alarm and declare | |||
| misconfiguration. | misconfiguration. | |||
| A flood reflector with directly L2 attached prefixes should advertise | A flood reflector with directly L2 attached prefixes should advertise | |||
| skipping to change at page 14, line 38 ¶ | skipping to change at page 16, line 43 ¶ | |||
| the L2 prefixes with a 'third-party' next-hop but that would have | the L2 prefixes with a 'third-party' next-hop but that would have | |||
| less desirable convergence properties than the solution proposed and | less desirable convergence properties than the solution proposed and | |||
| force a fork-lift of all L2 routers to make sure they disregard such | force a fork-lift of all L2 routers to make sure they disregard such | |||
| prefixes unless in the same L1 domain as the Flood Reflector. | prefixes unless in the same L1 domain as the Flood Reflector. | |||
| Depending on pseudo-node choice in case of a broadcast domain with | Depending on pseudo-node choice in case of a broadcast domain with | |||
| multiple flood reflectors attached this can lead to a partitioned LAN | multiple flood reflectors attached this can lead to a partitioned LAN | |||
| and hence a router discovering such a condition MUST initiate an | and hence a router discovering such a condition MUST initiate an | |||
| alarm and declare misconfiguration. | alarm and declare misconfiguration. | |||
| 11. IANA Considerations | 13. IANA Considerations | |||
| This document requests allocation for the following IS-IS TLVs and | This document requests allocation for the following IS-IS TLVs and | |||
| Sub-TLVs. | Sub-TLVs. | |||
| 11.1. New IS-IS TLV Codepoint | 13.1. New IS-IS TLV Codepoint | |||
| This document requests the following IS-IS TLV: | This document requests the following IS-IS TLV: | |||
| Value Name IIH LSP SNP Purge | Value Name IIH LSP SNP Purge | |||
| ----- --------------------------------- --- --- --- ----- | ----- --------------------------------- --- --- --- ----- | |||
| TBD1 Flood Reflection y n n n | TBD1 Flood Reflection y n n n | |||
| Suggested value for TBD1 is 161. | Suggested value for TBD1 is 161. | |||
| 11.2. Sub TLVs for TLV 242 | 13.2. Sub TLVs for TLV 242 | |||
| This document request the following registration in the "sub-TLVs for | This document request the following registration in the "sub-TLVs for | |||
| TLV 242" registry. | TLV 242" registry. | |||
| Type Description | Type Description | |||
| ---- ----------- | ---- ----------- | |||
| TBD2 Flood Reflection Discovery | TBD2 Flood Reflection Discovery | |||
| Suggested value for TBD2 is 161. | Suggested value for TBD2 is 161. | |||
| 11.3. Sub TLVs for TLV 22, 23, 25, 141, 222, and 223 | 13.3. Sub-sub TLVs for Flood Reflection Discovery sub-TLV | |||
| This document request the following registration in the "sub-sub-TLVs | ||||
| for Flood Reflection Discovery sub-TLV" registry. | ||||
| Type Description | ||||
| ---- ----------- | ||||
| TBD3 Flood Reflection Discovery Tunnel Encapsulation Attribute | ||||
| Suggested value for TBD3 is 161. | ||||
| 13.4. Sub TLVs for TLV 22, 23, 25, 141, 222, and 223 | ||||
| This document requests the following registration in the "sub-TLVs | This document requests the following registration in the "sub-TLVs | |||
| for TLV 22, 23, 25, 141, 222, and 223" registry. | for TLV 22, 23, 25, 141, 222, and 223" registry. | |||
| Type Description 22 23 25 141 222 223 | Type Description 22 23 25 141 222 223 | |||
| ---- -------------------------------- --- --- --- --- --- --- | ---- -------------------------------- --- --- --- --- --- --- | |||
| TBD3 Flood Reflector Adjacency y y n y y y | TBD4 Flood Reflector Adjacency y y n y y y | |||
| Suggested value for TBD3 is 161. | Suggested value for TBD4 is 161. | |||
| 12. Security Considerations | 14. Security Considerations | |||
| This document introduces no new security concerns to ISIS or other | This document introduces no new security concerns to ISIS or other | |||
| specifications referenced in this document. | specifications referenced in this document. | |||
| 13. Acknowledgements | 15. Acknowledgements | |||
| The authors thank Shraddha Hegde, Peter Psenak, and Les Ginsberg for | The authors thank Shraddha Hegde, Peter Psenak, Acee Lindem and Les | |||
| their thorough review and detailed discussions. | Ginsberg for their thorough review and detailed discussions. | |||
| 14. References | 16. References | |||
| 14.1. Informative References | 16.1. Informative References | |||
| [ID.draft-ietf-idr-bgp-optimal-route-reflection-19] | [ID.draft-ietf-idr-bgp-optimal-route-reflection-28] | |||
| Raszuk et al., R., "BGP Optimal Route Reflection", July | Raszuk et al., R., "BGP Optimal Route Reflection", July | |||
| 2019. | 2019, <https://www.ietf.org/id/draft-ietf-idr-bgp-optimal- | |||
| route-reflection-28.txt>. | ||||
| [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
| Border Gateway Protocol 4 (BGP-4)", RFC 4271, | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
| DOI 10.17487/RFC4271, January 2006, | DOI 10.17487/RFC4271, January 2006, | |||
| <https://www.rfc-editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
| [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | [RFC4456] Bates, T., Chen, E., and R. Chandra, "BGP Route | |||
| Reflection: An Alternative to Full Mesh Internal BGP | Reflection: An Alternative to Full Mesh Internal BGP | |||
| (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | (IBGP)", RFC 4456, DOI 10.17487/RFC4456, April 2006, | |||
| <https://www.rfc-editor.org/info/rfc4456>. | <https://www.rfc-editor.org/info/rfc4456>. | |||
| [RFC8099] Chen, H., Li, R., Retana, A., Yang, Y., and Z. Liu, "OSPF | [RFC8099] Chen, H., Li, R., Retana, A., Yang, Y., and Z. Liu, "OSPF | |||
| Topology-Transparent Zone", RFC 8099, | Topology-Transparent Zone", RFC 8099, | |||
| DOI 10.17487/RFC8099, February 2017, | DOI 10.17487/RFC8099, February 2017, | |||
| <https://www.rfc-editor.org/info/rfc8099>. | <https://www.rfc-editor.org/info/rfc8099>. | |||
| 14.2. Normative References | 16.2. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC7775] Ginsberg, L., Litkowski, S., and S. Previdi, "IS-IS Route | [RFC7775] Ginsberg, L., Litkowski, S., and S. Previdi, "IS-IS Route | |||
| Preference for Extended IP and IPv6 Reachability", | Preference for Extended IP and IPv6 Reachability", | |||
| RFC 7775, DOI 10.17487/RFC7775, February 2016, | RFC 7775, DOI 10.17487/RFC7775, February 2016, | |||
| <https://www.rfc-editor.org/info/rfc7775>. | <https://www.rfc-editor.org/info/rfc7775>. | |||
| [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions | |||
| for Advertising Router Information", RFC 7981, | for Advertising Router Information", RFC 7981, | |||
| DOI 10.17487/RFC7981, October 2016, | DOI 10.17487/RFC7981, October 2016, | |||
| <https://www.rfc-editor.org/info/rfc7981>. | <https://www.rfc-editor.org/info/rfc7981>. | |||
| [RFC9012] Patel, K., Van de Velde, G., Sangli, S., and J. Scudder, | ||||
| "The BGP Tunnel Encapsulation Attribute", RFC 9012, | ||||
| DOI 10.17487/RFC9012, April 2021, | ||||
| <https://www.rfc-editor.org/info/rfc9012>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Tony Przygienda | Tony Przygienda | |||
| Juniper | Juniper | |||
| 1137 Innovation Way | 1137 Innovation Way | |||
| Sunnyvale, CA | Sunnyvale, CA | |||
| United States of America | ||||
| USA | ||||
| Email: prz@juniper.net | Email: prz@juniper.net | |||
| Chris Bowers | Chris Bowers | |||
| Juniper | Juniper | |||
| 1137 Innovation Way | 1137 Innovation Way | |||
| Sunnyvale, CA | Sunnyvale, CA | |||
| United States of America | ||||
| USA | ||||
| Email: cbowers@juniper.net | Email: cbowers@juniper.net | |||
| Yiu Lee | Yiu Lee | |||
| Comcast | Comcast | |||
| 1800 Bishops Gate Blvd | 1800 Bishops Gate Blvd | |||
| Mount Laurel, NJ 08054 | Mount Laurel, NJ 08054 | |||
| US | United States of America | |||
| Email: Yiu_Lee@comcast.com | Email: Yiu_Lee@comcast.com | |||
| Alankar Sharma | Alankar Sharma | |||
| Comcast | Comcast | |||
| 1800 Bishops Gate Blvd | 1800 Bishops Gate Blvd | |||
| Mount Laurel, NJ 08054 | Mount Laurel, NJ 08054 | |||
| US | United States of America | |||
| Email: Alankar_Sharma@comcast.com | Email: Alankar_Sharma@comcast.com | |||
| Russ White | Russ White | |||
| Juniper | Juniper | |||
| 1137 Innovation Way | 1137 Innovation Way | |||
| Sunnyvale, CA | Sunnyvale, CA | |||
| United States of America | ||||
| USA | ||||
| Email: russw@juniper.net | Email: russw@juniper.net | |||
| End of changes. 65 change blocks. | ||||
| 192 lines changed or deleted | 332 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||