LSR Y. Liu Internet-Draft Y. Shen Intended status: Standards Track ZTE Expires: 12 April 2024 10 October 2023 Signaling Maximum Packet Depth(MPD) using IGP draft-liu-lsr-igp-mpd-00 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. Copyright Notice Copyright (c) 2023 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Liu & Shen Expires 12 April 2024 [Page 1] Internet-Draft IGP MPD October 2023 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions used in this document . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 3. ISIS extensions for MPD Advertisement . . . . . . . . . . . . 4 3.1. Node MPD Advertisement . . . . . . . . . . . . . . . . . 4 3.2. Link MPD Advertisement . . . . . . . . . . . . . . . . . 5 4. OSPF extensions for MPD Advertisement . . . . . . . . . . . . 6 5. MPD Types . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. IPv6 Readable MPD . . . . . . . . . . . . . . . . . . . . 6 5.2. MPLS Readable MPD . . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.1. Normative References . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 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: * In IPv6/SRv6, - 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. Liu & Shen Expires 12 April 2024 [Page 2] Internet-Draft IGP MPD October 2023 * In MPLS, there're potential usecases that the intermediate nodes need to process the Post-Stack Network Actions beyond the label stack, e.g, IOAM in MPLS as in [I-D.gandhi-mpls-ioam]. The encapsulating node needs to know the maximum packet processing size of the IOAM transit nodes to make the IOAM function work. 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 Liu & Shen Expires 12 April 2024 [Page 3] Internet-Draft IGP MPD October 2023 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 Liu & Shen Expires 12 April 2024 [Page 4] Internet-Draft IGP MPD October 2023 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. 3.2. Link MPD Advertisement 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. 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 2: Link MPD Sub-TLV 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 Liu & Shen Expires 12 April 2024 [Page 5] Internet-Draft IGP MPD October 2023 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 Liu & Shen Expires 12 April 2024 [Page 6] Internet-Draft IGP MPD October 2023 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, March 1997, . [RFC7981] Ginsberg, L., Previdi, S., and M. Chen, "IS-IS Extensions for Advertising Router Information", RFC 7981, DOI 10.17487/RFC7981, October 2016, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", RFC 9256, DOI 10.17487/RFC9256, July 2022, . 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, 9 September 2023, . [I-D.ietf-idr-bgp-ls-link-mtu] 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, 26 July 2023, . [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, . Liu & Shen Expires 12 April 2024 [Page 7] Internet-Draft IGP MPD October 2023 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10.17487/RFC8200, July 2017, . [RFC8476] Tantsura, J., Chunduri, U., Aldrin, S., and P. Psenak, "Signaling Maximum SID Depth (MSD) Using OSPF", RFC 8476, DOI 10.17487/RFC8476, December 2018, . [RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg, "Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491, DOI 10.17487/RFC8491, November 2018, . [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, December 2019, . [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, August 2020, . [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, February 2023, . [RFC9486] Bhandari, S., Ed. and F. Brockners, Ed., "IPv6 Options for In Situ Operations, Administration, and Maintenance (IOAM)", RFC 9486, DOI 10.17487/RFC9486, September 2023, . Authors' Addresses Yao Liu ZTE China Email: liu.yao71@zte.com.cn Yiming Shen ZTE China Liu & Shen Expires 12 April 2024 [Page 8] Internet-Draft IGP MPD October 2023 Email: shen.yiming@zte.com.cn Liu & Shen Expires 12 April 2024 [Page 9]