Internet-Draft IGP MPD October 2023
Liu & Shen Expires 12 April 2024 [Page]
Workgroup:
LSR
Internet-Draft:
draft-liu-lsr-igp-mpd-00
Published:
Intended Status:
Standards Track
Expires:
Authors:
Y. Liu
ZTE
Y. Shen
ZTE

Signaling Maximum Packet Depth(MPD) using IGP

Abstract

This document proposes the concept of Maximum Packet Depth(MPD) to represent the packet size that a node is able process from an incoming packet, the signaling mechanism for MPD in IGP is also defined.

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 12 April 2024.

Table of Contents

1. Introduction

In terms of processing packets, a device has various capabilities. One of the capabilities is the maximum packet depth(MPD) that a node can read from an incoming packet.

Being aware of the MPD of related nodes benefits the following scenarios:

- the headend node can attach data on the packet, e.g, the hop-by-hop options header or the destination options header with the IOAM data fields as introduced in [RFC9486]. With the knowledge of the MPDs of the nodes along the path, the headend can make sure that the depth of IOAM field (as well as SRH in the case of SRv6) after encapsulating doesn't exceed the maximum size that these nodes are able to process.

- the intermediate nodes may increase the size of the packet. The IPv6 extension headers, as well as their TLVs may be attached by the intermediate destination nodes(e.g SR Segment Endpoint nodes) via inserting or tunneling. In this case it is very important for attaching nodes to obtain the packet processing sizes of the downstream nodes.

There're already some related works on packet size signaling, but they are not sufficient.

The concept Maximum SID Depth (MSD) is originally introduced for SR-MPLS to represent the number of SIDs supported by a node or a link on a node. In a non-SR MPLS network, MSD defines the maximum label depth. MSD is further extended for SRv6 as per [RFC9352]. This can be collected via IS-IS [RFC8491], OSPF [RFC8476], BGP-LS [RFC8814], or PCEP [RFC8664].

MSD, regardless of its type, can't fully represent the size of the packet that the device can read. For MPLS, MSD represents the number of LSEs, while MPD represents the packet size, regardless of whether the content in the packet is carried in the form of labels or not. And MSDs for SRv6 are related with the number of SRv6 SIDs, but other components such as SRH TLV may exist, which are not in the scope of MSD. Not to speak of other IPv6 extension headers in the usecases mentioned above.

Besides MSD, another related concept is link mtu [RFC4821], it's the maximum transmission unit, i.e., maximum IP packet size in bytes, that can be conveyed in one piece over a link, which can be collected via BGP-LS [I-D.ietf-idr-bgp-ls-link-mtu].

Link MTU is the maximum packet size that the device/interface is able to send, while MPD represents the node's ability to read the packet. Normally, these two values are not the same. For example, the maximum packet size a node can read is 256 bytes, and the link mtu is 1500 bytes, after receiving a packet which contains a 512-byte payload encapsulated in a 10-label MPLS stack, the node is able read and process the label stack, and then using the label stack after processing and the payload to form the new packet, whose size is less than the link mtu and then send it out.

Based on the considerations above, this document defines the concept of Maximum Packet Depth(MPD) to represent the maximum packet processing size as well as the signaling mechanism in IGP.

2. Conventions used in this document

2.1. Terminology

MSD: Maximum SID Depth as in [RFC8491].

Link MTU:As per [RFC4821], the Maximum Transmission Unit, i.e, maximum IP packet size in bytes, that can be conveyed in one piece over a link.

Path MTU(PMTU): The minimum link MTU of all the links in a path between a source node and a destination node.[RFC8201]

MPD: Maximum Packet Depth supported by a node or a link on a node.

2.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. ISIS extensions for MPD Advertisement

3.1. Node MPD Advertisement

The Node MPD sub-TLV is defined within the body of the IS-IS Router CAPABILITY TLV [RFC7981] to carry the provisioned packet depth of the router originating the IS-IS Router CAPABILITY TLV. Node MPD is the smallest MPD supported by the node on the set of interfaces configured for use by the advertising IGP instance. MPD values may be learned via a hardware API or may be provisioned. The Node MPD sub-TLV is optional and the format is shown as follows.

                         0                   1
                         0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        |    Type       |   Length      |
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        |   MPD-Type    | MPD-Value     |
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        //     ...................     //
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                        |   MPD-Type    | MPD-Value     |
                        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Node MPD Sub-TLV

Where:

Type: TBA1

Length: variable; represents the total length of the Value field

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

MPD-Type: value defined in the "IGP MPD-Types" registry created by the IANA Considerations section of this document Section 6

MPD-Value: the packet size in bytes. This value MUST represent the lowest value supported by any link configured for use by the advertising IS-IS instance.

The Link MSD sub-TLV is defined for TLVs 22, 23, 25, 141, 222, and 223 to carry the MSD of the interface associated with the link. MPD values may be learned via a hardware API or may be provisioned. The sub-TLV is optional and the format is shown as follows.

Where:

Type: TBA2

Length: variable; represents the total length of the Value field

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

MPD-Type: value defined in the "IGP MPD-Types" registry created by the IANA Considerations section of this document Section 6

MPD-Value: the packet size in bytes.

4. OSPF extensions for MPD Advertisement

Tbd

5. MPD Types

5.1. IPv6 Readable MPD

IPv6 Readable MPD is defined as the maximum packet size in bytes, starting from the IPv6 header, that a node can read from an incoming IPv6 packet without performance impact.

5.2. MPLS Readable MPD

MPLS Readable MPD is the maximum packet size in bytes, starting from the top of the MPLS label stack, that a node can read from an incoming MPLS packet without performance impact.

6. IANA Considerations

This document includes a request to IANA to allocate sub-TLV type codes for the new Node MPD sub-TLV proposed in Section 3.1 of this document from IS-IS Router Capability TLV Registry as defined by [RFC4971]. For Link MPD, IANA is requested to allocate new sub-TLV codes as defined in Section 3.2 from Sub-TLVs for TLVs 22, 23, 141, 222 and 223 registry.

IANA is also requested to create a new Sub-type registry titled "IGP MPD-Types" under the "Interior Gateway Protocol (IGP) Parameters" registry to identify MPD-Types as proposed in Sections 3. The following values are defined by this document:

      Value     Name                             Reference
      -----     ---------------------            -------------
      0         Reserved                         This document
      1         IPv6 Readable MPD                This document
      2         MPLS Readable MPD                This document
      3-250     Unassigned
      251-254   Experimental Use                 This document
      255       Reserved                         This document

7. Security Considerations

Security considerations as specified by [RFC7981] are applicable to this document..

8. References

8.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/info/rfc2119>.
[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/info/rfc7981>.
[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>.
[RFC9256]
Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, , <https://www.rfc-editor.org/info/rfc9256>.

8.2. Informative References

[I-D.gandhi-mpls-ioam]
Gandhi, R., Brockners, F., Wen, B., Decraene, B., and H. Song, "MPLS Data Plane Encapsulation for In Situ OAM Data", Work in Progress, Internet-Draft, draft-gandhi-mpls-ioam-11, , <https://datatracker.ietf.org/doc/html/draft-gandhi-mpls-ioam-11>.
Zhu, Y., Hu, Z., Peng, S., and R. Mwehair, "Signaling Maximum Transmission Unit (MTU) using BGP-LS", Work in Progress, Internet-Draft, draft-ietf-idr-bgp-ls-link-mtu-05, , <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-ls-link-mtu-05>.
[RFC4821]
Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, DOI 10.17487/RFC4821, , <https://www.rfc-editor.org/info/rfc4821>.
[RFC8200]
Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, , <https://www.rfc-editor.org/info/rfc8200>.
[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/info/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/info/rfc8491>.
[RFC8664]
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., and J. Hardwick, "Path Computation Element Communication Protocol (PCEP) Extensions for Segment Routing", RFC 8664, DOI 10.17487/RFC8664, , <https://www.rfc-editor.org/info/rfc8664>.
[RFC8814]
Tantsura, J., Chunduri, U., Talaulikar, K., Mirsky, G., and N. Triantafillis, "Signaling Maximum SID Depth (MSD) Using the Border Gateway Protocol - Link State", RFC 8814, DOI 10.17487/RFC8814, , <https://www.rfc-editor.org/info/rfc8814>.
[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>.
[RFC9486]
Bhandari, S., Ed. and F. Brockners, Ed., "IPv6 Options for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9486, DOI 10.17487/RFC9486, , <https://www.rfc-editor.org/info/rfc9486>.

Authors' Addresses

Yao Liu
ZTE
China
Yiming Shen
ZTE
China