Network Working Group A. Vainshtein Internet-Draft ECI Telecom Updates: 5586 (if approved) L. Andersson Intended status: Standards Track Huawei Technologies Co., Ltd Expires: March 27, 2016 A. Farrel Juniper Networks September 24, 2015 Handling the TC and TTL fields in a Label Stack Entry that Contains the Generic Associated Channel Label draft-vainshtein-mpls-gal-tc-ttl-handling-03 Abstract This document clarifies handling of the Traffic Class (TC) and Time- to-Live (TTL) fields of a Label Stack Entry that contains the Generic Associated Channel (G-ACh) Label (GAL). These clarifications are intended to aid interoperability of implementations. Original handling was defined in RFC 5586, and this document updates that RFC. 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 http://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 March 27, 2016. Copyright Notice Copyright (c) 2015 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 (http://trustee.ietf.org/license-info) in effect on the date of Vainshtein, et al. Expires March 27, 2016 [Page 1] Internet-Draft TC and TTL Handling with GAL September 2015 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 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 2.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 4 3. New Procedures . . . . . . . . . . . . . . . . . . . . . . . 5 3.1. New Procedures for Handling the TC Field in an LSE That Contains the GAL . . . . . . . . . . . . . . . . . . . . 5 3.2. New Procedures for Handling the TTL Field in an LSE Containing GAL . . . . . . . . . . . . . . . . . . . . . 5 3.3. Scope of the new Procedures . . . . . . . . . . . . . . . 5 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction [RFC5586] introduced an alert mechanism for the Generic Associated Channel (G-ACh) that uses a Generic Associated Channel Label (GAL). In particular, [RFC5586] allocated one of the values from the special purpose label space to be the GAL, specified that the Label Stack Entry (LSE) containing GAL must be always at the bottom of the label stack in the case of MPLS transport profile (MPLS-TP) Label Switched Paths (LSPs), and that G-ACh packets must not be forwarded based on the GAL. Per [RFC3032] each LSE contains, in addition to the label value and bottom-of-stack (BoS) flag, two additional fields: o Traffic Class (TC) field - 3 bits (renamed from Experimental (EXP) field [RFC5462]). [RFC5586] defined that the handling of this field in an LSE that contains the GAL is as specified and referenced in RFC 5462. o Time-to-Live (TTL) field - 8 bits. [RFC5586] defined that the handling of this field in an LSE that contains the GAL is in Vainshtein, et al. Expires March 27, 2016 [Page 2] Internet-Draft TC and TTL Handling with GAL September 2015 accordance with [RFC3443]. In addition, it defined (in Section 4.2.1.1 of [RFC3443]) that: * The TTL field of the GAL LSE MUST be set to at least 1. The exact value of the TTL is application specific. The above-mentioned references to RFC 5462 and RFC 3443 are not very useful for the implementers because they do not define specific processing actions for these fields. That is, even when they give guidance on how a sending implementation should set a field, they don't explain how a receiving implementation should be "liberal in what it accepts". For example, [RFC5462] says only that the use of TC field for Quality of Service (QoS) and Explicit Congestion Notification (ECN) "is intended to be flexible". On the other hand, while [RFC3443] is very detailed with regard to processing of the TTL field, it mainly deals with issues that are irrelevant for an LSE that contains the GAL because RFC 5586 explicitly prohibits forwarding labeled packets based on the GAL. Implementations of [RFC5586] have encountered interoperability problems in their interpretation of these two fields when present in an LSE that contains the GAL. When this LSE becomes the top entry in the label stack (because the previous label has been popped) some receiving implementations have attempted to interpret the TC and TTL fields. In particular, packets with an LSE that contains the GAL with TTL set to one can be trapped to the generic (slow) MPLS exception handler with appropriate rate limiting before the GAL is noticed (which would otherwise result in trapping the packet to a fast OAM handler). The resultant poor performance in handling TTL of one could be seen as a poor implementation choice, but it does not violate RFC 5586. Similarly, the setting of the TC field in the top LSE impacts how a packet is forwarded. When the top LSE contains the GAL, the packet will not be forwarded, so the value of the TC field should not be relevant (or, at most, should impact only on internal prioritization such as within a software implementation). However, some implementations might action the TC field before determining that the GAL is present and so might be subject to poor or unexpected behavior dependent on the setting of the field. This document clarifies the rules for setting and processing the TC and TTL fields in the LSE that contains the GAL in an unambiguous way without referring to any other documents. This will improve interoperability with implementations that are potentially flawed in their handling of these fields. It updates [RFC5586] in that regard. Vainshtein, et al. Expires March 27, 2016 [Page 3] Internet-Draft TC and TTL Handling with GAL September 2015 In summary, the objective of this document is not to change the conformance requirements of existing implementations, but to enhance the likelihood of new implementations interoperating with each other and with implementations already in the field. In particular, to improve the interoperability results where a new implementation interacts with a legacy implementation that may be sender or receiver of an LSE that contains the GAL and that may be any of: o built with poor design considerations o implemented with a misunderstanding of RFC 5586 o over-zealous in its policing of RFC 5586 behavior. This document does not require existing implementations to change their behavior. 2. Terminology 2.1. 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 [RFC2119]. 2.2. Abbreviations BoS: Bottom of Stack G-ACh: Generic Associated Channel GAL: Generic Associated Channel Label LER: Label Edge Router LSE: Label Stack Entry LSP: Label Switching Path LSR: Label Switching Router PW: Pseudowire TC: Traffic Class field (formerly named EXP) TTL: Time-to-Live Vainshtein, et al. Expires March 27, 2016 [Page 4] Internet-Draft TC and TTL Handling with GAL September 2015 3. New Procedures 3.1. New Procedures for Handling the TC Field in an LSE That Contains the GAL Setting the value of the TC field in an LSE that contains the GAL is done by the LER that originates the G-ACh packet and is a matter of local policy for that LER. It is RECOMMENDED that implementations set the TC field of an LSE that contains the GAL to all zero (0b000), but they MAY vary this according to local policy. The LER that inspects an LSE that contains the GAL MUST ignore the value of the TC field. 3.2. New Procedures for Handling the TTL Field in an LSE Containing GAL Setting the value of the TTL in an LSE that contains the GAL is done by the LER that originates the G-ACh packet and is a matter of local policy for that LER. The LER that originates the G-ACh packet MUST NOT set this value to 0 and SHOULD NOT set this value to 1: this will avoid possible misinterpretation by the LER that inspects an LSE that contains the GAL if that LER does not comply with this document. It is RECOMMENDED that implementations set the TTL of an LSE that contains the GAL to 255, but they MAY vary this according to local policy. An LER that examines an LSE that contains the GAL MUST ignore the value of the TTL field. 3.3. Scope of the new Procedures [RFC5586] disallowed the use of the GAL in PWs, but that limitation was relaxed in [RFC6423]. The new procedures defined in this document for handling the TC field and the TTL field in an LSE that contains the GAL apply equally to all possible uses of the GAL including the so-called "Section G-ACh" where the GAL is the only label in the label stack, and the use of the GAL in LSPs and PWs. 4. IANA Considerations This document makes no requests for IANA action. Vainshtein, et al. Expires March 27, 2016 [Page 5] Internet-Draft TC and TTL Handling with GAL September 2015 5. Security Considerations This document makes a minor update to the processing for MPLS packets containing the GAL and does not change any of the security fundamentals of MPLS. For a discussion of security considerations relating to MPLS, please refer to [RFC5920]. Note that the rules set out in this document specify that a receiver must ignore the values in the two MPLS LSE fields that are discussed. As such, this clarification removes a potential (and minor) attack vector where those fields could be malignly set and might cause incorrect action by the receiver. 6. Acknowledgments The authors would like to thank Nadav Baadany whose question triggered this work, and Jeff Haas, Jie Dong, Mach Chen, Huub van Helvoort, Carlos Pignataro, Curtis Villamizar, George Swallow, Rolf Winter, and Martin Vigoureux for their comments on this document. 7. References 7.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, . [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001, . [RFC3443] Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks", RFC 3443, DOI 10.17487/RFC3443, January 2003, . [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, DOI 10.17487/RFC5462, February 2009, . [RFC5586] Bocci, M., Ed., Vigoureux, M., Ed., and S. Bryant, Ed., "MPLS Generic Associated Channel", RFC 5586, DOI 10.17487/RFC5586, June 2009, . Vainshtein, et al. Expires March 27, 2016 [Page 6] Internet-Draft TC and TTL Handling with GAL September 2015 [RFC6423] Li, H., Martini, L., He, J., and F. Huang, "Using the Generic Associated Channel Label for Pseudowire in the MPLS Transport Profile (MPLS-TP)", RFC 6423, DOI 10.17487/RFC6423, November 2011, . 7.2. Informative References [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, DOI 10.17487/RFC5920, July 2010, . Authors' Addresses Alexander Vainshtein ECI Telecom Petah Tikva Israel Email: alexander.vainshtein@ecitele.com Loa Andersson Huawei Technologies Co., Ltd Stockholm Sweden Email: loa@mail01.huawei.com Adrian Farrel Juniper Networks Email: adrian@olddog.co.uk Vainshtein, et al. Expires March 27, 2016 [Page 7]