idnits 2.17.1 draft-peng-lsr-flex-algo-l2bundles-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 21, 2020) is 1305 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-26) exists of draft-ietf-lsr-flex-algo-11 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 L P. Shaofu 3 Internet-Draft C. Ran 4 Intended status: Standards Track ZTE Corporation 5 Expires: March 25, 2021 G. Mirsky 6 ZTE Corp. 7 September 21, 2020 9 IGP Flexible Algorithm with L2bundles 10 draft-peng-lsr-flex-algo-l2bundles-03 12 Abstract 14 IGP Flex Algorithm proposes a solution that allows IGPs themselves to 15 compute constraint based paths over the network, and it also 16 specifies a way of using Segment Routing (SR) Prefix-SIDs and SRv6 17 locators to steer packets along the constraint-based paths. This 18 document describes how to create Flex-algo plane with L2bundles 19 scenario. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on March 25, 2021. 38 Copyright Notice 40 Copyright (c) 2020 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (https://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 56 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 57 3. Color set on L2 Bundle Member . . . . . . . . . . . . . . . . 3 58 4. Flex-algo plane with L2 link resource . . . . . . . . . . . . 3 59 4.1. Best-effort . . . . . . . . . . . . . . . . . . . . . . . 3 60 4.2. Traffic Engineering . . . . . . . . . . . . . . . . . . . 4 61 5. Flex-algo L2bundles Use-cases . . . . . . . . . . . . . . . . 5 62 6. IGP L2 Bundle Member EAG advertisement . . . . . . . . . . . 5 63 6.1. ISIS L2 Bundle Member EAG advertisement . . . . . . . . . 5 64 6.2. OSPF L2 Bundle Member EAG advertisement . . . . . . . . . 5 65 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 66 8. Security Considerations . . . . . . . . . . . . . . . . . . . 6 67 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 68 10. Normative References . . . . . . . . . . . . . . . . . . . . 6 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 71 1. Introduction 73 IGP Flex Algorithm [I-D.ietf-lsr-flex-algo] proposes a solution that 74 allows IGPs themselves to compute constraint based paths over the 75 network, and it also specifies a way of using Segment Routing 76 [RFC8402] Prefix-SIDs and SRv6 locators to steer packets along the 77 constraint-based paths. It specifies a set of extensions to ISIS, 78 OSPFv2 and OSPFv3 that enable a router to send TLVs that identify (a) 79 calculation-type, (b) specify a metric-type, and (c )describe a set 80 of constraints on the topology, that are to be used to compute the 81 best paths along the constrained topology. A given combination of 82 calculation-type, metric-type, and constraints is known as an FAD 83 (Flexible Algorithm Definition). 85 [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] introduces the ability 86 for IS-IS and OSPF respectively to advertise the link attributes of 87 Layer 2 (L2) Bundle Members. Especially, the link attribute 88 "Administrative Group" and "Extended Administrative Group" could be 89 individual to each L2 Bundle Member for purpose of Flex-algo plane 90 construction, where multiple Flex-algo planes share the same Layer 3 91 parent interface and each Flex-algo plane has dedicated L2 Bundle 92 Member. 94 This document describes how to create Flex-algo plane with L2bundles 95 scenario. 97 2. Requirements Language 99 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 100 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 101 "OPTIONAL" in this document are to be interpreted as described in BCP 102 14 [RFC2119] [RFC8174] when, and only when, they appear in all 103 capitals, as shown here. 105 3. Color set on L2 Bundle Member 107 Traffic Engineering affinity (also termed as Color) is often to be 108 set on the Layer 3 interface and be flooded by IGP-TE. However, when 109 the Layer 3 interface is a Layer 2 interface bundle, operators can 110 config individual color for each L2 Bundle Member. So that IGP link- 111 state database will contain the TE affinity attribute of L2 Bundle 112 Member, as well as Layer 3 parrent interface. 114 Note that Layer 3 interface can join to IGP instance explicitly, but 115 L2 Bundle Member not. 117 The TE affinity of the Layer 3 parrent interface can be a combined 118 value of all L2 Bundle Members. For example, if the Layer 3 parrent 119 interface contains three L2 Bundle Members, each with color "RED", 120 "GREEN", "BLUE" respectively, the Layer 3 parrent interface will have 121 color "RED|GREEN|BLUE". 123 4. Flex-algo plane with L2 link resource 125 4.1. Best-effort 127 [I-D.ietf-lsr-flex-algo] defines the color-based link resource 128 selection rules in FAD to construct the expected Flex-algo plane. 129 Each node in the Flex-algo plane will maintain the best path to other 130 destination nodes. In the case of L2bundles scenario, each node need 131 check the outgoing Layer 2 bundle interface, to see which L2 Bundle 132 Member does exactly belong to the Flex-algo plane. 134 For the node who originate the l2-bundle interface, the forwarding 135 information of the FIB entry with outgoing Layer 2 bundle interface 136 will exactly select the L2 Bundle Member that belongs to the Flex- 137 algo plane to forward packets. 139 For example, three Flex-algo plane share the same Layer 3 parrent 140 interface including three L2 Bundle Members each with color "RED", 141 "GREEN", "BLUE" respectively, and each Flex-algo plane with link 142 selection rule "Include-Any RED", "Include-Any GREEN", "Include-Any 143 BLUE" respectively, Flex-algo SHOULD NOT simply select the Layer 3 144 parrent interface for all Flex-algo plane, but need continue to 145 select individual L2 Bundle Member for each specific Flex-algo plane. 146 As a reslut, the FIB entry within Flex-algo RED plane will exactly 147 choose the L2 Bundle Members with color "RED" to forward packets, the 148 FIB entry within Flex-algo GREEN plane will exactly choose the L2 149 Bundle Members with color "GREEN" to forward packets, and the FIB 150 entry within Flex-algo BLUE plane will exactly choose the L2 Bundle 151 Members with color "BLUE" to forward packets. 153 The above processing is a local optimization for each node who 154 originate l2-bundle interface. 156 In addition, for a remote node which received l2-bundle advertisement 157 originated from other nodes, if that l2-bundle is in the flex-algo 158 based path to a destination node, it must confirm which L2 Bundle 159 Member belongs to the flex-algo plane and check that L2 Bundle Member 160 really meets the constraints defined in the related FAD. This 161 processing is necessary when Flex-algo is used to optimize SID stack 162 depth for an SR-TE policy, e.g, the SR-TE policy defines TE affinity 163 to select individual L2 Bundle Member and the SID list may contain 164 Adjacency-SID for a specific L2 Bundle Member as described in 165 [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles]. Thus the flex-algo 166 based path must be consistent with the original path of the optimized 167 SR-TE policy, i.e, within the flex-algo plane when each node 168 determine its next-hop towards a destination, the determination must 169 be based on the above confirmation and check of L2 Bundle Members. 171 4.2. Traffic Engineering 173 A segment list contains SIDs advertised specifically for the given 174 algorithm is possible, such as an inter-domain path contains multiple 175 Flex-algo domains, a TI-LFA backup path within the Flex-algo plane, 176 or an optimized TE path avoiding congested link within the Flex-algo 177 plane. When the headend or controller compute these SR-TE paths 178 within the specific flex-algo plane, in addition to the algorithm 179 based Prefix-SID towards the loose node, an Adjacency-SID can also be 180 used to strictly steer the packets along the expected L3 link. 181 However, if the L3 link is a l2-bundle interface, it is necessary to 182 see which L2 Bundle Member exactly belongs to the specific Flex-algo 183 plane and use the Adjacency-SID for that member. 185 [RFC8668] and [I-D.ketant-lsr-ospf-l2bundles] have defined Adjacency- 186 SID for each L2 Bundle Member, that can be used to isolate flows 187 among multiple Flex-algo planes, when these Flex-algo planes share 188 the same Layer 3 parrent interface. A specific Adjacency-SID for a 189 specific L2 Bundle Member can be contained in the SID list of the SR 190 path within the flex-algo plane and steer the packets to that member. 192 5. Flex-algo L2bundles Use-cases 194 In some operator's networks, a large number of bundled links are 195 deployed to improve the bandwidth. However, for a specific l2bundle, 196 each member has different capabilities, such as different delay, 197 bandwidth, AG/EAG, etc. When the path of an SR policy needs to go 198 through an Layer 2 interface bundle, operators want to choose the 199 individual member link to meet business requirements. Different SR 200 policy may choose different member links, according to different set 201 of constraints. 203 When Flex algorithm is enabled in the above networks, even all flex- 204 algo planes share all Layer 2 interface bundles, i.e, all FA planes 205 have the same structure, an important requirement to Flex-algo is 206 that the constraint based computation of Flex-algo must consider how 207 to select member links to meet service's criterias. In addition, 208 different flex-algo planes can also have different structures, with 209 different set of nodes and links, to meet more strict business 210 requirements. 212 The extended behavior of flex-algo introduced in this document can 213 meet the above requirement, and exactly it is independent with the 214 structure of flex-algo plane. 216 6. IGP L2 Bundle Member EAG advertisement 218 6.1. ISIS L2 Bundle Member EAG advertisement 220 [RFC8668] defined TLV-25 for ISIS to advertise the link attributes of 221 L2 Bundle Members, and mentioned that the traditional "Administrative 222 group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV" 223 may appear in TLV-25 and MAY be shared by multiple L2 Bundle Members. 224 If we want to advertise unique EAG values for each bundle member, we 225 can use multiple L2 Bundle Attribute Descriptors with each specify a 226 single bundle member. So it is sufficient to construct Flex-algo 227 plane to select L2 link resource. 229 6.2. OSPF L2 Bundle Member EAG advertisement 231 [I-D.ketant-lsr-ospf-l2bundles] defined "L2 Bundle Member Attributes 232 sub-TLV" for OSPF/OSPFv3 to advertise the link attributes of L2 233 Bundle Members, and mentioned that the traditional "Administrative 234 group (color) Sub-TLV" and "Extended Administrative Group Sub-TLV" 235 are applicable in "L2 Bundle Member Attributes sub-TLV". Because 236 there is "L2 Bundle Member Attributes sub-TLV" per L2 Bundle Member, 237 it is also sufficient to construct Flex-algo plane to select L2 link 238 resource. 240 7. IANA Considerations 242 This document need not define new sub-TLV to IGP for Flex-algo 243 combined with l2bundles. 245 8. Security Considerations 247 There are no new security issues introduced by the extensions in this 248 document. 250 9. Acknowledgements 252 TBD 254 10. Normative References 256 [I-D.ietf-lsr-flex-algo] 257 Psenak, P., Hegde, S., Filsfils, C., Talaulikar, K., and 258 A. Gulko, "IGP Flexible Algorithm", draft-ietf-lsr-flex- 259 algo-11 (work in progress), September 2020. 261 [I-D.ketant-lsr-ospf-l2bundles] 262 Talaulikar, K. and P. Psenak, "Advertising L2 Bundle 263 Member Link Attributes in OSPF", draft-ketant-lsr-ospf- 264 l2bundles-02 (work in progress), June 2020. 266 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 267 Requirement Levels", BCP 14, RFC 2119, 268 DOI 10.17487/RFC2119, March 1997, 269 . 271 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 272 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 273 May 2017, . 275 [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., 276 Decraene, B., Litkowski, S., and R. Shakir, "Segment 277 Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, 278 July 2018, . 280 [RFC8668] Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, 281 M., and E. Aries, "Advertising Layer 2 Bundle Member Link 282 Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, 283 December 2019, . 285 Authors' Addresses 287 Peng Shaofu 288 ZTE Corporation 289 No.68 Zijinghua Road, Yuhuatai District 290 Nanjing 291 China 293 Email: peng.shaofu@zte.com.cn 295 Chen Ran 296 ZTE Corporation 297 No.50 Software Avenue, Yuhuatai District 298 Nanjing 299 China 301 Email: chen.ran@zte.com.cn 303 Greg Mirsky 304 ZTE Corp. 306 Email: gregimirsky@gmail.com