Internet-Draft IGP L2 bundle for SRv6 October 2024
Dong & Hu Expires 24 April 2025 [Page]
Workgroup:
LSR Working Group
Internet-Draft:
draft-dong-lsr-l2bundle-srv6-02
Published:
Intended Status:
Standards Track
Expires:
Authors:
J. Dong
Huawei Technologies
Z. Hu
Huawei Technologies

Advertising SRv6 SIDs for Layer 2 Bundle Member Links in IGP

Abstract

There are deployments where the Layer-3 interface on which IGP operates is a Layer-2 interface bundle. Existing IGP advertisements only support advertising link attributes of the Layer-3 interface. If entities external to IGP 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 advertised by IGP extensions for Layer-2 (L2) bundle.

When Segment Routing over IPv6 (SRv6) is used with Layer-2 interface bundle to control traffic flows on the individual member links, the SRv6 SIDs which represent the Layer 2 member links of the L2 bundle needs to be advertised in IGP.

This document proposes the IGP extensions to advertise the SRv6 SIDs of the Layer 2 (L2) bundle member links.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 24 April 2025.

1. Introduction

There are deployments where the Layer-3 interface on which an IGP 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.

[RFC8668] and [RFC9356] specify the IGP extensions to advertise link attribute information for each of the L2 Bundle members which comprise the Layer-3 interface, in which the encoding and advertisement of SR-MPLS adjacency SIDs of each bundle member link is defined. When SRv6 is used with Layer-2 interface bundle, to control traffic flows on the individual member links, the SRv6 SIDs which represent the Layer-2 member links of the L2 bundle needs to be advertised.

This document proposes the IGP extensions to advertise the SRv6 SIDs of the Layer-2 (L2) bundle member links.

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 BCP14 RFC 2119 [RFC2119] RFC 8174 [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. SRv6 SIDs for L2 Bundle Member Links

As defined in [RFC8986], the SRv6 End.X behavior means "Endpoint with cross-connect to an array of layer-3 adjacencies". An SRv6 SID associated with a Layer 2 bundle member link of an L3 adjacency can be considered as an instance of the End.X SID, which identifies a subset of the L3 adjacency. Thus separate End.X SID can be allocated for each L2 bundle member link.

4. Advertising SRv6 SIDs for L2 Bundle Members

4.1. SRv6 SIDs Encodings for IS-IS L2 Bundle

This section defines the IS-IS sub-TLVs to advertise SRv6 SIDs for L2 Bundle Members. Following the encoding mechanism used in [RFC8668] for the advertisement of SR-MPLS adj-SIDs for L2 Bundle Members, this allows the advertisement of a set of SRv6 End.X SIDs (one per L2 Bundle Member) in a single sub-TLV.

4.1.1. L2 Bundle Member SRv6 End.X SID Sub-TLV

[RFC9352] defines the SRv6 End.X SID sub-TLV to advertise an SRv6 SID associated with a point-to-point adjacency. This document defines a new sub-TLV of called "L2 Bundle Member SRv6 End.X SIDs" to advertise the SRv6 End.X SIDs for the L2 Bundle Members. This sub-TLV is allowed to be carried in TLV 25 "L2 Bundle Member Attributes" only. The format of the sub-TLV is as below:

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     |    Length     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flags    |   Algorithm   |    Weight     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Endpoint Behavior     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #1 (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #2 (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ...                                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #n (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-sub-tlv-len|         Sub-sub-TLVs (variable) . . .         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Where:

  • Type: TBA.

  • Length: Variable.

  • Flags: 1 octet. The format is the same as the Flags field in the SRv6 End.X SID sub-TLV as defined in [RFC9352].

  • Algorithm: 1 octet. The algorithm values are defined in the IGP Algorithm Type registry.

  • Weight: 1 octet. The value represents the weight of the SID for the purpose of load balancing.

  • Endpoint Behavior: 2 octets. It SHOULD be set to the End.X.

  • SIDs. One or multiple 16-octet SRv6 SIDs. The number of the SIDs is determined by the "Number of L2 Bundle Member Descriptors" field as defined in [RFC8668].

  • Sub-sub-tlv-length: 1 octet. Number of octets used by sub-sub-TLVs.

  • Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in Section 11.6 of [RFC9352].

Multiple L2 Bundle Member SRv6 End.X SID Sub-TLV may be required in order to advertise all the SRv6 End.X SIDs associated with the member links of an L2 bundle.

4.1.2. L2 Bundle Member SRv6 LAN End.X SID Sub-TLV

[RFC9352] defines the SRv6 LAN End.X SID sub-TLV to advertise an SRv6 SID associated with a LAN adjacency. This document defines a new sub-TLV called "L2 Bundle Member SRv6 LAN End.X SIDs" to advertise the SRv6 LAN End.XU SIDs for the L2 Bundle Members. The format of the sub-TLV is as below:

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        |     Length    |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
|             Neighbor System-ID (ID length octets)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      Flags    |   Algorithm   |    Weight     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Endpoint Behavior     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #1 (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #2 (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ...                                                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SID #n (128 bits)                                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Sub-sub-tlv-len|         Sub-sub-TLVs (variable) . . .         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Where:

  • Type: TBA.

  • Length: Variable.

  • Neighbor System-ID: IS-IS System-ID of length "ID Length" as defined in [ISO10589].

  • Flags: 1 octet, the format is the same as the Flags field in the SRv6 End.X SID sub-TLV as defined in [RFC9352].

  • Algorithm: 1 octet. The algorithm values are defined in the IGP Algorithm Type registry.

  • Weight: 1 octet. The value represents the weight of the End.X SID for the purpose of load balancing.

  • Endpoint Behavior: 2 octets. It SHOULD be set to the End.X function.

  • SIDs. One or multiple 16-octet SRv6 SIDs. The number of the SIDs is determined by the "Number of L2 Bundle Member Descriptors" field as defined in [RFC8668].

  • Sub-sub-tlv-length: 1 octet. Number of octets used by sub-sub-TLVs.

  • Optional Sub-sub-TLVs: Supported sub-sub-TLVs are specified in Section 11.6 of [RFC9352].

4.2. SRv6 SIDs Encodings for OSPF L2 Bundle

This section describes the mechanism to advertise SRv6 SIDs for L2 Bundle Members in OSPF. In [RFC9356], the SR-MPLS Adjacency SID sub-TLVs for the L3 adjacency is reused for the advertisement of Adjacency SIDs of L2 Bundle Members. For SRv6 data plane , the SRv6 End.X SID sub-TLV and SRv6 LAN End.X SID Sub-TLV as defined in [RFC9513] are reused for the advertisement of SRv6 End.X SIDs of the L2 bundle members. Thus in OSPFv3, the L2 Bundle Member Attributes sub-TLV shares the sub-TLVs defined for SRv6 under the E-Router-Link TLV .

5. IANA Considerations

IANA is requested to assign two new code points from the IS-IS "Sub-TLVs for TLVs 22, 23, 25, 141, 222, and 223" registry.

   +------+--------------------------+----+----+----+-----+-----+-----+
   | Type | Description              | 22 | 23 | 25 | 141 | 222 | 223 |
   +======+==========================+====+====+====+=====+=====+=====+
   |  TBD | L2 Bundle Member SRv6    | n  | n  | y  |  n  |  n  |  n  |
   |      | End.X SID                |    |    |    |     |     |     |
   +------+--------------------------+----+----+----+-----+-----+-----+
   |  TBD | L2 Bundle Member SRv6    | n  | n  | y  |  n  |  n  |  n  |
   |      | LAN End.X SID            |    |    |    |     |     |     |
   +------+--------------------------+----+----+----+-----+-----+-----+

In the "OSPFv3 Extended- LSA Sub-TLVs" registry, IANA has already set the L2BM flag for the code points 30, 31 and 32 to "Y", per the request of [RFC9513].

6. Security Considerations

The security considerations in [RFC8668] and [RFC9356] apply. This document introduces no additional security vulnerabilities to IS-IS and OSPF.

7. Acknowledgements

The authors would like to thank Zhenbin Li for the review and discussion of this document.

8. References

8.1. Normative References

[IEEE802.1AX]
IEEE, "IEEE Standard for Local and metropolitan area networks -- Link Aggregation", , <https://ieeexplore.ieee.org/document/7055197>.
[ISO10589]
ISO, "Information technology -- Telecommunications and information exchange between systems -- Intermediate System to Intermediate System intra-domain routing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)", , <https://ieeexplore.ieee.org/document/7055197>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8668]
Ginsberg, L., Ed., Bashandy, A., Filsfils, C., Nanduri, M., and E. Aries, "Advertising Layer 2 Bundle Member Link Attributes in IS-IS", RFC 8668, DOI 10.17487/RFC8668, , <https://www.rfc-editor.org/info/rfc8668>.
[RFC9352]
Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extensions to Support Segment Routing over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352, , <https://www.rfc-editor.org/info/rfc9352>.
[RFC9356]
Talaulikar, K., Ed. and P. Psenak, "Advertising Layer 2 Bundle Member Link Attributes in OSPF", RFC 9356, DOI 10.17487/RFC9356, , <https://www.rfc-editor.org/info/rfc9356>.
[RFC9513]
Li, Z., Hu, Z., Talaulikar, K., Ed., and P. Psenak, "OSPFv3 Extensions for Segment Routing over IPv6 (SRv6)", RFC 9513, DOI 10.17487/RFC9513, , <https://www.rfc-editor.org/info/rfc9513>.

8.2. Informative References

[RFC4655]
Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, , <https://www.rfc-editor.org/info/rfc4655>.
[RFC8986]
Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer, D., Matsushima, S., and Z. Li, "Segment Routing over IPv6 (SRv6) Network Programming", RFC 8986, DOI 10.17487/RFC8986, , <https://www.rfc-editor.org/info/rfc8986>.

Authors' Addresses

Jie Dong
Huawei Technologies
Huawei Campus, No. 156 Beiqing Road
Beijing
100095
China
Zhibo Hu
Huawei Technologies
Huawei Campus, No. 156 Beiqing Road
Beijing
100095
China