summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8668.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc8668.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc8668.txt')
-rw-r--r--doc/rfc/rfc8668.txt876
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