Networking Working Group                               A. Farrel (Ed.)
Internet-Draft                                      Old Dog Consulting
Intended Status: Standards Track
Created: November 2, 2008                               Greg Bernstein
Expires: May 2, 2008                                 Grotto Networking

          Conveying Vendor-Specific Constraints in the Path
                      Computation Element Protocol


Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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

   The list of Internet-Draft Shadow Directories can be accessed at


   The Path Computation Element Protocol (PCEP) is used to convey path
   computation requests and responses between Path Computation Clients
   (PCCs) and Path Computation Elements (PCEs), and also between
   cooperating PCEs. In PCEP the path computation requests carry details
   of the constraints and objective functions that the PCC wishes the
   PCE to apply in its computation.

   The mechanisms defined for indicating objective functions include
   the capability to convey vendor-specific objective functions. This
   document defines a facility to carry vendor-specific constraints in

Farrel and Bernstein                                            [Page 1]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   "OPTIONAL" in this document are to be interpreted as described in
   RFC-2119 [RFC2119].

1.  Introduction

   A Path Computation Element (PCE) is an entity (component, application
   or network node) that is capable of computing a network path or route
   based on a network graph and applying computational constraints. An
   architecture for the use of PCEs is defined in [RFC4655].

   The Path Computation Element Protocol (PCEP) is defined in [PCEP] to
   exchange path computation requests and responses between Path
   Computation Clients (PCCs) and PCEs. It is also used between
   cooperating PCEs.

   Path computations performed by a PCE depend on a set of constraints
   indicated by the PCC. These constraints include the end points of the
   path to compute (source and destination), and may include other
   simple constraints such as bandwidth requirements and metric maxima
   (for example, a maximum threshold for the hop count or the TE metric
   of the computed path).

   The PCE also needs to use some objective function to qualify the path
   it selects as meeting the requirements of the PCC. The PCE may have a
   default objective function, but the PCC can also indicate which
   objective function it wants applied by placing an Objective Function
   object in the path computation request message [PCEP-OF]. A core set
   of objective functions to be supported in PCEP messages is defined in
   the base PCEP requirements [RFC4657], and [PCEP-OF] defines each of
   these functions as an abstract formula.

   The registry of codepoints used to indicate objective functions is
   managed by IANA and can be extended in future documents. PCE
   implementations may choose to offer proprietary, vendor-specific
   objective functions, and there is scope for this within the codepoint
   registry created by [PCEP-OF].

   Proprietary objective functions may operate on non-standard
   constraints or metrics. The PCEP Metric Object defined in [PCEP] has
   scope for the definition of new, standardized metrics, but no
   facility for the definition of vendor-specific metrics. At the same
   time, there is no mechanism in PCEP for carrying other, more complex,
   vendor-specific constraints.

   This document defines a new PCEP object, the Vendor Constraints
   object that can be used to carry arbitrary constraint information.

Farrel and Bernstein                                            [Page 2]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

2. Procedures

   A PCC that wants to convey proprietary or vendor-specific constraints
   or metrics to a PCE does so by including a Vendor Constraints object
   in the PCReq message. The contents and format of the object are
   described in Section 3, but it is important to note that the object
   includes an Enterprise Number that is a unique identifier of an
   organization responsible for the definition of the content and
   meaning of the object.

   A PCE that receives a PCReq message containing a Vendor Constraints
   object MUST act according to the P-bit in the object header. That is,
   if the P-bit is set, the object MUST be treated as mandatory and the
   request must either be processed using the contents of the object or
   rejected as defined in [PCEP]. If the P-bit is clear, the object MAY
   be used by the PCE or MAY be ignored. The PCC sets the P-bit
   according to how it wishes the request to be processed.

   The PCE determines how to interpret the Vendor Constraints object by
   examining the Enterprise Number it contains.

   The Vendor Constraints object is optional in a PCReq message.
   Multiple instances of the object MAY be used on a single PCReq
   message and each MUST be treated according to its P-bit setting. The
   object can be present in two places within the PCReq message to
   enable it to apply to a single path computation request or to a set
   of synchronized requests. This usage mirrors the usage of the
   Objective Function object [PCEP-OF]. Thus, the PCReq message is
   encoded as follows using the syntax described in [RBNF].

     <PCReq Message>::= <Common Header>
                         [ [<OF>] [<metric-list>]
                           [<vendor-constraint-list>] <SVEC-list> ]


         <metric-list>::= <METRIC>

         <vendor-constraint-list>::= <VENDOR-CONSTRAINT>

         <svec-list>::= <SVEC>

         <request-list>::= <request>

Farrel and Bernstein                                            [Page 3]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

         <request>::= <RP>

   The Vendor Constraints object is included in a PCRep message in
   exactly the same way as any other object as defined in [PCEP].

3. Protocol Elements

   The Vendor Constraints object conforms to the format for PCEP objects
   defined in [PCEP].

   VENDOR-CONSTRAINT Object-Class is to be assigned by IANA (recommended

   VENDOR-CONSTRAINT Object-Type is to be assigned by IANA (recommended

   The format of the VENDOR-CONSTRAINT object body is as follows:

       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
      |                       Enterprise Number                       |
      ~                 Enterprise-Specific Information               ~

   Enterprise Number

     A unique identifier of an organization encoded as a 32-bit integer.
     Enterprise Numbers are assigned by IANA and managed through an IANA
     registry [RFC2578].

   Enterprise-Specific Information

     The detailed enterprise-specific constraint information carried by
     the object. The format and interpretation of this information is a
     matter for the enterprise identified by the Enterprise Number. Such
     formats and interpretation MAY be published by the enterprise
     (possibly through an informational RFC or through commercial
     documentation) so that PCCs or PCEs that are not part of the
     organization can use the information.

Farrel and Bernstein                                            [Page 4]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

4. IANA Considerations

   IANA maintains a registry of PCEP parameters. This includes a sub-
   registry for PCEP Objects.

   IANA is requested to make an allocation from the sub-registry as
   follows. The values here are suggested for use by IANA.

   Object   Name                                           Reference

   23       VENDOR-CONSTRAINT                              [This.I-D]
                1: Vendor-Specific Constraints             [This.I-D]

5. Management Considerations

   This section follows the guidance of [MANAGE].

5.1. Control of Function and Policy

   A PCEP implementation SHUOLD allow configuring of various parameters
   as described in [PCEP]. A PCC implementation that uses vendor-
   specific constraints MAY make the use of these constraints
   configurable either across the whole PCC, per PCE that the PCC uses,
   or per path computation request. A PCE that supports vendor-specific
   constraints MAY make the support of these constraints configurable,
   and MAY allow configuration of policies for the use of the

5.2. Information and Data Models

   A PCEP MIB module is defined in [PCE-MIB] that describes managed
   objects for modeling of PCEP communications.

   It is NOT RECOMMENDED that standard MIB modules are extended to
   include detailed information about the content of the Vendor
   Constaints object. However, the standard MIB module MAY be extended
   to report the use of the Vendor Specific object and the Enterprise
   Numbers that the objects contain.

5.3. Liveness Detection and Monitoring

   This document makes no change to the basic operation of PCEP and so
   there are no changes to the requirements for liveness detection and
   monitoring set out in [RFC4657] and [PCEP].

Farrel and Bernstein                                            [Page 5]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

5.4. Verifying Correct Operation

   This document makes no change to the basic operation of PCEP and so
   there are no changes to the requirements or techniques for monitoring
   the correct operation of the protocol out in [RFC4657] and [PCEP].

   Note that "correct operation" in this context referes to the
   operation of the protocol itself, and not to the operation of the
   computation algorithms which are out of scope for all PCEP work.
   Mechanisms for verifying the correct operation of computation
   algorithms might involve comparing the results returned by more than
   one PCE. Scope for this might be limited by the use of vendor
   constraints unless multiple PCEs support the same set of constraints.

5.5. Requirements on Other Protocols and Functional Components

   This document does not place any new requirements on other network
   components or protocols. However, it may be beneficial to consider
   whether a PCE should advertise the enterprise numbers and vendor
   constraints it supports. This advertisement could be within PCE
   Discovery ([RFC5088], [RFC5089]) or through extensions to PCEP

   Extensions for discovery and advertisement are outside the scope of
   this document.

5.6. Impact on Network Operation

   The availability of vendor constraints in PCEP messages may
   facilitate more complex and detailed path computations that may
   enhance the way in which the network is operated.

   On the other hand, the presence of additional vendor-specific
   information in PCEP messages may congest the operation of the
   protocol especially if the PCE does not support the constraints
   supplied by the PCC. Thus, a PCC SHOULD monitor the capabilities of a
   PCE either by discovery mechanisms as described in Section 5.5, or
   through the receipt of negative responses. A PCC SHOULD NOT include
   vendor constraints in a PCReq message to a PCE that it believes does
   not support the constraints and that will not forward the request to
   some other PCE that does support the constraints.

6. Security Considerations

   The protocol extensions defined in this document do not substantially
   change the nature of PCEP. Therefore, the security considerations set
   out in [PCEP] apply unchanged.

   Operators should note that an attack on PCEP may involve making PCEP
   messages as large as possible in order to consume bandwidth and

Farrel and Bernstein                                            [Page 6]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

   processing power. The Vendor Constraints object may provide a
   mechanism for this type of attack. It may be protected against by
   using the authentication and integrity procedures described in

7.  References

7.1.  Normative References

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

   [PCEP]    Vasseur, J.P., Le Roux, J.L., Ayyangar, A., Oki, E.,
             Ikejiri, A., Atlas, A., Dolganow, A., "Path Computation
             Element (PCE) communication Protocol (PCEP)", draft-ietf-
             pce-pcep, work in progress.

7.2.  Informative References

   [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
             "Structure of Management Information Version 2 (SMIv2)",
             STD 58, RFC 2578, April 1999.

   [RFC4655] Farrel, A., Vasseur, J.P., Ash, J., "Path Computation
             Element (PCE) Architecture", RFC 4655, August 2006.

   [RFC4657] Ash, J. and J. Le Roux, "Path Computation Element (PCE)
             Communication Protocol Generic Requirements", RFC 4657,
             September 2006.

   [RFC5088]  Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang,
              "OSPF Protocol Extensions for Path Computation Element
              (PCE) Discovery", RFC 5088, January 2008.

   [RFC5089]  Le Roux, JL., Vasseur, JP., Ikejiri, Y., and R. Zhang,
              "IS-IS Protocol Extensions for Path Computation Element
              (PCE) Discovery", RFC 5089, January 2008.

   [MANAGE]  Farrel, A., "Inclusion of Manageability Sections in PCE
             Working Group Drafts", draft-ietf-pce-manageability-
             requirements, work in progress.

   [PCE-MIB] Stephan, E. and K. Koushik, "PCE Communication Protocol
             (PCEP) Management Information Base", draft-kkoushik-pce-
             pcep-mib, work in progress.

   [PCEP-OF] Le Roux, JL., Vasseur, JP., and Y. Lee, "Objective Function
             Encoding in Path Computation Element Communication and
             Discovery protocols", draft-ietf-pce-of, work in progress.

Farrel and Bernstein                                            [Page 7]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

   [RBNF]    Farrel, A., "Reduced Backus-Naur Form (RBNF) - A Syntax
             Used in Various Protocol Specifications", draft-farrel-rtg-
             common-bnf, work in progress.

8. Acknowledgements

   Thanks to Meral Shirazipour for review and comments.

9.  Authors' Addresses

   Adrian Farrel
   Old Dog Consulting

   Greg Bernstein
   Grotto Networking

Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at

Farrel and Bernstein                                            [Page 8]

draft-farrel-pce-vendor-constraints-02.txt                 November 2008

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at

Farrel and Bernstein                                            [Page 9]