Internet-Draft SIG February 2025
Ihle, et al. Expires 28 August 2025 [Page]
Workgroup:
Multiprotocol Label Switching
Internet-Draft:
draft-ihle-song-mpls-mna-signaling-latest
Published:
Intended Status:
Standards Track
Expires:
Authors:
F. Ihle
University of Tuebingen
X. Song
ZTE Corporation
M. Menth
University of Tuebingen

Signaling MNA Capabilities Using IGP

Abstract

This document defines capabilities of nodes supporting MPLS Network Actions (MNA) and how to signal them using IS-IS and OSPF. The capabilities include the Readable Label Depth (RLD), supported network action opcodes, and the maximum sizes of differently scoped Network Action Sub-stacks (NAS). For IS-IS and OSPF signaling, sub-TLV encodings based on existing mechanisms to signal node- and link-specific capabilities are leveraged.

About This Document

This note is to be removed before publishing as an RFC.

The latest revision of this draft can be found at https://uni-tue-kn.github.io/draft-ihle-song-mpls-mna-signaling/draft-ihle-song-mpls-mna-signaling.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ihle-song-mpls-mna-signaling/.

Discussion of this document takes place on the Multiprotocol Label Switching Working Group mailing list (mailto:mpls@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/mpls/. Subscribe at https://www.ietf.org/mailman/listinfo/mpls/.

Source for this draft and an issue tracker can be found at https://github.com/uni-tue-kn/draft-ihle-song-mpls-mna-signaling.

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 28 August 2025.

Table of Contents

1. Introduction

With the MPLS Network Action (MNA) framework, network actions are encoded in the MPLS stack. [I-D.ietf-mpls-mna-hdr] defines the encoding of such network actions and their data in the MPLS stack. These network actions are processed by all nodes on a path (hop-by-hop), by only selected nodes, or on an ingress-to-egress basis. LSRs have different capabilites that result from the available hardware resources. An ingress LER that pushes network actions to an MPLS stack MUST ensure that all nodes on the path can read and support the network actions. For that purpose, the MNA capabilities of an LSR need to be signaled to the ingress LER.

This document defines the required parameters of LSRs regarding their MNA capability and proposes a signaling extension using IGP such as IS-IS and OSPF.

1.1. Terminology

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.

1.1.1. Abbreviations

This document makes use of the terms defined in [I-D.ietf-mpls-mna-hdr] and in [I-D.ietf-mpls-mna-fwk].

2. Definition of MNA Capabilities

In this section, the parameters an LSR SHOULD signal to the ingress LER to indicate its MNA capabilities are defined.

2.1. The Readable Label Depth (RLD)

The Readable Label Depth (RLD) is the number of LSEs an LSR can parse without performance impact[I-D.ietf-mpls-mna-fwk]. An LSR is required to search the MPLS stack for Network-Action Substacks (NAS) that have to be processed by this node. The ingress LER that pushes the network actions MUST ensure that a hop-by-hop-scoped network action is readable at each LSR on the path, i.e., that it is placed within the RLD of each node. For this purpose, multiple copies of the hop-by-hop-scoped NAS may be placed in the stack.

2.1.1. Example

An example for the RLD parameter is given in Figure 1. With an RLD of 5, an LSR is capable of reading labels A, B, C, D, and E but not D. An RLD of 8 is required in this example to read the entire MPLS stack.

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = A                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = B                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = C                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = D                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = E                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = F                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = G                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = H                   | TC  |1|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Example MPLS stack of 8 MPLS LSE illustrating the concept of RLD.

2.2. Maximum NAS Sizes

This section gives a motivation for signaling maximum NAS sizes and then introduces the Maximum Label Depth (MLD).

2.2.1. Motivation

A NAS in the MNA header encoding is at least 2 LSEs and at most 17 LSEs large [I-D.ietf-mpls-mna-hdr]. At an LSR, at least two NAS, a select-scoped and a hop-by-hop-scoped NAS, are possible. With two maximum-sized NAS, an LSR is required to reserve 34 LSEs in hardware to be able to process network actions. This consumes hardware resources that may be needed to encode other LSEs, e.g., forwarding labels for SR-MPLS paths.

Many use cases in the MNA framework[I-D.ietf-mpls-mna-usecases] do not require a maximum-sized NAS of 17 LSEs to encode the network action and their ancillary data. Therefore, by signaling the maximum-supported NAS size of an MNA implementation from an LSR to an ingress LER, the allocated resources for NAS can be reduced and more resources are available for other purposes.

2.2.2. Maximum Label Depth per NAS (NAS-MLD)

The Maximum SID Depth (MSD) describes the number of SIDs a node is capable of imposing [rfc8491], [rfc8476]. The concept of MSD is not restricted to Segment Routing (SR). In domains where SR is not enabled, the MSD defines the maximum label depth [rfc8491]. For clarity, we refer to this value as Maximum Label Depth (MLD) in this document. The maximum number of LSEs in a specific NAS is referred to as NAS-MLD. MLD values may be signaled by the forwarding plane or may be provisioned by the control plane.

An LSR SHOULD signal the maximum-supported size of a NAS for each scope, i.e., the parameters NAS-MLD^Sel, NAS-MLD^HBH, and NAS-MLD^I2E. Those parameters include the Format A, B, C, and D LSEs from [I-D.ietf-mpls-mna-hdr] in a NAS.

  • For select-scoped NAS, the ingress LER MUST NOT push NAS to the MPLS stack that exceed the MNA capabilities of the node the select-scoped NAS is destined for.

  • For hop-by-hop-scoped NAS, the ingress LER MUST NOT push NAS to the MPLS stack that exceed the MNA capabilities of any node or link on the path.

  • For I2E-scoped NAS, the ingress LER MUST NOT push NAS to the MPLS stack that exceed the MNA capabilities of the egress node or link.

2.2.3. Example

Figure 1 illustrates the different NAS-MLD sizes in an MPLS stack that are signaled to the LSR. In this example, a select-scoped NAS has a maximum size of 4 LSEs, a hop-by-hop-scoped NAS of 7 LSEs, and an I2E-scoped NAS of 4 LSEs.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = A                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┑
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data               |R|SEL|0|U| NASL=2|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NAS-MLD
|   Opcode    |      Data                     |0|U|  Data |NAL=1|  ^Sel
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|1|                  Data                     |0|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┚
|      MPLS-Label = B                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      MPLS-Label = C                   | TC  |0|    TTL        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ──┑
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data               |R|HBH|0|U| NASL=5|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=0| NAS-MLD
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  ^HBH
|   Opcode    |      Data                     |0|U|  Data |NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data                     |0|U|  Data |NAL=1|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|1|                  Data                     |0|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ───┨
|      MNA-Label=bSPL (TBA)             | TC  |0|    TTL        |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|   Opcode    |      Data               |R|I2E|0|U| NASL=2|NAL=0|    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NAS-MLD
|   Opcode    |      Data                     |0|U|  Data |NAL=1|  ^I2E
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    │
|1|                  Data                     |1|    Data       |    │
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ───┚
Figure 2: Example MPLS stack illustrating the different NAS sizes.

2.3. Supported Network Action Opcodes

An LSR MUST signal the network action opcodes it supports. If a network action opcode is not signaled, it is assumed that this opcode is not supported by the node.

3. Signaling MNA Capabilites

This section defines a method for IGP routers to advertise the maximum supportable numbers of LSEs in I2E-scoped NAS, Select-scoped NAS, and HBH-scoped NAS, i.e., the per-scope NAS-MLD, with IS-IS and OSPF.

3.1. Using IS-IS

This section defines the signaling of NAS-MLD and RLD that can be supported for specific Network-Action Substacks (NAS) using IS-IS node and link advertisement. [rfc7981] defines the IS-IS Router Capability TLV that supports optional sub-TLVs to signal capabilities. Further, [rfc8491] introduces a sub-TLV for node- and link-specific advertisement based on [rfc7981].

3.1.1. NAS-MLD Advertisement

To signal the maximum numbers of LSEs for NAS with different scopes, this document introduces new sub-TLVs based on [rfc8491]. The NAS-MLD Sub-TLV is defined node- or link-specific as below:

0                   1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Type       |   Length      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NAS-MLD Type  | NAS-MLD Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//     ...................     //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NAS-MLD Type  | NAS-MLD Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: NAS-MLD Sub-TLV for IS-IS signaling.
  • Type:

  • Length: variable (multiple of 2 octets); represents the total length of the Value field

  • Value: field consists of one or more pairs of a 1-octet MSD-Type and 1-octet MSD-Value

    • NAS-MLD-Type: value defined in the "IGP MSD-Types" registry created by the IANA Considerations section of this document (I2E, HBH, or Select).

    • NAS-MLD-Value: number in the range of 2-17.

This sub-TLV is optional. The scope of the advertisement is specific to the deployment.

3.1.2. RLD Advertisment

For the Readable Label Depth advertisement, a sub-TLV based on [rfc8491] is requested in [I-D.draft-ietf-mpls-mna-fwk].

3.2. Using OSPF

This section defines the signaling of NAS-MLD and RLD that can be supported for specific Network-Action Substacks (NAS) using OSPF node and link advertisement. [rfc7770] defines the OSPF RI Opaque LSA which is used in [rfc8476] to carry the node-specific provisioned SID depth of the router originating the Router Information (RI) LSA in a sub-TLV. Further, [rfc7684] defines link-specific advertisements using the optional sub-TLV of the OSPFv2 Extended Link TLV for OSPFv2, and [rfc8362] defines link-specific advertisements using the optional sub-TLV of the E-Router-LSA TLV.

3.2.1. NAS-MLD Advertisement

To signal the maximum numbers of LSEs for NAS with different scopes, this document introduces new sub-TLVs based on [rfc7684], [rfc8476], and [rfc8362]. The NAS-MLD Sub-TLV is defined node- or link-specific 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           |
+-------------------------------------------------------------+
|          NAS-MLD Type       |          NAS-MLD Value        |
+-------------------------------------------------------------+
//                    ...................                    //
+-------------------------------------------------------------+
|          NAS-MLD Type       |          NAS-MLD Value        |
+-------------------------------------------------------------+
Figure 4: NAS-MLD Sub-TLV for OSPF signaling.
  • Type:

  • Length: variable (in octets); represents the total length of the Value field

  • Value: field consists of one or more pairs of a 2-octet MSD-Type and 2-octet MSD-Value

    • NAS-MLD-Type: value defined in the "IGP MSD-Types" registry created by the IANA Considerations section of this document (I2E, HBH, or Select).

    • NAS-MLD-Value: number in the range of 2-17.

This sub-TLV is optional. The scope of the advertisement is specific to the deployment.

3.2.2. RLD Advertisment

For the Readable Label Depth advertisement, a sub-TLV is requested in [I-D.draft-ietf-mpls-mna-fwk].

4. Security Considerations

The security issues discussed in [I-D.ietf-mpls-mna-hdr], [rfc8476], and [rfc8491] apply to this document.

5. IANA Considerations

This docuement requests the allocation of following codepoints in the "IGP MSD-Types" registry.

Table 1: IGP Signaling Sub-TLV allocation.
Value Name Data Plane Reference
3 Readable Label Depth MPLS [I-D.draft-ietf-mpls-mna-fwk]
4 MLD of select-scoped NAS MPLS This document
5 MLD of I2E-scoped NAS MPLS This document
6 MLD of HBH-scoped NAS MPLS This document

6. References

6.1. Normative References

[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/rfc/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/rfc/rfc8174>.

6.2. Informative References

[I-D.draft-ietf-mpls-mna-fwk]
Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS Network Actions (MNA) Framework", Work in Progress, Internet-Draft, draft-ietf-mpls-mna-fwk-15, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-fwk-15>.
[I-D.ietf-mpls-mna-fwk]
Andersson, L., Bryant, S., Bocci, M., and T. Li, "MPLS Network Actions (MNA) Framework", Work in Progress, Internet-Draft, draft-ietf-mpls-mna-fwk-15, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-fwk-15>.
[I-D.ietf-mpls-mna-hdr]
Rajamanickam, J., Gandhi, R., Zigler, R., Song, H., and K. Kompella, "MPLS Network Action (MNA) Sub-Stack Solution", Work in Progress, Internet-Draft, draft-ietf-mpls-mna-hdr-11, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-hdr-11>.
[I-D.ietf-mpls-mna-usecases]
Saad, T., Makhijani, K., Song, H., and G. Mirsky, "Use Cases for MPLS Network Action Indicators and MPLS Ancillary Data", Work in Progress, Internet-Draft, draft-ietf-mpls-mna-usecases-15, , <https://datatracker.ietf.org/doc/html/draft-ietf-mpls-mna-usecases-15>.
[rfc7684]
Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, , <https://www.rfc-editor.org/rfc/rfc7684>.
[RFC7684]
Psenak, P., Gredler, H., Shakir, R., Henderickx, W., Tantsura, J., and A. Lindem, "OSPFv2 Prefix/Link Attribute Advertisement", RFC 7684, DOI 10.17487/RFC7684, , <https://www.rfc-editor.org/rfc/rfc7684>.
[rfc7770]
Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and S. Shaffer, "Extensions to OSPF for Advertising Optional Router Capabilities", RFC 7770, DOI 10.17487/RFC7770, , <https://www.rfc-editor.org/rfc/rfc7770>.
[rfc7981]
Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, , <https://www.rfc-editor.org/rfc/rfc7981>.
[rfc8362]
Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, , <https://www.rfc-editor.org/rfc/rfc8362>.
[RFC8362]
Lindem, A., Roy, A., Goethals, D., Reddy Vallem, V., and F. Baker, "OSPFv3 Link State Advertisement (LSA) Extensibility", RFC 8362, DOI 10.17487/RFC8362, , <https://www.rfc-editor.org/rfc/rfc8362>.
[rfc8476]
Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, DOI 10.17487/RFC8476, , <https://www.rfc-editor.org/rfc/rfc8476>.
[rfc8491]
Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, DOI 10.17487/RFC8491, , <https://www.rfc-editor.org/rfc/rfc8491>.

Authors' Addresses

Fabian Ihle
University of Tuebingen
Tuebingen
Germany
Xueyan Song
ZTE Corporation
China
Michael Menth
University of Tuebingen
Tuebingen
Germany