idnits 2.17.00 (12 Aug 2021) /tmp/idnits37881/draft-ietf-isis-l2bundles-07.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 : ---------------------------------------------------------------------------- -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (May 25, 2017) is 1815 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) -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE802.1AX' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO10589' ** Obsolete normative reference: RFC 7810 (Obsoleted by RFC 8570) == Outdated reference: draft-ietf-isis-segment-routing-extensions has been published as RFC 8667 == Outdated reference: draft-ietf-spring-segment-routing has been published as RFC 8402 Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Networking Working Group L. Ginsberg 3 Internet-Draft A. Bashandy 4 Intended status: Standards Track C. Filsfils 5 Expires: November 26, 2017 Cisco Systems 6 M. Nanduri 7 eBay 8 E. Aries 9 Private Contributer 10 May 25, 2017 12 Advertising L2 Bundle Member Link Attributes in IS-IS 13 draft-ietf-isis-l2bundles-07.txt 15 Abstract 17 There are deployments where the Layer 3 interface on which IS-IS 18 operates is a Layer 2 interface bundle. Existing IS-IS 19 advertisements only support advertising link attributes of the Layer 20 3 interface. If entities external to IS-IS wish to control traffic 21 flows on the individual physical links which comprise the Layer 2 22 interface bundle link attribute information about the bundle members 23 is required. 25 This document introduces the ability for IS-IS to advertise the link 26 attributes of layer 2 (L2) bundle members. 28 Requirements Language 30 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 31 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 32 document are to be interpreted as described in RFC 2119 [RFC2119]. 34 Status of This Memo 36 This Internet-Draft is submitted in full conformance with the 37 provisions of BCP 78 and BCP 79. 39 Internet-Drafts are working documents of the Internet Engineering 40 Task Force (IETF). Note that other groups may also distribute 41 working documents as Internet-Drafts. The list of current Internet- 42 Drafts is at http://datatracker.ietf.org/drafts/current/. 44 Internet-Drafts are draft documents valid for a maximum of six months 45 and may be updated, replaced, or obsoleted by other documents at any 46 time. It is inappropriate to use Internet-Drafts as reference 47 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on November 26, 2017. 50 Copyright Notice 52 Copyright (c) 2017 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (http://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 68 2. L2 Bundle Member Attributes TLV . . . . . . . . . . . . . . . 3 69 2.1. Parallel L3 Adjacencies . . . . . . . . . . . . . . . . . 5 70 2.2. Shared Attribute sub-TLVs . . . . . . . . . . . . . . . . 5 71 3. Advertising L2 Bundle Member Adj-SIDs . . . . . . . . . . . . 6 72 3.1. L2 Bundle Member Adjacency Segment Identifier sub-TLV . . 6 73 3.2. L2 Bundle Member LAN Adjacency Segment Identifier sub-TLV 7 74 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 75 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 76 6. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 11 77 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 78 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 79 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 80 8.2. Informational References . . . . . . . . . . . . . . . . 13 81 Appendix A. Example Encoding . . . . . . . . . . . . . . . . . . 13 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 84 1. Introduction 86 There are deployments where the Layer 3 interface on which an IS-IS 87 adjacency is established is a Layer 2 interface bundle, for instance 88 a Link Aggregation Group (LAG) [IEEE802.1AX]. This reduces the 89 number of adjacencies which need to be maintained by the routing 90 protocol in cases where there are parallel links between the 91 neighbors. Entities external to IS-IS such as Path Computation 92 Elements (PCE) [RFC4655] may wish to control traffic flows on 93 individual members of the underlying Layer 2 bundle. In order to do 94 so link attribute information about individual bundle members is 95 required. The protocol extensions defined in this document provide 96 the means to advertise this information. 98 This document introduces a new TLV to advertise link attribute 99 information for each of the L2 bundle members which comprise the 100 Layer 3 interface on which IS-IS operates. 102 [SR-ISIS] introduces a new link attribute - adjacency segment 103 identifier (Adj-SID) - which can be used as an instruction to 104 forwarding to send traffic over a specific link. This document 105 introduces additional sub-TLVs to advertise Adj-SIDs for L2 Bundle 106 members. 108 Note that the new advertisements defined in this document are 109 intended to be provided to external (to IS-IS) entities. The 110 following items are intentionally not defined and/or are outside the 111 scope of this document: 113 o What link attributes will be advertised. This is determined by 114 the needs of the external entities. 116 o A minimum or default set of link attributes. 118 o How these attributes are configured 120 o How the advertisements are used 122 o What impact the use of these advertisements may have on traffic 123 flow in the network 125 o How the advertisements are passed to external entities 127 2. L2 Bundle Member Attributes TLV 129 A new TLV is introduced to advertise L2 Bundle member attributes. 130 Although much of the information is identical to and uses the same 131 sub-TLVs included in Extended IS-Neighbor advertisements (TLVs 22 and 132 222), a new TLV is used so that changes to the advertisement of the 133 L2 Bundle member link attributes does not trigger unnecessary action 134 by the [ISO10589] Decision process. 136 Advertisement of this information implies that the identified link is 137 a member of the L2 Bundle associated with the identified Parent L3 138 Neighbor and that the member link is operationally up. Therefore 139 advertisements MUST be withdrawn if the link becomes operationally 140 down or it is no longer a member of the identified L2 Bundle. 142 This new TLV utilizes the sub-TLV space defined for TLVs 22, 23, 141, 143 222, and 223. 145 The following new TLV is introduced: 147 L2 Bundle Member Attributes 148 Type: 25 (suggested - to be assigned by IANA) 149 Length: Number of octets to follow 151 Parent L3 Neighbor Descriptor 152 L3 Neighbor System ID + pseudonode ID (7 octets) 153 Flags: 1 octet field of following flags: 155 0 1 2 3 4 5 6 7 156 +-+-+-+-+-+-+-+-+ 157 |P| | 158 +-+-+-+-+-+-+-+-+ 160 where: 162 P-flag: When set to 1 one of the sub-TLVs described 163 in Section 2.1 immediately follows the flags field. 164 If the P-flag is set to 0, then none of the sub-TLVs 165 described in Section 2.1 are present. 167 Other bits: MUST be zero when originated and ignored when 168 received. 170 One or more of the following: 171 L2 Bundle Attribute Descriptors 172 Length of L2 Bundle Attribute Descriptor (1 octet) 173 NOTE: This includes all fields described below. 175 Number of L2 Bundle Member Descriptors (1 octet) 176 L2 Bundle Member Link Local Identifiers 177 (4 * Number of L2 Bundle Member Descriptors octets) 179 NOTE: An L2 Bundle Member Descriptor is a Link Local 180 Identifier as defined in [RFC4202]. 182 sub-TLV(s) 184 A sub-TLV may define an attribute common to all of 185 the bundle members listed or a sub-TLV may define an 186 attribute unique to each bundle member. Use of these 187 two classes of sub-TLVs is described in the following 188 sections. 190 NOTE: Only one Parent L3 Neighbor Descriptor is present in a given 191 TLV. Multiple L2 Bundle Attribute Descriptors may be present in a 192 single TLV. 194 2.1. Parallel L3 Adjacencies 196 When there exist multiple L3 adjacencies to the same neighbor 197 additional information is required to uniquely identify the L3 198 Neighbor. One and only one of the following three sub-TLVs is used 199 to uniquely identify the L3 adjacency: 201 o IPv4 Interface Address (sub-TLV 6 defined in [RFC5305]) 203 o IPv6 Interface Address (sub-TLV 12 defined in [RFC6119]) 205 o Link Local/Remote Identifiers (sub-TLV 4 defined in [RFC5307]) 207 When the P-bit is set in the flags field in the Parent L3 Neighbor 208 Descriptor one and only one of the above sub-TLVs MUST be present. 209 The chosen sub-TLV MUST immediately follow the flags field described 210 in Section 2. 212 These sub-TLVs MAY be omitted if no parallel adjacencies to the 213 neighbor exist. 215 2.2. Shared Attribute sub-TLVs 217 These sub-TLVs advertise a single copy of an attribute (e.g. link 218 bandwidth). The attribute applies to all of the L2 Bundle Members in 219 the set advertised under the preceding L2 Bundle Member Attribute 220 Descriptor. No more than one copy of a given sub-TLV in this 221 category may appear in the set of sub-TLVs under the preceding L2 222 Bundle Member Attribute Descriptor. If multiple copies of a given 223 sub-TLV are present all copies MUST be ignored. 225 The set of L2 Bundle Member Descriptors which may be advertised under 226 a single L2 Bundle Member Attribute Descriptor is therefore limited 227 to bundle members which share the set of attributes advertised in the 228 shared attribute sub-TLVs. 230 All existing sub-TLVs defined in the IANA Sub-TLVs for TLVs 22, 23, 231 141, 222, and 223 registry are in the category of shared attribute 232 sub-TLVs unless otherwise specified in this document. 234 3. Advertising L2 Bundle Member Adj-SIDs 236 [SR-ISIS] defines sub-TLVs to advertise Adj-SIDs for L3 adjacencies. 237 However these sub-TLVs only support a advertisement of a single Adj- 238 SID. As it is expected that each L2 Bundle member will have unique 239 Adj-SIDs in many deployments it is desirable to define a new sub-TLV 240 which allows more efficient encoding of a set of Adj-SIDs in a single 241 sub-TLV. Two new sub-TLVs are therefore introduced to support 242 advertising Adj-SIDs for L2 Bundle members. The format of the new 243 sub-TLVs is similar to that used for L3 adjacencies, but is optimized 244 to allow advertisement of a set of Adj-SIDs (one per L2 Bundle 245 Member) in a single sub-TLV. 247 The two new sub-TLVs defined in the following sections do not fall 248 into the category of shared attribute sub-TLVs. 250 3.1. L2 Bundle Member Adjacency Segment Identifier sub-TLV 252 This sub-TLV is used to advertise Adj-SIDs for L2 Bundle Members 253 associated with a parent L3 adjacency which is Point-to-Point. The 254 following format is defined for this sub-TLV: 256 Type: 41 (suggested value to be assigned by IANA) (1 octet) 257 Length: variable (1 octet) 259 Flags: 1 octet field of following flags: 261 0 1 2 3 4 5 6 7 262 +-+-+-+-+-+-+-+-+ 263 |F|*|V|L|S|P| | 264 +-+-+-+-+-+-+-+-+ 266 where: 268 NOTE: The flags are deliberately kept congruent to the flags 269 in the L3 ADJ-SID defined in [SR-ISIS]. 270 * indicates a flag used in the L3 Adj-SID sub-TLV but which is 271 NOT used in this sub-TLV. These bits SHOULD be sent as 0 and 272 MUST be ignored on receipt. 274 F-Flag: Address-Family flag. If unset, then the Adj-SID refers 275 to an L2 Bundle Member with outgoing IPv4 encapsulation. If set 276 then the Adj-SID refers to an L2 Bundle Member with outgoing 277 IPv6 encapsulation. 279 V-Flag: Value flag. If set, then the Adj-SID carries a value. 280 By default the flag is SET. 282 L-Flag: Local Flag. If set, then the value/index carried by 283 the Adj-SID has local significance. By default the flag is 284 SET. 286 S-Flag. Set Flag. When set, the S-Flag indicates that the 287 Adj-SID refers to a set of L2 Bundle Members (and therefore 288 MAY be assigned to other L2 Bundle Members as well). 290 P-Flag. Persistent flag. When set, the P-Flag indicates that 291 the Adj-SID is persistently allocated, i.e., the Adj-SID value 292 remains consistent across router restart and/or interface flap. 294 Other bits: MUST be zero when originated and ignored when 295 received. 297 Weight: 1 octet. The value represents the weight of the Adj-SID 298 for the purpose of load balancing. The use of the weight is 299 defined in [SR-ARCH]. 301 NOTE: Flags and weight are shared by all L2 Bundle Members 302 listed in the L2 Bundle Attribute Descriptor. 304 L2 Bundle Member Adj-SID Descriptors. There MUST be one descriptor 305 for each of the L2 Bundle Members advertised under the preceding 306 L2 Bundle Member Attribute Descriptor. Each descriptor consists 307 of one of the following fields: 309 SID/Index/Label: according to the V and L flags, it contains 310 either: 312 * A 3 octet local label where the 20 rightmost bits are used 313 for encoding the label value. In this case the V and L 314 flags MUST be set. 316 * A 4 octet index defining the offset in the SID/Label space 317 advertised by this router. See [SR-ISIS]. 318 In this case V and L flags MUST be unset. 320 3.2. L2 Bundle Member LAN Adjacency Segment Identifier sub-TLV 322 This sub-TLV is used to advertise Adj-SIDs for L2 Bundle Members 323 associated with a parent L3 adjacency which is a LAN adjacency. In 324 LAN subnetworks, the Designated Intermediate System (DIS) is elected 325 and originates the Pseudonode-LSP (PN-LSP) including all neighbors of 326 the DIS. When Segment Routing is used, each router in the LAN MAY 327 advertise the Adj-SID of each of its neighbors on the LAN. 329 Similarly, for each L2 Bundle Member a router MAY advertise an Adj- 330 SID to each neighbor on the LAN. 332 The following format is defined for this sub-TLV: 334 Type: 42 (suggested value to be assigned by IANA) (1 octet) 335 Length: variable (1 octet) 336 Neighbor System ID: 6 octets 338 Flags: 1 octet field of following flags: 340 0 1 2 3 4 5 6 7 341 +-+-+-+-+-+-+-+-+ 342 |F|*|V|L|S|P| | 343 +-+-+-+-+-+-+-+-+ 345 where: 347 NOTE: The flags are deliberately kept congruent to the flags 348 in the L3 LAN_ADJ-SID defined in [SR-ISIS]. 349 * indicates a flag used in the L3 Adj-SID sub-TLV but which is 350 NOT used in this sub-TLV. These bits SHOULD be sent as 0 and 351 MUST be ignored on receipt. 353 F-Flag: Address-Family flag. If unset, then the Adj-SID refers 354 to an L2 Bundle Member with outgoing IPv4 encapsulation. If set 355 then the Adj-SID refers to an L2 Bundle Member with outgoing 356 IPv6 encapsulation. 358 V-Flag: Value flag. If set, then the Adj-SID carries a value. 359 By default the flag is SET. 361 L-Flag: Local Flag. If set, then the value/index carried by 362 the Adj-SID has local significance. By default the flag is 363 SET. 365 S-Flag. Set Flag. When set, the S-Flag indicates that the 366 Adj-SID refers to a set of L2 Bundle Members (and therefore 367 MAY be assigned to other L2 Bundle Members as well). 369 P-Flag. Persistent flag. When set, the P-Flag indicates that 370 the Adj-SID is persistently allocated, i.e., the Adj-SID value 371 remains consistent across router restart and/or interface flap. 373 Other bits: MUST be zero when originated and ignored when 374 received. 376 Weight: 1 octet. The value represents the weight of the Adj-SID 377 for the purpose of load balancing. The use of the weight is 378 defined in [SR-ARCH]. 380 NOTE: Flags and weight are shared by all L2 Bundle Members 381 listed in the L2 Bundle Attribute Descriptor. 383 L2 Bundle Member LAN Adj-SID Descriptors. There MUST be one 384 descriptor for each of the L2 Bundle Members advertised 385 under the preceding L2 Bundle Member Attribute Descriptor. 386 Each descriptor consists of one of the following fields: 388 SID/Index/Label: according to the V and L flags, it contains 389 either: 391 * A 3 octet local label where the 20 rightmost bits are used 392 for encoding the label value. In this case the V and L 393 flags MUST be set. 395 * A 4 octet index defining the offset in the SID/Label space 396 advertised by this router. See [SR-ISIS]. 397 In this case V and L flags MUST be unset. 399 4. IANA Considerations 401 This document adds the following new TLV to the IS-IS TLV Codepoints 402 registry. 404 Value: 25 (suggested - to be assigned by IANA) 406 Name: L2 Bundle Member Attributes 408 The name of the Sub-TLVs for TLVs 22, 23, 141, 222, and 223 registry 409 needs to be changed to Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 410 223 registry. An additional column needs to be added to the registry 411 to indicate which sub-TLVs may appear in the new L2 Bundle Member 412 Attributes TLV. The column for TLV 25 has one of the following three 413 values: 415 y - sub-TLV may appear in TLV 25 but MUST NOT be shared by multiple 416 L2 Bundle Members 417 y(s) - sub-TLV may appear in TLV 25 and MAY be shared by multiple 418 L2 Bundle Members 419 n - sub-TLV MUST NOT appear in TLV 25 420 The following table indicates the appropriate settings for all 421 currently defined sub-TLVs as regards their use in the new L2 Bundle 422 Member Attributes TLV. 424 3 Administrative group (color) y(s) 425 4 Link Local/Remote Identifiers y(s) 426 6 IPv4 interface address y(s) 427 8 IPv4 neighbor address y(s) 428 9 Maximum link bandwidth y(s) 429 10 Maximum reservable link bandwidth y(s) 430 11 Unreserved bandwidth y(s) 431 12 IPv6 Interface Address y(s) 432 13 IPv6 Neighbor Address y(s) 433 14 Extended Administrative Group y(s) 434 18 TE Default metric y(s) 435 19 Link-attributes y(s) 436 20 Link Protection Type y(s) 437 21 Interface Switching Capability Descriptor y(s) 438 22 Bandwidth Constraints y(s) 439 23 Unconstrained TE LSP Count y(s) 440 24 Remote AS number n 441 25 IPv4 remote ASBR Identifier n 442 26 IPv6 remote ASBR Identifier n 443 27 Interface Adjustment Capability Descriptor (IACD) y(s) 444 28 MTU n 445 29 SPB-Metric y(s) 446 30 SPB-A-OALG y(s) 447 33 Unidirectional Link Delay y 448 34 Min/Max Unidirectional Link Delay y 449 35 Unidirectional Delay Variation y 450 36 Unidirectional Link Loss y 451 37 Unidirectional Residual Bandwidth y 452 38 Unidirectional Available Bandwidth y 453 39 Unidirectional Utilized Bandwidth y 454 40 RTM Capability n 456 This document adds the following new sub-TLVs to the sub-TLVs for 457 TLVs 22, 23, 25, 141, 222, and 223 registry. 459 Value: 41 (suggested - to be assigned by IANA) 461 Name: L2 Bundle Member Adj-SID 463 This sub-TLV is allowed in the following TLVs: 465 22 23 25 141 222 223 466 n n y n n n 468 Value: 42 (suggested to be assigned by IANA) 470 Name: L2 Bundle Member LAN Adj-SID 472 This sub-TLV is allowed in the following TLVs: 474 22 23 25 141 222 223 475 n n y n n n 477 5. Security Considerations 479 The IS-IS protocol has supported the advertisement of link attribute 480 information, including link identifiers, for many years. The 481 advertisements defined in this document are identical to existing 482 advertisements defined in [RFC4202], [RFC5305], [RFC7810], and [SR- 483 ISIS] - but are associated with L2 links which are part of a bundle 484 interface on which the IS-IS protocol operates. There are therefore 485 no new security issues introduced by the extensions in this document. 487 As always, if the protocol is used in an environment where 488 unauthorized access to the physical links on which IS-IS PDUs are 489 sent occurs then attacks are possible. The use of authentication as 490 defined in [RFC5304] and [RFC5310] is recommended to prevent such 491 attacks. 493 6. Contributors 495 The following people gave a substantial contribution to the content 496 of this document and should be considered as co-authors: 498 Stefano Previdi 499 Cisco Systems 500 Via Del Serafico 200 501 Rome 0144 502 Italy 504 Email: sprevidi@cisco.com 506 7. Acknowledgements 508 The authors would like to thank Jon Mitchell for his careful review. 510 8. References 511 8.1. Normative References 513 [IEEE802.1AX] 514 Institute of Electrical and Electronics Engineers, "IEEE 515 Standard for Local and Metropolitan Area Networks - Link 516 Aggregation.", Nov 2008. 518 [ISO10589] 519 International Organization for Standardization, 520 "Intermediate system to Intermediate system intra-domain 521 routeing information exchange protocol for use in 522 conjunction with the protocol for providing the 523 connectionless-mode Network Service (ISO 8473)", ISO/ 524 IEC 10589:2002, Second Edition, Nov 2002. 526 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 527 Requirement Levels", BCP 14, RFC 2119, 528 DOI 10.17487/RFC2119, March 1997, 529 . 531 [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions 532 in Support of Generalized Multi-Protocol Label Switching 533 (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, 534 . 536 [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic 537 Authentication", RFC 5304, DOI 10.17487/RFC5304, October 538 2008, . 540 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 541 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 542 2008, . 544 [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions 545 in Support of Generalized Multi-Protocol Label Switching 546 (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, 547 . 549 [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., 550 and M. Fanto, "IS-IS Generic Cryptographic 551 Authentication", RFC 5310, DOI 10.17487/RFC5310, February 552 2009, . 554 [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic 555 Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, 556 February 2011, . 558 [RFC7810] Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and 559 Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", 560 RFC 7810, DOI 10.17487/RFC7810, May 2016, 561 . 563 [SR-ISIS] "IS-IS Extensions for Segment Routing, draft-ietf-isis- 564 segment-routing-extensions-12(work in progress)", April 565 2017. 567 8.2. Informational References 569 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 570 Element (PCE)-Based Architecture", RFC 4655, 571 DOI 10.17487/RFC4655, August 2006, 572 . 574 [SR-ARCH] "Segment Routing Architecture, draft-ietf-spring-segment- 575 routing-11(work in progress)", February 2017. 577 Appendix A. Example Encoding 579 Below is an example encoding of L2 Bundle advertisements in a case 580 where we have two parallel adjacencies to the same neighbor whose 581 system-id is 1234.1234.1234.00. The two L2 bundles have the 582 following sets of attributes: 584 L3 Adjacency #1 585 L3 IPv4 local link address: 192.0.2.1 586 Four bundle members with the following attributes: 588 -------------------------------------------------- 589 Num | Link Local ID | Bandwidth | Adj-SID/Weight | 590 -------------------------------------------------- 591 1 | 0x11111111 | 1G | 0x11111/1 | 592 -------------------------------------------------- 593 2 | 0x11112222 | 1G | 0x11112/1 | 594 -------------------------------------------------- 595 3 | 0x11113333 | 10G | 0x11113/1 | 596 -------------------------------------------------- 597 4 | 0x11114444 | 10G | 0x11114/1 | 598 -------------------------------------------------- 600 L3 Adjacency #2 601 L3 IPv4 local link address: 192.0.2.2 602 Three bundle members with the following attributes: 604 -------------------------------------------------- 605 Num | Link Local ID | Bandwidth | Adj-SID/Weight | 606 -------------------------------------------------- 607 1 | 0x22221111 | 10G | 22221/1 | 608 -------------------------------------------------- 609 2 | 0x22222222 | 10G | 22222/1 | 610 -------------------------------------------------- 611 3 | 0x22223333 | 10G | 22223/1 | 612 -------------------------------------------------- 614 This requires two TLVs, one for each L3 adjacency. 616 TLV for Adjacency #1: 618 0 1 619 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 620 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 621 | Type(25) |Len: 64 | 622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 624 Parent L3 Neighbor Descriptor 625 0 1 2 3 626 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 627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 628 | Neighbor System-ID octets 1-4: 1234.1234 | 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 | System-ID octets 5-6: 1234 | P-node: 00 |1|0|0|0|0|0|0|0| 631 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 633 IPv4 Interface Address sub-TLV 634 0 1 635 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 636 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 637 | Type(6)) | Length(4) | 638 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 639 | IPv4 address:192.0.2.1 | 640 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 642 L2 Bundle Attribute Descriptors 643 0 1 2 3 644 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 645 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 646 |Len:9+6+10 = 25| # Desc: 2 | 647 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 648 | Link Local Identifier Bundle Member #1: 0x11111111 | 649 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 650 | Link Local Identifier Bundle Member #2: 0x11112222 | 651 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 653 Maximum Link Bandwidth sub-TLV 654 0 1 2 3 655 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 656 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 657 | Type(9) | Length(4) | 658 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 659 | Bandwidth Value: 1G/8 | 660 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 662 L2 Bundle Member Adjacency Segment Identifier sub-TLV 663 0 1 2 3 664 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 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 666 | Type(41) | Length(8) |0|0|1|1|0|0|0|0| Weight: 1 | 667 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 668 | Local Label Bundle Member #1: 0x11111 | 669 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 670 | Local Label Bundle Member #2: 0x11112 | 671 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 673 L2 Bundle Attribute Descriptors 674 0 1 2 3 675 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 676 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 677 |Len:9+6+10 = 25| # Desc: 2 | 678 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 679 | Link Local Identifier Bundle Member #3: 0x11113333 | 680 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 681 | Link Local Identifier Bundle Member #4: 0x11114444 | 682 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 684 Maximum Link Bandwidth sub-TLV 685 0 1 2 3 686 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 687 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 688 | Type(9) | Length(4) | 689 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 690 | Bandwidth Value: 10G/8 | 691 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 693 L2 Bundle Member Adjacency Segment Identifier sub-TLV 694 0 1 2 3 695 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 696 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 697 | Type(41) | Length(8) |0|0|1|1|0|0|0|0| Weight: 1 | 698 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 699 | Local Label Bundle Member #3: 0x11113 | 700 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 701 | Local Label Bundle Member #4: 0x11114 | 702 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 704 TLV for Adjacency #2 706 0 1 707 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 708 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 709 | Type(25) | Len: 46 | 710 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 712 Parent L3 Neighbor Descriptor 713 0 1 2 3 714 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 715 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 716 | Neighbor System-ID octets 1-4: 1234.1234 | 717 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 718 | System-ID octets 5-6: 1234 | P-node: 00 |1|0|0|0|0|0|0|0| 719 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 721 IPv4 Interface Address sub-TLV 722 0 1 723 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 724 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 725 | Type(6)) | Length(4) | 726 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 727 | IPv4 address: 192.0.2.2 | 728 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 730 L2 Bundle Attribute Descriptors 731 0 1 2 3 732 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 733 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 734 |Len:13+6+13=32 | # Desc: 3 | 735 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 736 | Link Local Identifier Bundle Member #1: 0x22221111 | 737 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 738 | Link Local Identifier Bundle Member #2: 0x22222222 | 739 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 740 | Link Local Identifier Bundle Member #3: 0x22223333 | 741 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 743 Maximum Link Bandwidth sub-TLV 744 0 1 2 3 745 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 746 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 747 | Type(9) | Length(4) | 748 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 749 | Bandwidth Value: 10G/8 | 750 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 752 L2 Bundle Member Adjacency Segment Identifier sub-TLV 753 0 1 2 3 754 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 755 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 756 | Type(41) | Length(11) |0|0|1|1|0|0|0|0| Weight: 1 | 757 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 758 | Local Label Bundle Member #1: 0x22221 | 759 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 760 | Local Label Bundle Member #2: 0x22222 | 761 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 762 | Local Label Bundle Member #3: 0x22223 | 763 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 765 Authors' Addresses 767 Les Ginsberg 768 Cisco Systems 769 510 McCarthy Blvd. 770 Milpitas, CA 95035 771 USA 773 Email: ginsberg@cisco.com 775 Ahmed Bashandy 776 Cisco Systems 777 170 West Tasman Drive 778 San Jose, Ca 95134 779 US 781 Clarence Filsfils 782 Cisco Systems 784 Email: cf@cisco.com 786 Mohan Nanduri 787 eBay 789 Email: mnanduri@ebay.com 791 Ebben Aries 792 Private Contributer 794 Email: exa@dscp.org