idnits 2.17.1 draft-ietf-mpls-sr-over-ip-01.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 (October 18, 2018) is 2016 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) == Missing Reference: 'I-D.ietf-ospf-segment-routing-extensions' is mentioned on line 225, but not defined == Missing Reference: 'I-D.ietf-isis-segment-routing-extensions' is mentioned on line 226, but not defined == Missing Reference: 'I-D.ietf-isis-encapsulation-cap' is mentioned on line 261, but not defined == Missing Reference: 'I-D.ietf-ospf-encapsulation-cap' is mentioned on line 262, but not defined == Outdated reference: A later version (-22) exists of draft-ietf-spring-segment-routing-mpls-14 ** Obsolete normative reference: RFC 6347 (Obsoleted by RFC 9147) == Outdated reference: A later version (-26) exists of draft-ietf-6man-segment-routing-header-14 Summary: 1 error (**), 0 flaws (~~), 7 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Xu 3 Internet-Draft Alibaba Inc. 4 Intended status: Standards Track S. Bryant 5 Expires: April 21, 2019 Huawei 6 A. Farrel 7 Old Dog Consulting 8 S. Hassan 9 Cisco 10 W. Henderickx 11 Nokia 12 Z. Li 13 Huawei 14 October 18, 2018 16 SR-MPLS over IP 17 draft-ietf-mpls-sr-over-ip-01 19 Abstract 21 MPLS Segment Routing (SR-MPLS) is an MPLS data plane-based source 22 routing paradigm in which the sender of a packet is allowed to 23 partially or completely specify the route the packet takes through 24 the network by imposing stacked MPLS labels on the packet. SR-MPLS 25 could be leveraged to realize a source routing mechanism across MPLS, 26 IPv4, and IPv6 data planes by using an MPLS label stack as a source 27 routing instruction set while preserving backward compatibility with 28 SR-MPLS. 30 This document describes how SR-MPLS capable routers and IP-only 31 routers can seamlessly co-exist and interoperate through the use of 32 SR-MPLS label stacks and IP encapsulation/tunneling such as MPLS-in- 33 UDP as defined in RFC 7510. 35 Status of This Memo 37 This Internet-Draft is submitted in full conformance with the 38 provisions of BCP 78 and BCP 79. 40 Internet-Drafts are working documents of the Internet Engineering 41 Task Force (IETF). Note that other groups may also distribute 42 working documents as Internet-Drafts. The list of current Internet- 43 Drafts is at https://datatracker.ietf.org/drafts/current/. 45 Internet-Drafts are draft documents valid for a maximum of six months 46 and may be updated, replaced, or obsoleted by other documents at any 47 time. It is inappropriate to use Internet-Drafts as reference 48 material or to cite them other than as "work in progress." 49 This Internet-Draft will expire on April 21, 2019. 51 Copyright Notice 53 Copyright (c) 2018 IETF Trust and the persons identified as the 54 document authors. All rights reserved. 56 This document is subject to BCP 78 and the IETF Trust's Legal 57 Provisions Relating to IETF Documents 58 (https://trustee.ietf.org/license-info) in effect on the date of 59 publication of this document. Please review these documents 60 carefully, as they describe your rights and restrictions with respect 61 to this document. Code Components extracted from this document must 62 include Simplified BSD License text as described in Section 4.e of 63 the Trust Legal Provisions and are provided without warranty as 64 described in the Simplified BSD License. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 69 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 70 2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 71 3. Procedures of SR-MPLS over IP . . . . . . . . . . . . . . . . 5 72 3.1. Forwarding Entry Construction . . . . . . . . . . . . . . 5 73 3.2. Packet Forwarding Procedures . . . . . . . . . . . . . . 7 74 3.2.1. Packet Forwarding with Penultimate Hop Popping . . . 8 75 3.2.2. Packet Forwarding without Penultimate Hop Popping . . 9 76 3.2.3. Additional Forwarding Procedures . . . . . . . . . . 10 77 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 78 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 79 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 12 80 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 81 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 82 8.1. Normative References . . . . . . . . . . . . . . . . . . 13 83 8.2. Informative References . . . . . . . . . . . . . . . . . 14 84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 86 1. Introduction 88 MPLS Segment Routing (SR-MPLS) [I-D.ietf-spring-segment-routing-mpls] 89 is an MPLS data plane-based source routing paradigm in which the 90 sender of a packet is allowed to partially or completely specify the 91 route the packet takes through the network by imposing stacked MPLS 92 labels on the packet. SR-MPLS could be leveraged to realize a source 93 routing mechanism across MPLS, IPv4, and IPv6 data planes by using an 94 MPLS label stack as a source routing instruction set while preserving 95 backward compatibility with SR-MPLS. More specifically, the source 96 routing instruction set information contained in a source routed 97 packet could be uniformly encoded as an MPLS label stack no matter 98 whether the underlay is IPv4, IPv6, or MPLS. 100 This document describes how SR-MPLS capable routers and IP-only 101 routers can seamlessly co-exist and interoperate through the use of 102 SR-MPLS label stacks and IP encapsulation/tunneling such as MPLS-in- 103 UDP [RFC7510]. 105 Section 2 describes various use cases for the tunneling SR-MPLS over 106 IP. Section 3 describes a typical application scenario and how the 107 packet forwarding happens. 109 1.1. Terminology 111 This memo makes use of the terms defined in [RFC3031] and 112 [I-D.ietf-spring-segment-routing-mpls]. 114 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 115 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 116 "OPTIONAL" in this document are to be interpreted as described in BCP 117 14 [RFC2119] [RFC8174] when, and only when, they appear in all 118 capitals, as shown here. 120 2. Use Cases 122 Tunneling SR-MPLS using IPv4 and/or IPv6 tunnels is useful at least 123 in the following use cases: 125 o Incremental deployment of the SR-MPLS technology may be 126 facilitated by tunneling SR-MPLS packets across parts of a network 127 that are not SR-MPLS enabled using an IP tunneling mechanism such 128 as MPLS-in-UDP [RFC7510]. The tunnel destination address is the 129 address of the next SR-MPLS capable node along the path (i.e., the 130 egress of the active node segment). This is shown in Figure 1. 132 ________________________ 133 _______ ( ) _______ 134 ( ) ( IP Network ) ( ) 135 ( SR-MPLS ) ( ) ( SR-MPLS ) 136 ( Network ) ( ) ( Network ) 137 ( -------- -------- ) 138 ( | Border | SR-in-UDP Tunnel | Border | ) 139 ( | Router |========================| Router | ) 140 ( | R1 | | R2 | ) 141 ( -------- -------- ) 142 ( ) ( ) ( ) 143 ( ) ( ) ( ) 144 (_______) ( ) (_______) 145 (________________________) 147 Figure 1: SR-MPLS in UDP to Tunnel Between SR-MPLS Sites 149 o If encoding of entropy is desired, IP tunneling mechanisms that 150 allow encoding of entropy, such as MPLS-in-UDP encapsulation 151 [RFC7510] where the source port of the UDP header is used as an 152 entropy field, may be used to maximize the utilization of ECMP 153 and/or LAG, especially when it is difficult to make use of entropy 154 label mechanism. Refer to [I-D.ietf-mpls-spring-entropy-label]) 155 for more discussion about using entropy label in SR-MPLS. 157 o Tunneling MPLS into IP provides a technology that enables SR in an 158 IPv4 and/or IPv6 network where the routers do not support SRv6 159 capabilities [I-D.ietf-6man-segment-routing-header] and where MPLS 160 forwarding is not an option. This is shown in Figure Figure 2. 162 __________________________________ 163 __( IP Network )__ 164 __( )__ 165 ( -- -- -- ) 166 -------- -- -- |SR| -- |SR| -- |SR| -- -------- 167 | Ingress| |IR| |IR| | | |IR| | | |IR| | | |IR| | Egress | 168 --->| Router |===========| |======| |======| |======| Router |---> 169 | SR | | | | | | | | | | | | | | | | | | SR | 170 -------- -- -- | | -- | | -- | | -- -------- 171 (__ -- -- -- __) 172 (__ __) 173 (__________________________________) 175 Key: 176 IR : IP-only Router 177 SR : SR-MPLS-capable Router 178 == : SR-MPLS in UDP Tunnel 180 Figure 2: SR-MPLS Enabled Within an IP Network 182 3. Procedures of SR-MPLS over IP 184 This section describes the construction of forwarding information 185 base (FIB) entries and the forwarding behavior that allow the 186 deployment of SR-MPLS when some routers in the network are IP only 187 (i.e., do not support SR-MPLS). Note that the examples in 188 Section 3.1 and Section 3.2 assume that OSPF or ISIS is enabled: in 189 fact, other mechanisms of discovery and advertisement could be used 190 including other routing protocols (such as BGP) or a central 191 controller. 193 3.1. Forwarding Entry Construction 195 This sub-section describes the how to construct the forwarding 196 information base (FIB) entry on an SR-MPLS-capable router when some 197 or all of the next-hops along the shortest path towards a prefix 198 Segment Identifier (prefix-SID) are IP-only routers. 200 Consider router A that receives a labeled packet with top label L(E) 201 that corresponds to the prefix-SID SID(E) of prefix P(E) advertised 202 by router E. Suppose the i-th next-hop router (termed NHi) along the 203 shortest path from router A toward SID(E) is not SR-MPLS capable 204 while both routers A and E are SR-MPLS capable. The following 205 processing steps apply: 207 o Router E is SR-MPLS capable so it advertises the SRGB as described 208 in [I-D.ietf-ospf-segment-routing-extensions] and 209 [I-D.ietf-isis-segment-routing-extensions]. 211 o When Router E advertises the prefix-SID SID(E) of prefix P(E) it 212 MUST also advertise the encapsulation endpoint and the tunnel type 213 of any tunnel used to reach E. It does this using the mechanisms 214 described in [I-D.ietf-isis-encapsulation-cap] or 215 [I-D.ietf-ospf-encapsulation-cap]. 217 o If A and E are in different IGP areas/levels, then: 219 * The OSPF Tunnel Encapsulation TLV 220 [I-D.ietf-ospf-encapsulation-cap] or the ISIS Tunnel 221 Encapsulation sub-TLV [I-D.ietf-isis-encapsulation-cap] is 222 flooded domain-wide. 224 * The OSPF SID/label range TLV 225 [I-D.ietf-ospf-segment-routing-extensions] or the ISIS SR- 226 Capabilities Sub-TLV [I-D.ietf-isis-segment-routing-extensions] 227 is advertised domain-wide. This way router A knows the 228 characteristics of the router that originated the advertisement 229 of SID(E) (i.e., router E). 231 * When router E advertises the prefix P(E): 233 + If router E is running ISIS it uses the extended 234 reachability TLV (TLVs 135, 235, 236, 237) and associates 235 the IPv4/IPv6 or IPv4/IPv6 source router ID sub-TLV(s) 236 [RFC7794]. 238 + If router E is running OSPF it uses the OSPFv2 Extended 239 Prefix Opaque LSA [RFC7684] and sets the flooding scope to 240 AS-wide. 242 * If router E is running ISIS and advertises the ISIS 243 capabilities TLV (TLV 242) [RFC7981], it MUST set the "router- 244 ID" field to a valid value or include an IPV6 TE router-ID sub- 245 TLV (TLV 12), or do both. The "S" bit (flooding scope) of the 246 ISIS capabilities TLV (TLV 242) MUST be set to "1" . 248 o Router A programs the FIB entry for prefix P(E) corresponding to 249 the SID(E) as follows: 251 * If the NP flag in OSPF or the P flag in ISIS is clear: 253 pop the top label 255 * If the NP flag in OSPF or the P flag in ISIS is set: 257 swap the top label to a value equal to SID(E) plus the lower 258 bound of the SRGB of E 260 * Encapsulate the packet according to the encapsulation 261 advertised in [I-D.ietf-isis-encapsulation-cap] or 262 [I-D.ietf-ospf-encapsulation-cap] 264 * Send the packet towards the next hop NHi. 266 3.2. Packet Forwarding Procedures 268 [RFC7510] specifies an IP-based encapsulation for MPLS, i.e., MPLS- 269 in-UDP, which is applicable in some circumstances where IP-based 270 encapsulation for MPLS is required and further fine-grained load 271 balancing of MPLS packets over IP networks over Equal-Cost Multipath 272 (ECMP) and/or Link Aggregation Groups (LAGs) is required as well. 273 This section provides details about the forwarding procedure when 274 when UDP encapsulation is adopted for SR-MPLS over IP. 276 Nodes that are SR-MPLS capable can process SR-MPLS packets. Not all 277 of the nodes in an SR-MPLS domain are SR-MPLS capable. Some nodes 278 may be "legacy routers" that cannot handle SR-MPLS packets but can 279 forward IP packets. An SR-MPLS-capable node may advertise its 280 capabilities using the IGP as described in Section 3. There are six 281 types of node in an SR-MPLS domain: 283 o Domain ingress nodes that receive packets and encapsulate them for 284 transmission across the domain. Those packets may be any payload 285 protocol including native IP packets or packets that are already 286 MPLS encapsulated. 288 o Legacy transit nodes that are IP routers but that are not SR-MPLS 289 capable (i.e., are not able to perform segment routing). 291 o Transit nodes that are SR-MPLS capable but that are not identified 292 by a SID in the SID stack. 294 o Transit nodes that are SR-MPLS capable and need to perform SR-MPLS 295 routing because they are identified by a SID in the SID stack. 297 o The penultimate SR-MPLS capable node on the path that processes 298 the last SID on the stack on behalf of the domain egress node. 300 o The domain egress node that forwards the payload packet for 301 ultimate delivery. 303 3.2.1. Packet Forwarding with Penultimate Hop Popping 305 The description in this section assumes that the label associated 306 with each prefix-SID is advertised by the owner of the prefix-SID is 307 a Penultimate Hop Popping (PHP) label. That is, the NP flag in OSPF 308 or the P flag in ISIS associated with the prefix SID is not set. 310 +-----+ +-----+ +-----+ +-----+ +-----+ 311 | A +-------+ B +-------+ C +--------+ D +--------+ H | 312 +-----+ +--+--+ +--+--+ +--+--+ +-----+ 313 | | | 314 | | | 315 +--+--+ +--+--+ +--+--+ 316 | E +-------+ F +--------+ G | 317 +-----+ +-----+ +-----+ 319 +--------+ 320 |IP(A->E)| 321 +--------+ +--------+ +--------+ 322 | UDP | |IP(E->G)| |IP(G->H)| 323 +--------+ +--------+ +--------+ 324 | L(G) | | UDP | | UDP | 325 +--------+ +--------+ +--------+ 326 | L(H) | | L(H) | |Exp Null| 327 +--------+ +--------+ +--------+ 328 | Packet | ---> | Packet | ---> | Packet | 329 +--------+ +--------+ +--------+ 331 Figure 3: Packet Forwarding Example with PHP 333 In the example shown in Figure 3, assume that routers A, E, G and H 334 are SR-MPLS-capable while the remaining routers (B, C, D and F) are 335 only capable of forwarding IP packets. Routers A, E, G, and H 336 advertise their Segment Routing related information via IS-IS or 337 OSPF. 339 Now assume that router A (the Domain ingress) wants to send a packet 340 to router H (the Domain egress) via the explicit path {E->G->H}. 341 Router A will impose an MPLS label stack on the packet that 342 corresponds to that explicit path. Since the next hop toward router 343 E is only IP-capable (B is a legacy transit node), router A replaces 344 the top label (that indicated router E) with a UDP-based tunnel for 345 MPLS (i.e., MPLS-over-UDP [RFC7510]) to router E and then sends the 346 packet. In other words, router A pops the top label and then 347 encapsulates the MPLS packet in a UDP tunnel to router E. 349 When the IP-encapsulated MPLS packet arrives at router E (which is an 350 SR-MPLS-capable transit node), router E strips the IP-based tunnel 351 header and then process the decapsulated MPLS packet. The top label 352 indicates that the packet must be forwarded toward router G. Since 353 the next hop toward router G is only IP-capable, router E replaces 354 the current top label with an MPLS-over-UDP tunnel toward router G 355 and sends it out. That is, router E pops the top label and then 356 encapsulates the MPLS packet in a UDP tunnel to router G. 358 When the packet arrives at router G, router G will strip the IP-based 359 tunnel header and then process the decapsulated MPLS packet. The top 360 label indicates that the packet must be forwarded toward router H. 361 Since the next hop toward router H is only IP-capable (D is a legacy 362 transit router), router G would replace the current top label with an 363 MPLS-over-UDP tunnel toward router H and send it out. However, since 364 router G reaches the bottom of the label stack (G is the penultimate 365 SR-MPLS capable node on the path) this would leave the original 366 packet that router A wanted to send to router H encapsulated in UDP 367 as if it was MPLS (i.e., with a UDP header and destination port 368 indicating MPLS) even though the original packet could have been any 369 protocol. That is, the final SR-MPLS has been popped exposing the 370 payload packet. 372 To handle this, when a router (here it is router G) pops the final 373 SR-MPLS label, it inserts an explicit null label [RFC3032] before 374 encapsulating the packet in an MPLS-over-UDP tunnel toward router H 375 and sending it out. That is, router G pops the top label, discovers 376 it has reached the bottom of stack, pushes an explicit null label, 377 and then encapsulates the MPLS packet in a UDP tunnel to router H. 379 3.2.2. Packet Forwarding without Penultimate Hop Popping 381 Figure 4 demonstrates the packet walk in the case where the label 382 associated with each prefix-SID advertised by the owner of the 383 prefix-SID is not a Penultimate Hop Popping (PHP) label (i.e., the 384 the NP flag in OSPF or the P flag in ISIS associated with the prefix 385 SID is set). Apart from the PHP function the roles of the routers is 386 unchanged from Section 3.2.1. 388 +-----+ +-----+ +-----+ +-----+ +-----+ 389 | A +-------+ B +-------+ C +--------+ D +--------+ H | 390 +-----+ +--+--+ +--+--+ +--+--+ +-----+ 391 | | | 392 | | | 393 +--+--+ +--+--+ +--+--+ 394 | E +-------+ F +--------+ G | 395 +-----+ +-----+ +-----+ 397 +--------+ 398 |IP(A->E)| 399 +--------+ +--------+ 400 | UDP | |IP(E->G)| 401 +--------+ +--------+ +--------+ 402 | L(E) | | UDP | |IP(G->H)| 403 +--------+ +--------+ +--------+ 404 | L(G) | | L(G) | | UDP | 405 +--------+ +--------+ +--------+ 406 | L(H) | | L(H) | | L(H) | 407 +--------+ +--------+ +--------+ 408 | Packet | ---> | Packet | ---> | Packet | 409 +--------+ +--------+ +--------+ 411 Figure 4: Packet Forwarding Example without PHP 413 As can be seen from the figure, the SR-MPLS label for each segment is 414 left in place until the end of the segment where it is popped and the 415 next instruction is processed. 417 3.2.3. Additional Forwarding Procedures 419 Non-MPLS Interfaces: Although the description in the previous two 420 sections is based on the use of prefix-SIDs, tunneling SR-MPLS 421 packets is useful when the top label of a received SR-MPLS packet 422 indicates an adjacency-SID and the corresponding adjacent node to 423 that adjacency-SID is not capable of MPLS forwarding but can still 424 process SR-MPLS packets. In this scenario the top label would be 425 replaced by an IP tunnel toward that adjacent node and then 426 forwarded over the corresponding link indicated by the adjacency- 427 SID. 429 When to use IP-based Tunnel: The description in the previous two 430 sections is based on the assumption that MPLS-over-UDP tunnel is 431 used when the nexthop towards the next segment is not MPLS- 432 enabled. However, even in the case where the nexthop towards the 433 next segment is MPLS-capable, an MPLS-over-UDP tunnel towards the 434 next segment could still be used instead due to local policies. 435 For instance, in the example as described in Figure 4, assume F is 436 now an SR-MPLS-capable transit node while all the other 437 assumptions keep unchanged, since F is not identified by a SID in 438 the stack and an MPLS-over-UDP tunnel is preferred to an MPLS LSP 439 according to local policies, router E would replace the current 440 top label with an MPLS-over-UDP tunnel toward router G and send it 441 out. 443 IP Header Fields: When encapsulating an MPLS packet in UDP, the 444 resulting packet is further encapsulated in IP for transmission. 445 IPv4 or IPv6 may be used according to the capabilities of the 446 network. The address fields are set as described in Section 2. 447 The other IP header fields (such as DSCP code point, or IPv6 Flow 448 Label) on each UDP-encapsulated segment can be set according to 449 the operator's policy: they may be copied from the header of the 450 incoming packet; they may be promoted from the header of the 451 payload packet; they may be set according to instructions 452 programmed to be associated with the SID; or they may be 453 configured dependent on the outgoing interface and payload. 455 Entropy and ECMP: When encapsulating an MPLS packet with an IP 456 tunnel header that is capable of encoding entropy (such as 457 [RFC7510]), the corresponding entropy field (the source port in 458 case UDP tunnel) MAY be filled with an entropy value that is 459 generated by the encapsulator to uniquely identify a flow. 460 However, what constitutes a flow is locally determined by the 461 encapsulator. For instance, if the MPLS label stack contains at 462 least one entropy label and the encapsulator is capable of reading 463 that entropy label, the entropy label value could be directly 464 copied to the source port of the UDP header. Otherwise, the 465 encapsulator may have to perform a hash on the whole label stack 466 or the five-tuple of the SR-MPLS payload if the payload is 467 determined as an IP packet. To avoid re-performing the hash or 468 hunting for the entropy label each time the packet is encapsulated 469 in a UDP tunnel it MAY be desirable that the entropy value 470 contained in the incoming packet (i.e., the UDP source port value) 471 is retained when stripping the UDP header and is re-used as the 472 entropy value of the outgoing packet. 474 4. IANA Considerations 476 This document makes no requests for IANA action. 478 5. Security Considerations 480 The security consideration of [RFC8354] and [RFC7510] apply. DTLS 481 [RFC6347] SHOULD be used where security is needed on an MPLS-SR-over- 482 UDP segment. 484 It is difficult for an attacker to pass a raw MPLS encoded packet 485 into a network and operators have considerable experience at 486 excluding such packets at the network boundaries. 488 It is easy for an ingress node to detect any attempt to smuggle an IP 489 packet into the network since it would see that the UDP destination 490 port was set to MPLS. SR packets not having a destination address 491 terminating in the network would be transparently carried and would 492 pose no security risk to the network under consideration. 494 Where control plane techniques are used (as described in 495 Authors' Addresses it is important that these protocols are 496 adequately secured for the environment in which they are run. 498 6. Contributors 500 Ahmed Bashandy 501 Individual 502 Email: abashandy.ietf@gmail.com 504 Clarence Filsfils 505 Cisco 506 Email: cfilsfil@cisco.com 508 John Drake 509 Juniper 510 Email: jdrake@juniper.net 512 Shaowen Ma 513 Juniper 514 Email: mashao@juniper.net 516 Mach Chen 517 Huawei 518 Email: mach.chen@huawei.com 520 Hamid Assarpour 521 Broadcom 522 Email:hamid.assarpour@broadcom.com 524 Robert Raszuk 525 Bloomberg LP 526 Email: robert@raszuk.net 528 Uma Chunduri 529 Huawei 530 Email: uma.chunduri@gmail.com 532 Luis M. Contreras 533 Telefonica I+D 534 Email: luismiguel.contrerasmurillo@telefonica.com 536 Luay Jalil 537 Verizon 538 Email: luay.jalil@verizon.com 540 Gunter Van De Velde 541 Nokia 542 Email: gunter.van_de_velde@nokia.com 544 Tal Mizrahi 545 Marvell 546 Email: talmi@marvell.com 548 Jeff Tantsura 549 Individual 550 Email: jefftant@gmail.com 552 7. Acknowledgements 554 Thanks to Joel Halpern, Bruno Decraene, Loa Andersson, Ron Bonica, 555 Eric Rosen, Jim Guichard, and Gunter Van De Velde for their 556 insightful comments on this draft. 558 8. References 560 8.1. Normative References 562 [I-D.ietf-spring-segment-routing-mpls] 563 Bashandy, A., Filsfils, C., Previdi, S., Decraene, B., 564 Litkowski, S., and R. Shakir, "Segment Routing with MPLS 565 data plane", draft-ietf-spring-segment-routing-mpls-14 566 (work in progress), June 2018. 568 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 569 Requirement Levels", BCP 14, RFC 2119, 570 DOI 10.17487/RFC2119, March 1997, 571 . 573 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol 574 Label Switching Architecture", RFC 3031, 575 DOI 10.17487/RFC3031, January 2001, 576 . 578 [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., 579 Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack 580 Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, 581 . 583 [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer 584 Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, 585 January 2012, . 587 [RFC7510] Xu, X., Sheth, N., Yong, L., Callon, R., and D. Black, 588 "Encapsulating MPLS in UDP", RFC 7510, 589 DOI 10.17487/RFC7510, April 2015, 590 . 592 [RFC7684] Psenak, P., Gredler, H., Shakir, R., Henderickx, W., 593 Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute 594 Advertisement", RFC 7684, DOI 10.17487/RFC7684, November 595 2015, . 597 [RFC7794] Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and 598 U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4 599 and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794, 600 March 2016, . 602 [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions 603 for Advertising Router Information", RFC 7981, 604 DOI 10.17487/RFC7981, October 2016, 605 . 607 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 608 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 609 May 2017, . 611 8.2. Informative References 613 [I-D.ietf-6man-segment-routing-header] 614 Filsfils, C., Previdi, S., Leddy, J., Matsushima, S., and 615 d. daniel.voyer@bell.ca, "IPv6 Segment Routing Header 616 (SRH)", draft-ietf-6man-segment-routing-header-14 (work in 617 progress), June 2018. 619 [I-D.ietf-mpls-spring-entropy-label] 620 Kini, S., Kompella, K., Sivabalan, S., Litkowski, S., 621 Shakir, R., and J. Tantsura, "Entropy label for SPRING 622 tunnels", draft-ietf-mpls-spring-entropy-label-12 (work in 623 progress), July 2018. 625 [RFC8354] Brzozowski, J., Leddy, J., Filsfils, C., Maglione, R., 626 Ed., and M. Townsley, "Use Cases for IPv6 Source Packet 627 Routing in Networking (SPRING)", RFC 8354, 628 DOI 10.17487/RFC8354, March 2018, 629 . 631 Authors' Addresses 633 Xiaohu Xu 634 Alibaba Inc. 636 Email: xiaohu.xxh@alibaba-inc.com 638 Stewart Bryant 639 Huawei 641 Email: stewart.bryant@gmail.com 643 Adrian Farrel 644 Old Dog Consulting 646 Email: adrian@olddog.co.uk 648 Syed Hassan 649 Cisco 651 Email: shassan@cisco.com 653 Wim Henderickx 654 Nokia 656 Email: wim.henderickx@nokia.com 658 Zhenbin Li 659 Huawei 661 Email: lizhenbin@huawei.com