RFC 5462 PROPOSED STANDARD MPLS · QOS · NAMING

MPLS Traffic Class: Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field

The MPLS label field once called EXP gets a name that matches what it does: Traffic Class.

On rfc-editor.org ↗
PUBLISHED
February 2009
AUTHORS
L. Andersson, R. Asati
STREAM
IETF
BUILDS ON
RFC 3032 — MPLS Label Stack, RFC 3270 — MPLS Diffserv, RFC 3272 — Overview and Principles of Internet Traffic Engineering, RFC 3443 — MPLS TTL processing, RFC 3469 — Framework for Multi-Protocol Label Switching (MPLS)-based Recovery, RFC 3564 — DS-TE Requirements, RFC 3985 — PWE3 Architecture, RFC 4182 — MPLS Explicit NULL, RFC 4364 — BGP/MPLS IP VPN, RFC 4379 — MPLS LSP Ping and 3 more
FIELD SIZE
3 bits
OLD NAME
EXP
NEW NAME
Traffic Class (TC)
LABEL SIZE
20 bits
RFCS UPDATED
13
DOI
10.17487/RFC5462
ERRATA
Reported errata

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                       L. Andersson
Request for Comments: 5462                                      Acreo AB
Updates: 3032, 3270, 3272, 3443, 3469,                          R. Asati
         3564, 3985, 4182, 4364, 4379,                     Cisco Systems
         4448, 4761, 5129                                  February 2009
Category: Standards Track


        Multiprotocol Label Switching (MPLS) Label Stack Entry:
              "EXP" Field Renamed to "Traffic Class" Field

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   The early Multiprotocol Label Switching (MPLS) documents defined the
   form of the MPLS label stack entry.  This includes a three-bit field
   called the "EXP field".  The exact use of this field was not defined
   by these documents, except to state that it was to be "reserved for
   experimental use".

   Although the intended use of the EXP field was as a "Class of
   Service" (CoS) field, it was not named a CoS field by these early
   documents because the use of such a CoS field was not considered to
   be sufficiently defined.  Today a number of standards documents
   define its usage as a CoS field.

   To avoid misunderstanding about how this field may be used, it has
   become increasingly necessary to rename this field.  This document
   changes the name of the field to the "Traffic Class field" ("TC
   field").  In doing so, it also updates documents that define the
   current use of the EXP field.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Details of Change  . . . . . . . . . . . . . . . . . . . . . .  3
     2.1.  RFC 3032 . . . . . . . . . . . . . . . . . . . . . . . . .  3
     2.2.  RFC 3270 . . . . . . . . . . . . . . . . . . . . . . . . .  5
     2.3.  RFC 5129 . . . . . . . . . . . . . . . . . . . . . . . . .  6
     2.4.  The Scope of This Change . . . . . . . . . . . . . . . . .  7
   3.  Use of the TC field  . . . . . . . . . . . . . . . . . . . . .  7
   4.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   5.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . .  8
   6.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     6.1.  Normative References . . . . . . . . . . . . . . . . . . .  8
     6.2.  Informative References . . . . . . . . . . . . . . . . . .  9

1.  Introduction

   The format of an MPLS label stack entry is defined by RFC 3032
   [RFC3032] to include a three-bit field called the "EXP field".  The
   exact use of this field is not defined by RFC 3032, except to state
   that it is to be "reserved for experimental use".

   The EXP field, from the start, was intended to carry "Class of
   Service" (CoS) information.  The field was actually called the "Class
   of Service field" in early versions of the working group document
   that was published as RFC 3032.  However, at the time that RFC 3032
   was published, the exact usage of this "Class of Service" field was
   not agreed upon and the field was designated as "experimental use";
   hence, the name has since been the "EXP field".

   The designation "for experimental use" has led other Standards
   Development Organizations (SDOs) and implementors to assume that it
   is possible to use the field for other purposes.  This document
   changes the name of the field to clearly indicate its use as a
   traffic classification field.

   At first, we discussed using the original "CoS field" as the name for
   the field, but it has been pointed out that this name does not cover
   the following changes that have occurred with respect to its usage
   since RFC 3032 was published.

   1.  The use of the EXP field was first defined in RFC 3270 [RFC3270],
       where a method to define a variant of Diffserv Label Switched
       Paths (LSP), called EXP-Inferred-PSC LSP (E-LSPs), was specified.
       PSC is a two-stage acronym that is expanded as PHB (Per Hop
       Behavior) Scheduling Class (PSC).

   2.  The use of the EXP field as defined in RFC 3270 has been further
       extended in RFC 5129 [RFC5129], where methods for explicit
       congestion marking in MPLS are defined.

   This document, hence, uses the name "Traffic Class field (TC field)",
   which better covers the potential use.  The MPLS TC field relates to
   an MPLS encapsulated packet the same way as the IPv6 TC field relates
   to an IPv6 encapsulated packet or the IPv4 Precedence field relates
   to an IPv4 encapsulated packet.

   The definitions of how the EXP field is used are perfectly clear in
   RFC 3270 and RFC 5129.  However, these RFCs do not explicitly state
   they update RFC 3032, and this fact was not captured in the RFC
   repository until after work on this document was started.

   This document updates RFC 3032, RFC 3270, and RFC 5129 to clarify the
   intended usage of the TC field.  The changes to these RFCs requires
   some changes to the actual text in those documents; Section 2
   explains the changes.

   This document also updates several other RFCs; see Section 2.4.  For
   these documents, the change is limited to changing the name of the
   Label Stack entry field.

   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].

2.  Details of Change

   The three RFCs 3032, 3270, and 5129 are now updated according to the
   following.

2.1.  RFC 3032

   RFC 3032 states on page 4:

      3.  Experimental Use

      This three-bit field is reserved for experimental use.

   This paragraph is now changed to:

      3.  Traffic Class (TC) field

      This three-bit field is used to carry traffic class information,
      and the change of the name is applicable to all places it occurs
      in IETF RFCs and other IETF documents.

      RFC 3270 and RFC 5129 update the definition of the TC field and
      describe how to use the field.

   In Figure 1 on page 3 in RFC 3032, the format of a label stack entry
   is specified as:

  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Label
 |                Label                  | Exp |S|       TTL     | Stack
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Entry

                     Label:  Label Value, 20 bits
                     Exp:    Experimental Use, 3 bits
                     S:      Bottom of Stack, 1 bit
                     TTL:    Time to Live, 8 bits

                              Figure 1

   Figure 1 in RFC 3032 is now changed to match the change of name to TC
   field:

  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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Label
 |                Label                  | TC  |S|       TTL     | Stack
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Entry

                     Label:  Label Value, 20 bits
                     TC:     Traffic Class field, 3 bits
                     S:      Bottom of Stack, 1 bit
                     TTL:    Time to Live, 8 bits

                               Figure 1 (new)

   Note: The designation of the picture above as "Figure 1 (new)" is
   introduced as a way to distinguish the figures in this document.  It
   will still be "Figure 1" in RFC 3032.

2.2.  RFC 3270

   RFC 3270 says on page 6:

   1.2 EXP-Inferred-PSC LSPs (E-LSP)

      A single LSP can be used to support one or more OAs.  Such LSPs
      can support up to eight BAs of a given FEC, regardless of how many
      OAs these BAs span.  With such LSPs, the EXP field of the MPLS
      Shim Header is used by the LSR to determine the PHB to be applied
      to the packet.  This includes both the PSC and the drop
      preference.

      We refer to such LSPs as "EXP-inferred-PSC LSPs" (E-LSP), since
      the PSC of a packet transported on this LSP depends on the EXP
      field value for that packet.

      The mapping from the EXP field to the PHB (i.e., to PSC and drop
      precedence) for a given such LSP, is either explicitly signaled at
      label set-up or relies on a pre-configured mapping.

      Detailed operations of E-LSPs are specified in section 3 below.

   RFC 3270 is now updated like this:

   a.  A new paragraph is added at the end of Section 1 "Introduction":

          The EXP field has been renamed the TC field, and thus all
          references in RFC 3270 to the EXP field now refer to the TC
          field.

   b.  A new term is added to Section 1.1 "Terminology":

          TC        Traffic Class (replaces the term EXP)

   c.  In Section 1.1 "Terminology", the acronym E-LSP is now understood
       to mean:

          E-LSP     Explicitly TC-encoded-PSC LSP

   Section 1.2 on page 6 in RFC 3270 is now changed to:

   1.2 Explicitly TC-encoded-PSC LSPs (E-LSP)

      The EXP field has been renamed to the TC field, and thus all
      references in RFC 3270 to EXP field now refer to the TC field.
      However, we retain the acronym E-LSP (Explicitly TC-encoded-PSC
      LSP) as the acronym is in widespread use.

      A single LSP can be used to support one or more OAs.  Such LSPs
      can support up to eight BAs of a given FEC, regardless of how many
      OAs these BAs span.  With such LSPs, the TC field of the MPLS Shim
      Header is used by the LSR to determine the PHB to be applied to
      the packet.  This includes both the PSC and the drop preference.

      We refer to such LSPs as "Explicitly TC-encoded-PSC LSPs"
      (E-LSPs), since the PSC of a packet transported on this LSP
      depends on the TC field (previously called the EXP field) value
      for that packet.

      The mapping from the TC field to the PHB (i.e., to PSC and drop
      precedence) for a given such LSP is either explicitly signaled at
      label set-up or relies on a pre-configured mapping.

      This is an update to RFC 3032 [RFC3032], in line with the original
      intent of how this field in the MPLS Shim Header should be used
      (as a TC field).  RFC 3270 has itself been updated by RFC 5129
      [RFC5129].

      Detailed operations of E-LSPs are specified in Section 3 of RFC
      3270.

2.3.  RFC 5129

   RFC 5129 is now updated like this:

   A new paragraph is added at the end of Section 1.1 "Background":

      The EXP field has been renamed to the TC field, and thus all
      references in RFC 5129 to the EXP field now refer to the TC field.

   Section 2 (bullet 5) on page 7 of RFC 5129 says:

   o  A third possible approach was suggested by [Shayman].  In this
      scheme, interior LSRs assume that the endpoints are ECN-capable,
      but this assumption is checked when the final label is popped.  If
      an interior LSR has marked ECN in the EXP field of the shim
      header, but the IP header says the endpoints are not ECN-capable,
      the edge router (or penultimate router, if using penultimate hop
      popping) drops the packet.  We recommend this scheme, which we
      call `per-domain ECT checking', and define it more precisely in
      the following section.  Its chief drawback is that it can cause
      packets to be forwarded after encountering congestion only to be
      dropped at the egress of the MPLS domain.  The rationale for this
      decision is given in Section 8.1.

   Section 2 (bullet 5) of RFC 5129 is now updated to:

   o  A third possible approach was suggested by [Shayman].  In this
      scheme, interior LSRs assume that the endpoints are ECN-capable,
      but this assumption is checked when the final label is popped.  If
      an interior LSR has marked ECN in the TC field of the shim header,
      but the IP header says the endpoints are not TC-capable, the edge
      router (or penultimate router, if using penultimate hop popping)
      drops the packet.  We recommend this scheme, which we call `per-
      domain ECT checking', and define it more precisely in the
      following section.  Its chief drawback is that it can cause
      packets to be forwarded after encountering congestion only to be
      dropped at the egress of the MPLS domain.  The rationale for this
      decision is given in Section 8.1.  This scheme is an update to RFC
      3032 [RFC3032] and RFC 3270 [RFC3270].

2.4.  The Scope of This Change

   There are several places in the RFCs that are explicitly updated by
   this document that reference the "Exp field", sometimes they refer to
   the field as "Exp bits", "EXP bits", or "EXP".  In all those
   instances, the references now reference the TC field.

   There are also other RFCs (e.g., RFC 3272 [RFC3272], RFC 3443
   [RFC3443], RFC 3469 [RFC3469], RFC 3564 [RFC3564], RFC 3985
   [RFC3985], RFC 4182 [RFC4182], RFC 4364 [RFC4364], RFC 4379
   [RFC4379], RFC 4448 [RFC4448], and RFC 4761 [RFC4761]) that reference
   the "Exp field"; sometimes they refer to the field as "Exp bits",
   "EXP bits", and "EXP".  For all RFCs, including but not limited to
   those mentioned in this paragraph, such references now reference the
   TC field.

3.  Use of the TC field

   Due to the limited number of bits in the TC field, their use for QoS
   and ECN (Explicit Congestion Notification) functions is intended to
   be flexible.  These functions may rewrite all or some of the bits in
   the TC field.

   Current implementations look at the TC field with and without label
   context, and the TC field may be copied to the label stack entries
   that are pushed onto the label stack.  This is done to avoid label
   stack entries that are pushed onto an existing label stack having
   different TC fields from the rest of the label stack entries.

4.  Security Considerations

   This document only changes the name of one field in the MPLS shim
   header, and thus does not introduce any new security considerations.

5.  Acknowledgments

   The authors would like to thank Stewart Bryant, Bruce Davie, George
   Swallow, and Francois Le Faucheur for their input to and review of
   the current document.

   The authors would also like to thank George Swallow, Khatri Paresh,
   and Phil Bedard for their help with grammar and spelling; a special
   thanks to Adrian Farrel for his careful review and help trawling the
   RFC-sea for RFCs that reference the EXP field.

6.  References

6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, January 2001.

   [RFC3270]  Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen,
              P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi-
              Protocol Label Switching (MPLS) Support of Differentiated
              Services", RFC 3270, May 2002.

   [RFC3272]  Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
              Xiao, "Overview and Principles of Internet Traffic
              Engineering", RFC 3272, May 2002.

   [RFC3443]  Agarwal, P. and B. Akyol, "Time To Live (TTL) Processing
              in Multi-Protocol Label Switching (MPLS) Networks",
              RFC 3443, January 2003.

   [RFC3469]  Sharma, V. and F. Hellstrand, "Framework for Multi-
              Protocol Label Switching (MPLS)-based Recovery", RFC 3469,
              February 2003.

   [RFC3564]  Le Faucheur, F. and W. Lai, "Requirements for Support of
              Differentiated Services-aware MPLS Traffic Engineering",
              RFC 3564, July 2003.

   [RFC3985]  Bryant, S. and P. Pate, "Pseudo Wire Emulation Edge-to-
              Edge (PWE3) Architecture", RFC 3985, March 2005.

   [RFC4182]  Rosen, E., "Removing a Restriction on the use of MPLS
              Explicit NULL", RFC 4182, September 2005.

   [RFC4364]  Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
              Networks (VPNs)", RFC 4364, February 2006.

   [RFC4379]  Kompella, K. and G. Swallow, "Detecting Multi-Protocol
              Label Switched (MPLS) Data Plane Failures", RFC 4379,
              February 2006.

   [RFC4448]  Martini, L., Rosen, E., El-Aawar, N., and G. Heron,
              "Encapsulation Methods for Transport of Ethernet over MPLS
              Networks", RFC 4448, April 2006.

   [RFC4761]  Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
              (VPLS) Using BGP for Auto-Discovery and Signaling",
              RFC 4761, January 2007.

   [RFC5129]  Davie, B., Briscoe, B., and J. Tay, "Explicit Congestion
              Marking in MPLS", RFC 5129, January 2008.

6.2.  Informative References

   [Shayman]  Shayman, M. and R. Jaeger, "Using ECN to Signal Congestion
              Within an MPLS Domain", Work in Progress, November 2000.

Authors' Addresses

   Loa Andersson
   Acreo AB

   EMail: loa@pi.nu


   Rajiv Asati
   Cisco Systems

   EMail: rajiva@cisco.com

AI ELI5

On this page
PROBLEMThe 3-bit EXP field in the MPLS label stack entry was labeled 'reserved for experimental use', so other standards bodies and implementors assumed they could use it for other purposes.
MECHANISMThe RFC renames the field to Traffic Class (TC) everywhere it occurs, rewrites the affected text in RFC 3032, RFC 3270 and RFC 5129, and says all other references to EXP now mean TC.
WHY IT MATTERSThe wire format is unchanged. Only the name and the stated purpose change, and the RFC updates 13 earlier RFCs for consistency.

§1Why the Field Was Renamed

RFC 3032 defines the MPLS label stack entry with a three-bit field called EXP, described only as reserved for experimental use. From the start it was meant to carry Class of Service information, and early drafts of RFC 3032 even called it the Class of Service field. The use was not agreed in time, so it was marked experimental and the name stuck.

That designation led other standards bodies and implementors to assume the field could serve other purposes. The authors rejected the plain name 'CoS field' because later work widened its use: RFC 3270 defined E-LSPs, which use it to pick the Diffserv behavior, and RFC 5129 added explicit congestion marking. The chosen name, Traffic Class (TC), relates to an MPLS packet the way the IPv6 TC field relates to an IPv6 packet.

A box on a form said 'for tests only', but everybody used it to say how important the package was. So it got a new name that says what it is for.

§2Text Changed in Earlier RFCs

In RFC 3032 the section titled 'Experimental Use' becomes 'Traffic Class (TC) field'. The new text says the three-bit field carries traffic class information, and that the rename applies to all places it occurs in IETF RFCs and other IETF documents. Figure 1 of RFC 3032 changes Exp to TC.

RFC 3270 gets a note that every reference to the EXP field now means the TC field, and a new terminology entry for TC. The acronym E-LSP is kept because it is in widespread use, but now stands for 'Explicitly TC-encoded-PSC LSP'. RFC 5129 gets the same note, and its bullet on per-domain ECT checking is reworded to say TC.

Other RFCs are covered by one rule: references to the 'Exp field', 'Exp bits', 'EXP bits' or 'EXP' now mean the TC field. The RFC names RFC 3272, 3443, 3469, 3564, 3985, 4182, 4364, 4379, 4448 and 4761 as examples.

The new name is written into the old rule books, and a note says that anywhere the old name shows up, read it as the new one.

LABEL STACK ENTRY WITH THE RENAMED FIELD (RFC 5462, FIGURE 1 NEW)
MPLS label stack entry
FieldNameSizeValueDescription
LABELLabel20 bitsLabel value.
TCTC3 bitsTraffic Class field, formerly EXP.
SS1 bitsBottom of stack.
TTLTTL1 byteTime to live.

§2.4The Scope of the Rename

Several RFCs that the document updates explicitly refer to the field in different ways: 'Exp field', 'Exp bits', 'EXP bits' or just 'EXP'. In every one of those places the reference now means the TC field. This holds for all RFCs, including but not limited to the ones the RFC lists.

For the RFCs other than RFC 3032, RFC 3270 and RFC 5129, the update is limited to the name of the label stack entry field. RFC 3270 and RFC 5129 already described how the field is used, but did not explicitly state that they update RFC 3032. This document records that fact.

Wherever an old book says the old name, you just read the new name. Nothing else in those books changes.

§4How the TC Field Is Used

The field has only a few bits, so using it for QoS and ECN (Explicit Congestion Notification) functions is meant to be flexible, and those functions may rewrite all or some of the bits.

Current implementations look at the TC field with and without label context. It may be copied to label stack entries that are pushed onto the stack, so that new entries do not have different TC values from the rest of the entries.

The little urgency mark can be changed along the way, and new labels stuck on the pile usually copy the same mark.

§5Security Considerations

The RFC states that it only changes the name of one field in the MPLS shim header, and so introduces no new security considerations.

Only a name changed, nothing new works differently, so nothing new can go wrong.

§6References