MPLS Working Group                                            Z. Ali
                                                             G. Swallow
   Internet Draft                                   Cisco Systems, Inc.
                                                             R. Aggarwal
                                                        Juniper Networks
   Intended status: Standard Track                     October 26, 2009                        March 8, 2010
   Expires: April 25, September 7, 2010

           Non PHP Behavior and out-of-band mapping for RSVP-TE LSPs
               draft-ietf-mpls-rsvp-te-no-php-oob-mapping-03.txt
               draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

   Status of this Memo

      This Internet-Draft is submitted to IETF in full conformance with
      the provisions of BCP 78 and BCP 79.  This document may contain
      material from IETF Documents or IETF Contributions published or
      made publicly available before November 10, 2008.  The person(s)
      controlling the copyright in some of this material may not have
      granted the IETF Trust the right to allow modifications of such
      material outside the IETF Standards Process.  Without obtaining
      an adequate license from the person(s) controlling the copyright
      in such materials, this document may not be modified outside the
      IETF Standards Process, and derivative works of it may not be
      created outside the IETF Standards Process, except to format it
      for publication as an RFC or to translate it into languages other
      than English.

      Internet-Drafts are working documents of the Internet Engineering
      Task Force (IETF), its areas, and its working groups.  Note that
      other groups may also distribute working documents as Internet-
      Drafts.

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

      The list of current Internet-Drafts can be accessed at
      http://www.ietf.org/ietf/1id-abstracts.txt.

      The list of Internet-Draft Shadow Directories can be accessed at
      http://www.ietf.org/shadow.html.

      This Internet-Draft will expire on September 08, 2009. 7, 2010.

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

Copyright

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

   Abstract

      There are many deployment scenarios which require Egress LSR Label
      Switching Router (LSR) to receive binding of the RSVP-TE LSP Resource ReserVation
      Protocol Traffic Engineered (RSVP-TE) Label Switched Path (LSP)
      to an application, and payload identification, using some "out-of-band" "out-
      of-band" (OOB) mechanism. This document proposes protocol
      mechanisms to address this requirement. The procedures described
      in this document are equally applicable for point-to-point (P2P)
      and point-to-
      multipoint point-to-multipoint (P2MP) LSPs.

   Conventions used in this document

      In examples, "C:" and "S:" indicate lines sent by the client and
      server respectively.

      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 0.
      RFC 2119 [RFC2119].

   Table of Contents

      1. Introduction...............................................2 Introduction...............................................3
      2. RSVP-TE signaling extensions...............................3
         2.1. Signaling non-PHP behavior............................3
         2.2. Signaling OOB Mapping Indication......................4 Indication......................5
         2.3. Relationship between OOB and non-PHP flags............6
         2.4. Egress Procedure for label binding....................6
      3. Security Considerations....................................6
      4. IANA Considerations........................................6 Considerations........................................7
         4.1. Attribute Flags for LSP_ATTRIBUTES object.............6 object.............7
      5. Acknowledgments............................................7

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

      6. References.................................................7 References.................................................8
         6.1. Normative References..................................7 References..................................8
         6.2. Informative References................................8
      Copyright Notice..............................................8
      Legal.........................................................9

   1. Introduction

      When RSVP-TE is used for applications like MVPN [MVPN] and VPLS
      [VPLS], an Egress LSR receives the binding of the RSVP-TE LSP to
      an application, and payload identification, using an "out-of-
      band" (OOB) mechanism (e.g., using BGP). In such cases, the
      Egress LSR cannot make correct forwarding decision until such OOB
      mapping information is received. Furthermore, in order to apply
      the binding information, the Egress LSR needs to identify the
      incoming LSP. LSP on which traffic is coming. Therefore, non
      Penultimate Hop Popping (non-PHP) behavior is required at the Egress LSR to apply
      OOB mapping.

      There are other applications that require non-PHP behavior. When
      RSVP-TE P2MP LSPs are used to carry IP multicast traffic non-PHP
      behavior enables a leaf LSR to identify the P2MP TE LSP, on which
      traffic is received. Hence the egress LSR can determine whether
      traffic is received on the expected P2MP LSP and discard traffic
      that is not received on the expected P2MP LSP. Non-PHP behavior
      is also required to determine the context of upstream assigned
      labels when the context is a MPLS LSP. Non-PHP behavior may also
      be required for MPLS-TP LSPs [MPLS-TP-Framework].

      This document defines two new flags in the Attributes Flags TLV
      of the LSP_ATTRIBUTES object defined in [RFC5420]: one flag for
      communication of non-PHP behavior, and one flag to indicate that
      the binding of the LSP to an application and payload identifier
      (payload-Id) needs to be learned via an out-of-band mapping
      mechanism. The procedures described in this document are equally
      applicable for P2P and P2MP LSPs. Specification of the OOB
      communication mechanism(s) is beyond the scope of this document.

   2. RSVP-TE signaling extensions

      This section describes the signaling extensions required to
      address the above-mentioned requirements.

   2.1. Signaling non-PHP behavior

      In order to request non-PHP behavior for an RSVP-TE LSP, this
      document defines a new flag in the Attributes Flags TLV of the
      LSP_ATTRIBUTES object defined in [RFC5420]:

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

      Bit Number 6 (TBD): non-PHP behavior desired flag.

      In order to indicate to the Ingress LSR that the Egress LSR
      recognizes the "non-PHP behavior desired flag", the following new
      bit is defined in the Flags field of the Record Route object
      (RRO) Attributes subobject:

      Bit Number 6 (TBD): Non-PHP behavior acknowledgement flag.

      An Ingress LSR sets the non-PHP "non-PHP behavior desired flag flag" to signal the
      egress LSRs SHOULD assign non-NULL label for the LSP being
      signaled.  This flag MUST NOT be modified by any other LSRs in
      the network. LSRs other than the Egress LSRs SHOULD ignore this
      flag.

      When signaling a P2MP LSP, a source node may wish to solicit
      individual response to "non-PHP behavior flag" from the leaf
      nodes. Given the constraints on how the LSP_ATTRIBUTES may be
      carried in Path and Resv Messages according to RFC5420, in this
      situation a source node SHOULD use a separate Path message for
      each leaf.

      If an egress LSR receiving the Path message, supports the
      LSP_ATTRIBUTES object and the Attributes Flags TLV, and also
      recognizes the "non-PHP behavior desired flag", it MUST allocate a non-NULL non-
      NULL local label. The egress LSR MUST also set include the "Non-PHP
      LSP_ATTRIBUTES object with "non-PHP behavior acknowledgement flag" set in the Flags field of
      Resv message. For this purpose, as defined in RFC5420, the RRO
      Attribute subobject.
      LSP_ATTRIBUTES object is placed in the flow descriptor and is
      associated with the FILTER_SPEC object that precedes it.

      If the egress LSR

      - supports the LSP_ATTRIBUTES object but does not recognize the
         Attributes Flags TLV, TLV; or supports the TLV as well
         Flags TLV, but does not recognize this particular flag, "non-PHP behavior flag";

      then it SHOULD
      simply silently ignore the above this request.

      An ingress LSR requesting non-PHP behavior MAY SHOULD examine Resv
      message for presence of "Non-PHP behavior acknowledgement flag" in the Flags field of the RRO
      Attribute subobject and MAY send a Path
      LSP_ATTRIBUTES object. An ingress LSR requesting non-PHP behavior
      MAY send a Path Tear if to the Egress which has not included the
      LSP_ATTRIBUTES object in the Resv or which has included the
      LSP_ATTRIBUTES object in Resv but has not set the "Non-PHP
      behavior acknowledgement flag". flag" in it. An ingress LSR requesting non-PHP behavior
      MAY also examine the label value corresponding to the Egress
      LSR(s) in the RRO, and MAY send a Path Tear if to the Egress has which
      assigns a Null label value.

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

   2.2. Signaling OOB Mapping Indication

      This document defines a single flag to indicate that the normal
      binding mechanism of an RSVP session is overridden.  The actual
      out of band mappings are beyond the scope of this document.  The
      flag is carried in the Attributes Flags TLV of the LSP_ATTRIBUTES
      object defined in [RFC5420] and is defined as follows:

      Bit Number 7 (TBD): OOB mapping indication flag.

      In order to indicate to the Ingress LSR that the Egress LSR
      recognizes the "OOB mapping indication flag", the following new
      bit is defined in the Flags field of the Record Route object
      (RRO) Attributes subobject:

      Bit Number 7 (TBD): OOB mapping acknowledgement flag.

      An Ingress LSR sets the OOB mapping indication flag to signal the Egress LSR
      that binding of RSVP-TE LSP to an application and payload
      identification is being signaled out of band. This flag MUST NOT
      be modified by any other LSRs in the network. LSRs other than the
      Egress LSRs SHOULD ignore this flag.

      When signaling a P2MP LSP, a source node may wish to solicit
      individual response to "OOB mapping flag" from the leaf nodes.
      Given the constraints on how the LSP_ATTRIBUTES may be carried in
      Path and Resv Messages according to RFC5420, in this situation a
      If an egress LSR which receiving the Path message, supports the
      LSP_ATTRIBUTES object and the Attributes Flags TLV, and also
      recognizes the "OOB mapping indication flag", receives a Path message with that flag set, the egress LSR it MUST set include the
      LSP_ATTRIBUTES object with "OOB mapping acknowledgement flag" set in the Flags
      field of Resv
      message. For this purpose, as defined in RFC5420, the RRO Attribute subobject.
      LSP_ATTRIBUTES object is placed in the flow descriptor and is
      associated with the FILTER_SPEC object that precedes it.

      The rest of the RSVP signaling proceeds as normal.  However, the
      LSR MUST have received the OOB mapping before accepting traffic
      on the LSP.  This implies that the egress LSR MUST NOT setup
      forwarding state for the LSP before it receives the OOB mapping.

      Note that the payload information SHOULD be supplied by the OOB
      mapping. If the egress LSR receives the payload information from
      OOB mapping then the LSR MUST ignore L3PID in the Label Request
      Object [RFC3209].

      If the egress LSR

      - supports the LSP_ATTRIBUTES object but does not recognize the
         Attributes Flags TLV, TLV; or

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

      - supports the TLV as well LSP_ATTRIBUTES object and recognizes the
         Attributes Flags TLV, but does not recognize this particular flag, the "OOB mapping
         flag";

      then it SHOULD
      simply silently ignore the above this request.

      An ingress LSR requesting OOB mapping MAY SHOULD examine Resv message
      for presence of "OOB mapping
      acknowledgement flag" in in the Flags field of the RRO Attribute
      subobject and LSP_ATTRIBUTES
      object. An ingress LSR requesting OOB mapping MAY send a Path
      Tear to the Egress which has not included the LSP_ATTRIBUTES
      object in the Resv or which has included the LSP_ATTRIBUTES
      object in Resv but has not set the "OOB " OOB mapping acknowledgement flag". flag" in it.

      In deploying applications where Egress LSR receives the binding
      of the RSVP-TE LSP to an application, and payload identification,

      using OOB mechanism, it is important to recognize that OOB
      mapping is sent asynchronously w.r.t. signaling of RSVP-TE LSP.
      Egress LSR only installs forwarding state for the LSP after it
      receives the OOB mapping. In deploying applications using OOB
      mechanism, ingress LSR may need to know when egress is properly
      setup for forwarding (i.e., has received OOB mapping). How
      ingress LSR determines that LSR is properly setup for forwarding
      at the Egress LSR is beyond the scope of this document.
      Nonetheless, if OOB mapping is not received by the egress LSR
      within a reasonable time, a procedure to tear down the LSP is
      defined in section 2.4.

   2.3. Relationship between OOB and non-PHP flags

      Non-PHP

      "Non-PHP behavior desired desired" and OOB "OOB mapping indication indication" flags can
      appear and be processed independently of each other. However, as
      mentioned earlier, in the context of application applications discussed in
      this draft, document, OOB mapping require non-PHP behavior. An Ingress
      LSR requesting OOB mapping MAY also set non-PHP "non-PHP behavior desired flag flag"
      in the LSP_ATTRIBUTES object in the Path message.

   2.4. Egress Procedure for label binding

      RSVP-TE signaling completion and the OOB mapping information
      reception happen asynchronously at the Egress. As mentioned in
      Section 2, Egress waits for the OOB mapping before accepting
      traffic on the LSP.

      In order to avoid unnecessary use of the resources and possible
      block-holing
      black-holing of traffic, an Egress LSR MAY send a Path Error

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

      message if the OOB mapping information is not received within a
      reasonable time, Egress MAY trigger a time. This Path Error message with will include the error
      code/sub-code "Notify Error/ no OOB mapping received" for all
      affected LSPs. If available, and where notify requests were request was included when the LSPs were LSP was
      initially setup, Notify messages message (as defined in [RFC3473]) MAY
      also be used for delivery of this information to the Ingress LSR.
      An Egress LSR MAY implement a cleanup timer for this purpose. The
      time-out value is a local decision at the Egress, with a RECOMMENDED
      default value of 60 seconds.

   3. Security Considerations

      This document does not introduce any new security issues above
      those identified in [RFC2205], [RFC3209], [RFC3473], [RFC5420]
      and [RFC4875].

   4. IANA Considerations

   4.1. Attribute Flags for LSP_ATTRIBUTES object

      The following new flags are being defined for the Attributes
      Flags TLV in the LSP_ATTRIBUTES object.  The numeric values are
      to be assigned by IANA.

      o  Non-PHP behavior desired flag - Bit Number 6 (Suggested value).

      o  OOB mapping indication flag - Bit Number 7 (Suggested value).

      o  These flags are only to be used in the Attributes Flags TLV on a
      Path message. These flags have corresponding new flags to be used in the RRO Attributes subobject. As per RFC5420 [RFC5420], the
      bit numbering in the Attribute Flags TLV and the RRO Attributes
      subobject is identical.  That is, the same attribute is indicated
      by the same bit in both places.  Specifically, the numeric values
      for the corresponding new flags to be used in the RRO Attributes
      subobject are to be assigned by IANA.

      o  OOB mapping acknowledgement flag - Bit Number 6 (Suggested
         value).

      o  Non-PHP behavior acknowledgement flag - Bit Number 7
         (Suggested value).
         Path and Resv messages.

      For Error Code = 25 "Notify Error" (see [RFC3209]) the following
      sub-code is defined.

            Sub-code                    Value
            --------                    -----

            No OOB mapping received     12 (TBD)

   5. Acknowledgments

      The authors would like to thank Yakov Rekhter for his suggestions
      on the draft.

   6. References

   Internet-Draft     draft-ietf-mpls-rsvp-te-no-php-oob-mapping-04.txt

   6.1. Normative References

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

      [RFC5420] A. Farrel, D. Papadimitriou, J. P. Vasseur and A.
                Ayyangar, "Encoding of Attributes for  Multiprotocol
                Label Switching (MPLS) Label Switched Path (LSP)
                Establishment Using RSVP-TE", RFC 5420, February 2006.

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

      [RFC4875] R. Aggarwal, D. Papadimitriou, S. Yasukawa, et al,
                "Extensions to RSVP-TE for Point-to-Multipoint TE
                LSPs", RFC 4875.

      [RFC3473]  L. Berger, Editor, "Generalized Multi-Protocol Label
                Switching (GMPLS) Signaling Resource ReserVation
                Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
                3473, January 2003.

   6.2. Informative References

      [MVPN] E. Rosen, R. Aggarwal et al, "Multicast in MPLS/BGP IP
                VPNs", draft-ietf-l3vpn-2547bis-mcast-08.txt, work in
                progress.

      [VPLS] R. Aggarwal, et al, "Propagation of VPLS IP Multicast
                Group Membership Information", draft-raggarwa-l2vpn-
                vpls-mcast-ctrl-00.txt, work in progress.

      [MPLS-TP-Framework] M. Bocci, S. Bryant, et al, "A Framework for
                MPLS in Transport Networks",
                draft-ietf-mpls-tp-framework-06, draft-ietf-mpls-tp-
                framework-06, work in progress.

   Author's Addresses
      Zafar Ali
      Cisco Systems, Inc.
      Email: zali@cisco.com

      George Swallow
      Cisco Systems, Inc.
      Email: swallow@cisco.com

      Rahul Aggarwal
      Juniper Networks
      rahul@juniper.net

   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.

   Legal

      This documents and the information contained therein are provided
      on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
      REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
      IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
      WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
      WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT
      INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY
      OR FITNESS FOR A PARTICULAR PURPOSE.