diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc8668.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc8668.txt')
-rw-r--r-- | doc/rfc/rfc8668.txt | 876 |
1 files changed, 876 insertions, 0 deletions
diff --git a/doc/rfc/rfc8668.txt b/doc/rfc/rfc8668.txt new file mode 100644 index 0000000..058dd54 --- /dev/null +++ b/doc/rfc/rfc8668.txt @@ -0,0 +1,876 @@ + + + + +Internet Engineering Task Force (IETF) L. Ginsberg, Ed. +Request for Comments: 8668 Cisco Systems, Inc. +Category: Standards Track A. Bashandy +ISSN: 2070-1721 Unaffiliated + C. Filsfils + Cisco Systems, Inc. + M. Nanduri + Oracle + E. Aries + Arrcus Inc. + December 2019 + + + Advertising Layer 2 Bundle Member Link Attributes in IS-IS + +Abstract + + There are deployments where the Layer 3 interface on which IS-IS + operates is a Layer 2 interface bundle. Existing IS-IS + advertisements only support advertising link attributes of the Layer + 3 interface. If entities external to IS-IS wish to control traffic + flows on the individual physical links that comprise the Layer 2 + interface bundle, link attribute information about the bundle members + is required. + + This document introduces the ability for IS-IS to advertise the link + attributes of Layer 2 (L2) Bundle Members. + +Status of This Memo + + This is an Internet Standards Track document. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Further information on + Internet Standards is available in Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc8668. + +Copyright Notice + + Copyright (c) 2019 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction + 2. Requirements Language + 3. L2 Bundle Member Attributes TLV + 3.1. Parallel L3 Adjacencies + 3.2. Shared Attribute Sub-TLVs + 4. Advertising L2 Bundle Member Adj-SIDs + 4.1. L2 Bundle Member Adjacency Segment Identifier Sub-TLV + 4.2. L2 Bundle Member LAN Adjacency SID Sub-TLV + 5. IANA Considerations + 6. Security Considerations + 7. References + 7.1. Normative References + 7.2. Informative References + Appendix A. Example Encoding + Acknowledgements + Contributors + Authors' Addresses + +1. Introduction + + There are deployments where the Layer 3 interface on which an IS-IS + adjacency is established is a Layer 2 interface bundle, for instance, + a Link Aggregation Group (LAG) [IEEE802.1AX]. This reduces the + number of adjacencies that need to be maintained by the routing + protocol in cases where there are parallel links between the + neighbors. Entities external to IS-IS such as Path Computation + Elements (PCEs) [RFC4655] may wish to control traffic flows on + individual members of the underlying Layer 2 bundle. In order to do + so, link attribute information about individual bundle members is + required. The protocol extensions defined in this document provide + the means to advertise this information. + + This document introduces a new TLV to advertise link attribute + information for each of the L2 Bundle Members that comprise the Layer + 3 interface on which IS-IS operates. + + [RFC8667] introduces a new link attribute, adjacency segment + identifier (Adj-SID), which can be used as an instruction to + forwarding to send traffic over a specific link. This document + introduces additional sub-TLVs to advertise Adj-SIDs for L2 Bundle + Members. + + Note that the new advertisements defined in this document are + intended to be provided to external (to IS-IS) entities. The + following items are intentionally not defined and/or are outside the + scope of this document: + + * What link attributes will be advertised. This is determined by + the needs of the external entities. + + * A minimum or default set of link attributes. + + * How these attributes are configured. + + * How the advertisements are used. + + * What impact the use of these advertisements may have on traffic + flow in the network. + + * How the advertisements are passed to external entities. + +2. Requirements Language + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and + "OPTIONAL" in this document are to be interpreted as described in + BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all + capitals, as shown here. + +3. L2 Bundle Member Attributes TLV + + A new TLV is introduced to advertise L2 Bundle Member attributes. + Although much of the information is identical to and uses the same + sub-TLVs included in Extended IS Neighbor advertisements (TLVs 22 and + 222), a new TLV is used so that changes to the advertisement of the + L2 Bundle Member link attributes do not trigger unnecessary action by + the [ISO10589] Decision Process. + + Advertisement of this information implies that the identified link is + a member of the L2 Bundle associated with the identified Parent L3 + Neighbor and that the member link is operationally up. Therefore, + advertisements MUST be withdrawn if the link becomes operationally + down or it is no longer a member of the identified L2 Bundle. + + This new TLV utilizes the sub-TLV space defined for TLVs 22, 23, 141, + 222, and 223. + + The following new TLV is introduced: + + L2 Bundle Member Attributes + + Type: 25 + + Length: Number of octets to follow + + Parent L3 Neighbor Descriptor + + L3 Neighbor System ID + pseudonode ID (7 octets) + + Flags: 1-octet field of the following flags: + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |P| | + +-+-+-+-+-+-+-+-+ + + where: + + P-Flag: When set to 1, one of the sub-TLVs described in + Section 3.1 immediately follows the flags field. + If the P-Flag is set to 0, then none of the sub- + TLVs described in Section 3.1 are present. + + Other bits: MUST be zero when originated and ignored when + received. + + One or more L2 Bundle Attribute Descriptors (as defined below). + + Length of L2 Bundle Attribute Descriptor (1 octet) + + NOTE: This includes all fields described below. + + Number of L2 Bundle Member Descriptors (1 octet) + + L2 Bundle Member Link Local Identifiers + (4 * Number of L2 Bundle Member Descriptors octets) + + NOTE: An L2 Bundle Member Descriptor is a Link Local + Identifier as defined in [RFC4202]. + + Sub-TLV(s) + A sub-TLV may define an attribute common to all of the bundle + members listed, or it may define an attribute unique to each + bundle member. Use of these two classes of sub-TLVs is + described in the following sections. + + NOTE: Only one Parent L3 Neighbor Descriptor is present in a given + TLV. Multiple L2 Bundle Attribute Descriptors may be present in a + single TLV. + +3.1. Parallel L3 Adjacencies + + When there exist multiple L3 adjacencies to the same neighbor, + additional information is required to uniquely identify the L3 + Neighbor. One and only one of the following three sub-TLVs is used + to uniquely identify the L3 adjacency: + + * IPv4 Interface Address (sub-TLV 6 defined in [RFC5305]) + + * IPv6 Interface Address (sub-TLV 12 defined in [RFC6119]) + + * Link Local/Remote Identifiers (sub-TLV 4 defined in [RFC5307]) + + When the P-Flag is set in the flags field in the Parent L3 Neighbor + Descriptor, one and only one of the above sub-TLVs MUST be present. + The chosen sub-TLV MUST immediately follow the flags field described + in Section 3. + + These sub-TLVs MAY be omitted if no parallel adjacencies to the + neighbor exist. + +3.2. Shared Attribute Sub-TLVs + + These sub-TLVs advertise a single copy of an attribute (e.g., link + bandwidth). The attribute applies to all of the L2 Bundle Members in + the set advertised under the preceding L2 Bundle Member Attribute + Descriptor. No more than one copy of a given sub-TLV in this + category may appear in the set of sub-TLVs under the preceding L2 + Bundle Member Attribute Descriptor. If multiple copies of a given + sub-TLV are present, all copies MUST be ignored. + + The set of L2 Bundle Member Descriptors that may be advertised under + a single L2 Bundle Member Attribute Descriptor is therefore limited + to bundle members that share the set of attributes advertised in the + shared attribute sub-TLVs. + + All existing sub-TLVs defined in the IANA registry for Sub-TLVs for + TLVs 22, 23, 141, 222, and 223 are in the category of shared + attribute sub-TLVs unless otherwise specified in this document. + +4. Advertising L2 Bundle Member Adj-SIDs + + [RFC8667] defines sub-TLVs to advertise Adj-SIDs for L3 adjacencies. + However, these sub-TLVs only support the advertisement of a single + Adj-SID. As it is expected that each L2 Bundle Member will have + unique Adj-SIDs in many deployments, it is desirable to define a new + sub-TLV that allows more efficient encoding of a set of Adj-SIDs in a + single sub-TLV. Two new sub-TLVs are therefore introduced to support + advertising Adj-SIDs for L2 Bundle Members. The format of the new + sub-TLVs is similar to that used for L3 adjacencies, but it is + optimized to allow advertisement of a set of Adj-SIDs (one per L2 + Bundle Member) in a single sub-TLV. + + The two new sub-TLVs defined in the following sections do not fall + into the category of shared attribute sub-TLVs. + +4.1. L2 Bundle Member Adjacency Segment Identifier Sub-TLV + + This sub-TLV is used to advertise Adj-SIDs for L2 Bundle Members + associated with a parent L3 adjacency that is point-to-point. The + following format is defined for this sub-TLV: + + Type: 41 (1 octet) + + Length: variable (1 octet) + + Flags: 1-octet field of the following flags: + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |F|*|V|L|S|P| | + +-+-+-+-+-+-+-+-+ + + where: + + F-Flag: Address-Family Flag. If unset, then the Adj-SID + refers to an L2 Bundle Member with outgoing IPv4 + encapsulation. If set, then the Adj-SID refers to an + L2 Bundle Member with outgoing IPv6 encapsulation. + + V-Flag: Value Flag. If set, then the Adj-SID carries a value. + By default, the flag is SET. + + L-Flag: Local Flag. If set, then the value/index carried by + the Adj-SID has local significance. By default, the + flag is SET. + + S-Flag: Set Flag. When set, the S-Flag indicates that the + Adj-SID refers to a set of L2 Bundle Members (and + therefore MAY be assigned to other L2 Bundle Members + as well). + + P-Flag: Persistent Flag. When set, the P-Flag indicates that + the Adj-SID is persistently allocated, i.e., the Adj- + SID value remains consistent across router restart + and/or interface flap. + + Other bits: MUST be zero when originated and ignored when + received. + + NOTE: The flags are deliberately kept congruent to the flags in + the L3 ADJ-SID defined in [RFC8667]. * indicates a flag used + in the L3 Adj-SID sub-TLV, but one that is NOT used in this + sub-TLV. These bits SHOULD be sent as 0 and MUST be ignored on + receipt. + + Weight: 1 octet. The value represents the weight of the Adj-SID + for the purpose of load balancing. The use of the weight + is defined in [RFC8402]. + + NOTE: Flags and weight are shared by all L2 Bundle Members listed + in the L2 Bundle Attribute Descriptor. + + L2 Bundle Member Adj-SID Descriptors: + There MUST be one descriptor for each of the L2 Bundle Members + advertised under the preceding L2 Bundle Member Attribute + Descriptor. Each descriptor consists of one of the following + fields: + + SID/Index/Label: According to the V- and L-Flags, it contains + either: + + o A 3-octet local label where the 20 rightmost bits are used + for encoding the label value. In this case, the V- and + L-Flags MUST be set. + + o A 4-octet index defining the offset in the SID/Label space + advertised by this router. See [RFC8667]. In this case, V- + and L-Flags MUST be unset. + +4.2. L2 Bundle Member LAN Adjacency SID Sub-TLV + + This sub-TLV is used to advertise Adj-SIDs for L2 Bundle Members + associated with a parent L3 adjacency that is a LAN adjacency. In + LAN subnetworks, the Designated Intermediate System (DIS) is elected + and originates the Pseudonode-LSP (PN-LSP) including all neighbors of + the DIS. When Segment Routing is used, each router in the LAN MAY + advertise the Adj-SID of each of its neighbors on the LAN. + Similarly, for each L2 Bundle Member, a router MAY advertise an Adj- + SID to each neighbor on the LAN. + + The following format is defined for this sub-TLV: + + Type: 42 (1 octet) + + Length: variable (1 octet) + + Neighbor System ID: 6 octets + + Flags: 1-octet field of the following flags: + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |F|*|V|L|S|P| | + +-+-+-+-+-+-+-+-+ + + where: + + F-Flag: Address-Family Flag. If unset, then the Adj-SID + refers to an L2 Bundle Member with outgoing IPv4 + encapsulation. If set, then the Adj-SID refers to an + L2 Bundle Member with outgoing IPv6 encapsulation. + + V-Flag: Value Flag. If set, then the Adj-SID carries a value. + By default, the flag is SET. + + L-Flag: Local Flag. If set, then the value/index carried by + the Adj-SID has local significance. By default, the + flag is SET. + + S-Flag: Set Flag. When set, the S-Flag indicates that the + Adj-SID refers to a set of L2 Bundle Members (and + therefore MAY be assigned to other L2 Bundle Members + as well). + + P-Flag: Persistent Flag. When set, the P-Flag indicates that + the Adj-SID is persistently allocated, i.e., the Adj- + SID value remains consistent across router restart + and/or interface flap. + + Other bits: MUST be zero when originated and ignored when + received. + + NOTE: The flags are deliberately kept congruent to the flags in + the L3 LAN Adjacency SID defined in [RFC8667]. * indicates a + flag used in the L3 Adj-SID sub-TLV, but one that is NOT used + in this sub-TLV. These bits SHOULD be sent as 0 and MUST be + ignored on receipt. + + Weight: 1 octet. The value represents the weight of the Adj-SID + for the purpose of load balancing. The use of the weight + is defined in [RFC8402]. + + NOTE: Flags and weight are shared by all L2 Bundle Members listed + in the L2 Bundle Attribute Descriptor. + + L2 Bundle Member LAN Adjacency SID Descriptors: + There MUST be one descriptor for each of the L2 Bundle Members + advertised under the preceding L2 Bundle Member Attribute + Descriptor. Each descriptor consists of one of the following + fields: + + SID/Index/Label: According to the V- and L-Flags, it contains + either: + + o A 3-octet local label where the 20 rightmost bits are used + for encoding the label value. In this case, the V- and + L-Flags MUST be set. + + o A 4-octet index defining the offset in the SID/Label space + advertised by this router. See [RFC8667]. In this case, V- + and L-Flags MUST be unset. + +5. IANA Considerations + + This document adds the following new TLV to the IS-IS "TLV Codepoints + Registry". + + Value: 25 + + Name: L2 Bundle Member Attributes + + The name of the IANA registry for Sub-TLVs for TLVs 22, 23, 141, 222, + and 223 has been changed to include sub-TLV 25. An additional column + has been added to the registry to indicate which sub-TLVs may appear + in the new L2 Bundle Member Attributes TLV. The column for TLV 25 + has one of the following three values: + + y sub-TLV may appear in TLV 25 but MUST NOT be shared by multiple + L2 Bundle Members + + y(s) sub-TLV may appear in TLV 25 and MAY be shared by multiple L2 + Bundle Members + + n sub-TLV MUST NOT appear in TLV 25 + + The following table indicates the appropriate settings for all + currently defined sub-TLVs with regard to their use in the new L2 + Bundle Member Attributes TLV. + + +-------+-------------------------------------------+--------+ + | Value | Description | TLV 25 | + +=======+===========================================+========+ + | 3 | Administrative group (color) | y(s) | + +-------+-------------------------------------------+--------+ + | 4 | Link Local/Remote Identifiers | y(s) | + +-------+-------------------------------------------+--------+ + | 6 | IPv4 interface address | y(s) | + +-------+-------------------------------------------+--------+ + | 8 | IPv4 neighbor address | y(s) | + +-------+-------------------------------------------+--------+ + | 9 | Maximum link bandwidth | y(s) | + +-------+-------------------------------------------+--------+ + | 10 | Maximum reservable link bandwidth | y(s) | + +-------+-------------------------------------------+--------+ + | 11 | Unreserved bandwidth | y(s) | + +-------+-------------------------------------------+--------+ + | 12 | IPv6 Interface Address | y(s) | + +-------+-------------------------------------------+--------+ + | 13 | IPv6 Neighbor Address | y(s) | + +-------+-------------------------------------------+--------+ + | 14 | Extended Administrative Group | y(s) | + +-------+-------------------------------------------+--------+ + | 18 | TE Default metric | y(s) | + +-------+-------------------------------------------+--------+ + | 19 | Link-attributes | y(s) | + +-------+-------------------------------------------+--------+ + | 20 | Link Protection Type | y(s) | + +-------+-------------------------------------------+--------+ + | 21 | Interface Switching Capability Descriptor | y(s) | + +-------+-------------------------------------------+--------+ + | 22 | Bandwidth Constraints | y(s) | + +-------+-------------------------------------------+--------+ + | 23 | Unconstrained TE LSP Count (sub-)TLV | y(s) | + +-------+-------------------------------------------+--------+ + | 24 | remote AS number | n | + +-------+-------------------------------------------+--------+ + | 25 | IPv4 remote ASBR Identifier | n | + +-------+-------------------------------------------+--------+ + | 26 | IPv6 remote ASBR Identifier | n | + +-------+-------------------------------------------+--------+ + | 27 | Interface Adjustment Capability | y(s) | + | | Descriptor (IACD) | | + +-------+-------------------------------------------+--------+ + | 28 | MTU | n | + +-------+-------------------------------------------+--------+ + | 29 | SPB-Metric | y(s) | + +-------+-------------------------------------------+--------+ + | 30 | SPB-A-OALG | y(s) | + +-------+-------------------------------------------+--------+ + | 33 | Unidirectional Link Delay | y | + +-------+-------------------------------------------+--------+ + | 34 | Min/Max Unidirectional Link Delay | y | + +-------+-------------------------------------------+--------+ + | 35 | Unidirectional Delay Variation | y | + +-------+-------------------------------------------+--------+ + | 36 | Unidirectional Link Loss | y | + +-------+-------------------------------------------+--------+ + | 37 | Unidirectional Residual Bandwidth | y | + +-------+-------------------------------------------+--------+ + | 38 | Unidirectional Available Bandwidth | y | + +-------+-------------------------------------------+--------+ + | 39 | Unidirectional Utilized Bandwidth | y | + +-------+-------------------------------------------+--------+ + | 40 | RTM Capability | n | + +-------+-------------------------------------------+--------+ + + Table 1 + + This document adds the following new sub-TLVs to the above registry. + + +------+--------------------------+----+----+----+-----+-----+-----+ + | Type | Description | 22 | 23 | 25 | 141 | 222 | 223 | + +======+==========================+====+====+====+=====+=====+=====+ + | 41 | L2 Bundle Member Adj-SID | n | n | y | n | n | n | + +------+--------------------------+----+----+----+-----+-----+-----+ + | 42 | L2 Bundle Member LAN | n | n | y | n | n | n | + | | Adj-SID | | | | | | | + +------+--------------------------+----+----+----+-----+-----+-----+ + + Table 2 + +6. Security Considerations + + The IS-IS protocol has supported the advertisement of link attribute + information, including link identifiers, for many years. The + advertisements defined in this document are identical to existing + advertisements defined in [RFC4202], [RFC5305], [RFC8570], and + [RFC8667], but are associated with L2 links that are part of a bundle + interface on which the IS-IS protocol operates. There are therefore + no new security issues introduced by the extensions in this document. + + As always, if the protocol is used in an environment where + unauthorized access to the physical links on which IS-IS Protocol + Data Units (PDUs) are sent occurs, then attacks are possible. The + use of authentication as defined in [RFC5304] and [RFC5310] is + recommended to prevent such attacks. + +7. References + +7.1. Normative References + + [IEEE802.1AX] + IEEE, "IEEE Standard for Local and metropolitan area + networks -- Link Aggregation", IEEE 802.1AX, + <https://ieeexplore.ieee.org/document/7055197>. + + [ISO10589] International Organization for Standardization, + "Information technology -- Telecommunications and + information exchange between systems -- Intermediate + System to Intermediate System intra-domain routeing + information exchange protocol for use in conjunction with + the protocol for providing the connectionless-mode network + service (ISO 8473)", ISO/IEC 10589:2002, Second Edition, + November 2002. + + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate + Requirement Levels", BCP 14, RFC 2119, + DOI 10.17487/RFC2119, March 1997, + <https://www.rfc-editor.org/info/rfc2119>. + + [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions + in Support of Generalized Multi-Protocol Label Switching + (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, + <https://www.rfc-editor.org/info/rfc4202>. + + [RFC5304] Li, T. and R. Atkinson, "IS-IS Cryptographic + Authentication", RFC 5304, DOI 10.17487/RFC5304, October + 2008, <https://www.rfc-editor.org/info/rfc5304>. + + [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic + Engineering", RFC 5305, DOI 10.17487/RFC5305, October + 2008, <https://www.rfc-editor.org/info/rfc5305>. + + [RFC5307] Kompella, K., Ed. and Y. Rekhter, Ed., "IS-IS Extensions + in Support of Generalized Multi-Protocol Label Switching + (GMPLS)", RFC 5307, DOI 10.17487/RFC5307, October 2008, + <https://www.rfc-editor.org/info/rfc5307>. + + [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., + and M. Fanto, "IS-IS Generic Cryptographic + Authentication", RFC 5310, DOI 10.17487/RFC5310, February + 2009, <https://www.rfc-editor.org/info/rfc5310>. + + [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic + Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119, + February 2011, <https://www.rfc-editor.org/info/rfc6119>. + + [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC + 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, + May 2017, <https://www.rfc-editor.org/info/rfc8174>. + + [RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward, + D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE) + Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March + 2019, <https://www.rfc-editor.org/info/rfc8570>. + + [RFC8667] Previdi, S., Ed., Ginsburg, L., Ed., Filsfils, C., + Bashandy, A., Gredler, H., and B. Decraene, "IS-IS + Extensions for Segment Routing", RFC 8667, + DOI 10.17487/RFC8667, December 2019, + <https://www.rfc-editor.org/info/rfc8667>. + +7.2. Informative References + + [RFC4655] Farrel, A., Vasseur, JP., and J. Ash, "A Path Computation + Element (PCE)-Based Architecture", RFC 4655, + DOI 10.17487/RFC4655, August 2006, + <https://www.rfc-editor.org/info/rfc4655>. + + [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L., + Decraene, B., Litkowski, S., and R. Shakir, "Segment + Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, + July 2018, <https://www.rfc-editor.org/info/rfc8402>. + +Appendix A. Example Encoding + + Below is an example encoding of L2 Bundle advertisements in a case + where we have two parallel adjacencies to the same neighbor whose + system-id is 1234.1234.1234.00. The two L2 bundles have the + following sets of attributes: + + L3 Adjacency #1 + + L3 IPv4 local link address: 192.0.2.1 + + Four bundle members with the following attributes: + + +-----+---------------+-----------+----------------+ + | Num | Link Local ID | Bandwidth | Adj-SID/Weight | + +=====+===============+===========+================+ + | 1 | 0x11111111 | 1G | 0x11111/1 | + +-----+---------------+-----------+----------------+ + | 2 | 0x11112222 | 1G | 0x11112/1 | + +-----+---------------+-----------+----------------+ + | 3 | 0x11113333 | 10G | 0x11113/1 | + +-----+---------------+-----------+----------------+ + | 4 | 0x11114444 | 10G | 0x11114/1 | + +-----+---------------+-----------+----------------+ + + Table 3 + + L3 Adjacency #2 + + L3 IPv4 local link address: 192.0.2.2 + + Three bundle members with the following attributes: + + +-----+---------------+-----------+----------------+ + | Num | Link Local ID | Bandwidth | Adj-SID/Weight | + +=====+===============+===========+================+ + | 1 | 0x22221111 | 10G | 22221/1 | + +-----+---------------+-----------+----------------+ + | 2 | 0x22222222 | 10G | 22222/1 | + +-----+---------------+-----------+----------------+ + | 3 | 0x22223333 | 10G | 22223/1 | + +-----+---------------+-----------+----------------+ + + Table 4 + + This requires two TLVs, one for each L3 adjacency. + + TLV for Adjacency #1: + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type(25) | Length(64) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Parent L3 Neighbor Descriptor + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Neighbor System-ID octets 1-4: 1234.1234 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | System-ID octets 5-6: 1234 | P-node: 00 |1|0|0|0|0|0|0|0| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + IPv4 Interface Address Sub-TLV + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type(6) | Length(4) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | IPv4 address: 192.0.2.1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Attribute Descriptors + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Len:9+6+10 = 25| # Desc: 2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #1: 0x11111111 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #2: 0x11112222 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Maximum Link Bandwidth Sub-TLV + + 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(9) | Length(4) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Bandwidth Value: 1G/8 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Member Adj-SID Sub-TLV + + 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(41) | Length(8) |0|0|1|1|0|0|0|0| Weight: 1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #1: 0x11111 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #2: 0x11112 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Attribute Descriptors + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Len:9+6+10 = 25| # Desc: 2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #3: 0x11113333 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #4: 0x11114444 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Maximum Link Bandwidth Sub-TLV + + 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(9) | Length(4) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Bandwidth Value: 10G/8 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Member Adj-SID Sub-TLV + + 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(41) | Length(8) |0|0|1|1|0|0|0|0| Weight: 1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #3: 0x11113 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #4: 0x11114 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + TLV for Adjacency #2: + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type(25) | Length(46) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Parent L3 Neighbor Descriptor + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Neighbor System-ID octets 1-4: 1234.1234 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | System-ID octets 5-6: 1234 | P-node: 00 |1|0|0|0|0|0|0|0| + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + IPv4 Interface Address Sub-TLV + + 0 1 + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Type(6) | Length(4) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | IPv4 address: 192.0.2.2 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Attribute Descriptors + + 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 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + |Len:13+6+13=32 | # Desc: 3 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #1: 0x22221111 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #2: 0x22222222 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Link Local Identifier Bundle Member #3: 0x22223333 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + Maximum Link Bandwidth Sub-TLV + + 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(9) | Length(4) | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Bandwidth Value: 10G/8 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + L2 Bundle Member Adj-SID Sub-TLV + + 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(41) | Length(11) |0|0|1|1|0|0|0|0| Weight: 1 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #1: 0x22221 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #2: 0x22222 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | Local Label Bundle Member #3: 0x22223 | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +Acknowledgements + + The authors would like to thank Jon Mitchell for his careful review. + +Contributors + + The following people gave a substantial contribution to the content + of this document and should be considered coauthors: + + Stefano Previdi + Huawei Technologies + Italy + + Email: stefano@previdi.net + +Authors' Addresses + + Les Ginsberg (editor) + Cisco Systems, Inc. + + Email: ginsberg@cisco.com + + + Ahmed Bashandy + Unaffiliated + United States of America + + Email: abashandy.ietf@gmail.com + + + Clarence Filsfils + Cisco Systems, Inc. + + Email: cf@cisco.com + + + Mohan Nanduri + Oracle + + Email: mohan.nanduri@oracle.com + + + Ebben Aries + Arrcus Inc. + 2077 Gateway Place, Suite #400 + San Jose, CA 95119 + United States of America + + Email: exa@arrcus.com |