Network working group                                             X. Xu
Internet Draft                                                  M. Chen
Category: Standard Track                                         Huawei

Expires: March 2014                                  September 26, 2013


                      MPLS Payload Protocol Identifier

                draft-xu-mpls-payload-protocol-identifier-00

Abstract

   The MPLS label stack has no explicit protocol identifier field to
   indicate the protocol type of the MPLS payload. This document
   proposes a mechanism for containing a protocol identifier field
   within the MPLS packet, which may be useful in some emerging use
   cases (e.g., network service chain and MPLS payload inspection).

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 26, 2014.

Copyright Notice

   Copyright (c) 2013 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
   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




Xu, et al.             Expires March 26, 2014                 [Page 1]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013

   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.

Conventions used in this document

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

Table of Contents


   1. Introduction ................................................ 3
   2. Terminology ................................................. 3
   3. Protocol Type Field ......................................... 3
   4. Data Plane Processing of PIL ................................ 4
      4.1. Egress LSRs ............................................ 4
      4.2. Ingress LSRs ........................................... 5
      4.3. Transit LSRs ........................................... 5
      4.4. Penultimate Hop LSR .................................... 5
   5. Signaling for PIL Processing Capability ..................... 6
      5.1. LDP .................................................... 6
      5.2. RSVP-TE ................................................ 6
      5.3. BGP .................................................... 6
      5.4. OSPF ................................................... 6
      5.5. ISIS ................................................... 6
   6. IANA Considerations ......................................... 6
   7. Acknowledgements ............................................ 6
   8. References .................................................. 6
      8.1. Normative References ................................... 6
      8.2. Informative References ................................. 6
   Authors' Addresses ............................................. 7
















Xu, et al.             Expires March 26, 2014                 [Page 2]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013


1. Introduction

   The MPLS label stack has no explicit protocol identifier field to
   indicate the protocol type of the MPLS payload. This document
   proposes a mechanism for containing a protocol identifier field
   within the MPLS packet, which may be useful in some emerging use
   cases (e.g., network service chain and MPLS payload inspection).

2. Terminology

   This memo makes use of the terms defined in [RFC3032].

3. Protocol Type Field

   The encapsulation format for Protocol Type field is depicted 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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 PIL                   | EXP |1|      TTL      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0 0 0 0|       Reserved          |        Protocol Type        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              Payload                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


            Protocol Identifier Label (PIL)

                This field contains a special purpose label with value of
                <TBD> or an extended special purpose label [SPL] with
                value of <TBD> which indicates that a Protocol Type field
                appears immediately after the bottom of the label stack.

            EXP

                The usage of this field is in accordance with the
                current MPLS specification [RFC3032].

            S

                The Bottom of Stack (BoS) field is set since the PIL MUST
                always appear at the bottom of the label stack.

            TTL




Xu, et al.             Expires March 26, 2014                 [Page 3]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013

                The usage of this field is in accordance with the
                current MPLS specification [RFC3032].

            Reserved

                MUST be set to 0 and ignored on reception.

            Protocol Type

                This field indicates the protocol type of the MPLS
                payload as per [ETYPES].

            Payload

                This field contains the MPLS payload which can be an IP
                packet, an Ethernet frame, or any other type of payload
                (e.g., network service header).

4. Data Plane Processing of PIL

4.1. Egress LSRs

   Suppose egress LSR Y is capable of processing the Protocol Type field
   contained in MPLS packets. LSR Y indicates this to all ingress LSRs
   via signaling (see Section 5). LSR Y MUST be prepared to deal with
   both packets with an imposed Protocol Type field and those without;
   the PIL will distinguish these cases. If a particular ingress LSR
   chooses not to impose a Protocol Type field, LSR Y's processing of
   the received label stack (which might be empty) is as if LSR Y chose
   not to accept Protocol Type field.

   If an ingress LSR X chooses to impose the Protocol Type field, then
   LSR Y will receive an MPLS packet constructed as follows: <Top Label
   (TL), Application Label (AL), PIL> <Protocol Type field> <remaining
   MPLS payload>. Note that here the TL could be replaced with an IP-
   based tunnel [RFC4023] and the AL is optional.

   LSR Y recognizes TL as the label it distributed to its upstream LSR
   and pops the TL (note that the TL may be an implicit null label, in
   which case it doesn't appear in the label stack and LSR Y MUST
   process the packet starting with the AL label (if present) and/or the
   PIL.)  LSR Y recognizes the PIL with S bit set.  LSR Y then processes
   the Protocol Type field, which will determine how LSR Y processes the
   MPLS payload.






Xu, et al.             Expires March 26, 2014                 [Page 4]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013

4.2. Ingress LSRs

   If an egress LSR Y indicates via signaling that it can process the
   Protocol Type field, an ingress LSR X can choose whether or not to
   insert it into the MPLS packet destined for LSR Y. The ingress LSR X
   MUST NOT insert the Protocol Type field into that MPLS packet unless
   the egress LSR X has explicitly announced that it could process it.

   The steps that ingress LSR X performs to insert the Protocol Type
   field are as follows:

      1.  On an incoming packet, identify the application to which the
   packet belongs and determine whether the Protocol Type field needs to
   be added to the incoming packet.

      2.  For packets requiring the insertion of the Protocol Type field,
   prepend the Protocol Type field to the existing MPLS payload; then,
   push the PIL on to the label stack with the S bit set.

      3.  Push the application label (AL) label (if required) on to the
   label stack.

      4.  Push the EL and the ELI labels [RFC6790] on to the label stack
   (if required).

      6.  Determine the top label (TL) and push it on to the label stack.

      7.  Determine the output interface and send the packet out.

4.3. Transit LSRs

   Transit LSRs MAY operate with no change in forwarding behavior. If a
   transit LSR recognizes the PIL and the subsequent Protocol Type field,
   it MAY be allowed to do some additional value-added processing, such
   as MPLS payload inspection, on the received MPLS packet containing
   the PIL and the Protocol Type field.

4.4. Penultimate Hop LSR

   No change is needed at penultimate hop LSRs.









Xu, et al.             Expires March 26, 2014                 [Page 5]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013

5. Signaling for PIL Processing Capability

5.1. LDP

5.2. RSVP-TE

5.3. BGP

5.4. OSPF

5.5. ISIS

6. IANA Considerations

   A special purpose label with value of <TBD> or an extended special
   purpose label with value of <TBD> for the PIL needs to be assigned by
   the IANA.

7. Acknowledgements

   TBD.

8. References

8.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., Rekhter, Y., Tappan, D., Fedorkow, G.,
             Farinacci, D. and A. Conta, "MPLS Label Stack
             Encoding", RFC 3032, January 2001.

8.2. Informative References

   [RFC4023] Worster, T., Rekhter, Y., and E. Rosen, "Encapsulating MPLS
             in IP or GRE", RFC4023, March 2005.

   [ETYPES]  The IEEE Registration Authority, "IEEE 802 Numbers", 2012,
             <http://www.iana.org/assignments/ieee-802-numbers/
             ieee-802-numbers.xml>.

   [RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
             Specification", RFC 5036, October 2007.






Xu, et al.             Expires March 26, 2014                 [Page 6]


Internet-Draft     MPLS Payload Protocol Identifier      September 2013

   [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
             and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
             Tunnels", RFC 3209, December 2001.

   [RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in
             BGP-4", RFC 3107, May 2001.

   [RFC4970] Lindem, A., Ed., Shen, N., Vasseur, JP., Aggarwal, R., and
             S. Shaffer, "Extensions to OSPF for Advertising Optional
             Router Capabilities", RFC 4970, July 2007.

   [RFC4971] Vasseur, JP., Shen, N., and R. Aggarwal, "Intermediate
             System to Intermediate System (IS-IS) Extensions for
             Advertising Router Information", RFC 4971, July 2007.

   [RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
             L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
             RFC 6790, November 2012.

   [RFC5586] Bocci, M., Vigoureux, M., and S. Bryant, "MPLS Generic
             Associated Channel", RFC 5586, June 2009.

   [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
             "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
             Use over an MPLS PSN", RFC 4385, February 2006.

   [RFC4928] Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal
             Cost Multipath Treatment in MPLS Networks", BCP 128,
             RFC 4928, June 2007.

   [SPL]     Kompella, K., Andersson, L., and A. Farrel, "Allocating and
             Retiring Special Purpose MPLS Labels", draft-ietf-mpls-
             special-purpose-labels-03 (work in progress), July 2013.


Authors' Addresses

   Xiaohu Xu
   Huawei Technologies
   Beijing, China
   Phone: +86-10-60610041
   Email: xuxiaohu@huawei.com


   Mach(Guoyi) Chen
   Huawei Technologies
   Beijing, China
   Email: mach.chen@huawei.com


Xu, et al.             Expires March 26, 2014                 [Page 7]