Skip to main content

PCE communication protocol(PCEP) Management Information Base
draft-ietf-pce-pcep-mib-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 7420.
Expired & archived
Authors Kiran Koushik , Emile Stephan , Quintin Zhao , Daniel King
Last updated 2010-07-06 (Latest revision 2010-03-08)
Replaces draft-kkoushik-pce-pcep-mib
RFC stream Internet Engineering Task Force (IETF)
Formats
Reviews
Additional resources Mailing list discussion
Stream WG state WG Document
Document shepherd (None)
IESG IESG state Became RFC 7420 (Proposed Standard)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-ietf-pce-pcep-mib-02
Internet Engineering Task Force                      A S Kiran Koushik
Internet Draft                                     Cisco Systems, Inc.
Intended Status: Standards Track                            E. Stephan
Expires: January 6, 2011                                France Telecom
                                                          Quintin Zhao
                                                     Huawei Technology
                                                           Daniel King
                                                    Old Dog Consulting
                                                           July 6 2010 

       PCE communication protocol(PCEP) Management Information Base

                     draft-ietf-pce-pcep-mib-02.txt

Abstract

   This memo defines an experimental portion of the Management
   Information Base for use with network management protocols in the
   Internet community.  In particular, it describes managed objects
   for modeling of Path Computation Element communication
   Protocol (PCEP) for communications between a Path Computation Client
   (PCC) and a Path Computation Element (PCE), or between two PCEs.

Status of this Memo 

   This Internet-Draft is submitted to IETF in full conformance with the 
   provisions of BCP 78 and 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 
   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 January 6, 2011. 

PCE Working Group              Expires Jan 2011                 [Page 1]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

Copyright Notice

   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.
   
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 BCP 14,
   RFC 2119 [RFC2119].

Table of Contents

   Abstract.........................................................
   1. Introduction..................................................
   2. Terminology...................................................
   3. The Internet-Standard Management Framework....................
   4. PCEP MIB modules Architecture.................................
     4.1 Relations to other MIB modules.............................
   5. Example of the PCEP MIB modules usage ........................
   6. Object Definitions............................................
      6.1  PCE-PCEP-DRAFT-MIB.......................................
   7. Security Considerations.......................................
   8. IANA Considerations...........................................
   9. References....................................................
      9.1. Normative References.....................................
      9.2. Informative References...................................
   10. Acknowledgement .............................................
   11. Author's Addresses...........................................

1. Introduction

   The Path Computation Element (PCE) defined in [RFC4655] is an entity
   that is capable of computing a network path or route based on a
   network graph, and applying computational constraints.  A Path

PCE Working Group              Expires Jan 2011                 [Page 2]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

   Computation Client (PCC) may make requests to a PCE for paths to be
   computed.

   The PCE communication protocol (PCEP) is the communication protocol 
   between a PCC and PCE for point-to-point (P2P) path computations and 
   is defined in [RFC5440]. Such PCEP communication interactions include
   path computation requests and path computation replies as well as
   notifications of specific states related to the use of a PCE in the
   context of Multiprotocol Label Switching (MPLS) and Generalized MPLS
   (GMPLS) Traffic Engineering. 
   
   This memo defines a portion of the Management Information Base
   (MIB) for use with network management protocols in the Internet
   community. In particular, it defines a MIB module that can be
   used to manage PCEP communications between a PCC and a PCE, or 
   between two PCEs.

2. Terminology

   The terminology used in this document is built on notions introduced
   and discussed in PCE WG documents.  The reader should be familiar
   with these documents.

   Domain:
      any collection of network elements within a common sphere of
      address management or path computational responsibility.

   IGP Area:
      OSPF Area or ISIS level.

   This document also uses the terminology defined in [RFC4655]
   and [RFC5440].

3. The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7
   of RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store,
   termed the Management Information Base or MIB.  MIB objects are
   generally accessed through the Simple Network Management Protocol
   (SNMP). Objects in the MIB are defined using the mechanisms
   defined in the Structure of Management Information (SMI).  This
   memo specifies a MIB module that is compliant to the SMIv2, which
   is described in STD 58,RFC 2578 [RFC2578], STD 58, RFC 2579
   [RFC2579] and STD 58, RFC 2580 [RFC2580].

PCE Working Group              Expires Jan 2011                 [Page 3]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

4. PCEP MIB Module Architecture

   The PCEP MIB will contain the following information:
   
   a. PCEP client configuration and status.
   b. PCEP peer configuration and information.
   c. PCEP session configuration and information.
   d. Notifications to indicate PCEP session changes.

4.1. Relations to other MIB modules
        
   PCEP relies on existing protocols which have specialized MIB
   objects to monitor their own activities.  Consequently this document
   considers that the monitoring underlying protocols are out of scope 
   of the PCEP MIB module.

5. Example of the PCEP MIB module usage

   In this section we provide an example of using the MIB objects
   described in Section 6. (Object definitions) to monitor. While
   this example is not meant to illustrate every permutation of the
   MIB, it is intended as an aid to understanding some of the key
   concepts. It is meant to be read after going through the MIB
   itself.
   
   In the PCE-PCEP-DRAFT-MIB module:
   {
         pcePcepClientPcepId               (1d.1d.1d.1d:1d:1d)
         pcePcepClientIndex                (10)
         pcePcepClientAdminStatus          enable(1),
         pcePcepClientTcpPort              (4189),
         pcePcepClientKeepAliveTimer       (10),
         pcePcepClientStorageType          permanent(4),
         pcePcepClientDeadTimer            (40),
         pcePcepClientInitSession          true (1),
         pcePcepClientPoliciesAllowed      independentSyncPathComp(2),                  
   }

6.  Object Definitions

6.1 PCE-PCEP-DRAFT-MIB

   This MIB module makes references to the following documents.
   [RFC2578], [RFC2579], [RFC2580], [RFC3411], [RFC2863], [RFC4001],
   [RFC4265] and [RFC3813].

   PCE-PCEP-DRAFT-MIB DEFINITIONS ::= BEGIN

PCE Working Group              Expires Jan 2011                 [Page 4]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

   IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
      Unsigned32, 
      experimental 
            FROM SNMPv2-SMI

      PcePcepIdentifier,
             FROM PCE-TC-STD-MIB
       
      RowStatus, TimeInterval, TruthValue,
      TimeStamp, StorageType,TEXTUAL-CONVENTION
             FROM SNMPv2-TC                                --  [RFC2579]

      InetAddressType,
      InetAddress,
      InetPortNumber
             FROM INET-ADDRESS-MIB                         

      MODULE-COMPLIANCE,
      OBJECT-GROUP,
      NOTIFICATION-GROUP
         FROM SNMPv2-CONF;

   pcePcepDraftMIB MODULE-IDENTITY
      LAST-UPDATED "201006181200Z" --July 6, 2010
      ORGANIZATION "Path Computation Element (PCE) Working Group"
      CONTACT-INFO "
         A S Kiran Koushik
         Cisco Systems Inc.
         Stephan Emile
         France Telecom DR&D
         Quintin Zhao
         Huawei Technology
         Daniel King
         OldDog Consulting
         
      Email: kkoushik@cisco.com
      Email: emile.stephan@orange-ft.com
      Email: zhao@huawei.com
      Email: daniel@oldog.co.uk
      Email comments directly to the PCE WG Mailing List at pce@ietf.org
      WG-URL: http://www.ietf.org/html.charters/pce-charter.html
      "

   DESCRIPTION

      "This MIB module defines a collection of objects for managing 
       PCE communication protocol(PCEP)."

PCE Working Group              Expires Jan 2011                 [Page 5]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

   -- Revision history
   
    REVISION 
      "201006181200Z"  -- 18 Jun 2010 12:00:00 EST 
    DESCRIPTION 
         "
           Changes from -01- ietf draft include support for the 
           following in the MIB :
           o Cleanup all the compiling errors;
           o added text to Introduction, PCEP Module usage. "

    REVISION 
      "200811031200Z"  -- Nov 03 2008 12:00:00 EST 
    DESCRIPTION 
        "
           Changes from -01- ietf draft include support for the 
           following in the MIB :
           o Text added describing the relations to other MIB modules,
           o Example of the PCEP MIB module usage added. 
   
          Changes from -00- ietf draft include support for the following
           in the MIB :
           o Whether the PCEP speaker should initiate the PCEP session
             or wait for initiation by the peer,
           o A set of PCEP policies including the type of operations 
             allowed for the PCEP peer (e.g., diverse path computation,
             synchronization, etc.),
           o A scalar object restricting the set of PCEP peers
             that can initiate a PCEP session with the PCEP speaker 
             (e.g., list of authorized PCEP peers, all PCEP peers in 
             the area, all PCEP peers in the AS).

         Changes from -01- draft include support for the following
           in the MIB :
           o  The SyncTimer,
           o  The maximum number of sessions that can be setup,
           o  Request timer: amount of time a PCC waits for a reply 
              before resending its path computation requests 
              (potentially to an alternate PCE).
           o  The MAX-UNKNOWN-REQUESTS
           o  The MAX-UNKNOWN-MESSAGES
           o  Response time (minimum, average and maximum), on a 
              per PCE Peer basis,
           o  PCEP Session failures,
           o  Amount of time the session has been in active state,
           o  Number of corrupted messages,
           o  Number of failed computations,

PCE Working Group              Expires Jan 2011                 [Page 6]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

        Changes from -00- draft :
         1. Clarified the notion of PCEP Client.
         2. Added new objects to the PCEP client and session tables
            to manage PCEP protocol as in section 8 of 
            draft-ietf-pce-pcep-08.txt
         3. Did not add all the objects to manage the recommendations
            in draft-ietf-pce-pcep-08.txt to control the complexity of
            the MIB."

    REVISION 
      "200702201200Z"  -- 20 Feb 2007 12:00:00 EST 
    DESCRIPTION 
        "draft-00 version" 
   ::= { experimental 9999 } -- 

   -- Notifications --

   pcePcepNotifications OBJECT IDENTIFIER ::= { pcePcepDraftMIB 0 }

   pcePcepMIBObjects OBJECT IDENTIFIER ::= { pcePcepDraftMIB 1 }
   pcePcepConformance   OBJECT IDENTIFIER ::= { pcePcepDraftMIB 2 }

   pcePcepClientObjects OBJECT IDENTIFIER ::= { pcePcepMIBObjects 1 }

     --
     -- PCE Client Objects
     --

     pcePcepClientLastChange OBJECT-TYPE
         SYNTAX  TimeStamp
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The value of sysUpTime at the time of the most
             recent addition or deletion of an entry
             to/from the pcePcepClientTable/pcePcepClientStatsTable, or
             the most recent change in value of any objects in the
             pcePcepClientTable.

             If no such changes have occurred since the last
             re-initialization of the local management subsystem,
             then this object contains a zero value."
         ::= { pcePcepClientObjects 1 }

PCE Working Group              Expires Jan 2011                 [Page 7]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepClientIndexNext  OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS     read-only
         STATUS         current
         DESCRIPTION
             "This object contains an appropriate value to
             be used for pcePcepClientIndex when creating
             entries in the pcePcepClientTable. The value
             0 indicates that no unassigned entries are
             available."
        ::= { pcePcepClientObjects 2 }

     pcePcepClientSessionAuth  OBJECT-TYPE
         SYNTAX        INTEGER {
                       allPcepPeersInArea(1),
                       allPcepPeersInAS(2),
                       onlyAuthorizedPeers(3)
                     }
         MAX-ACCESS     read-only
         STATUS         current
         DESCRIPTION
             "This object indicates which peers can start
             a PCEP session with the PCEP speaker. The value
             of this object is only applicable if this system
             can be a PCEP speaker."
        ::= { pcePcepClientObjects 3 }

     pcePcepClientTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF PcePcepClientEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION

             "This table contains information about the
             PCEP Client."
          ::= { pcePcepClientObjects 4 }

      pcePcepClientEntry OBJECT-TYPE
          SYNTAX      PcePcepClientEntry
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "An entry in this table represents a PCEP client.
              An entry can be created by a network administrator
              or by an SNMP agent as instructed by PCEP."
          INDEX       {  pcePcepClientPcepId, pcePcepClientIndex  }
          ::= { pcePcepClientTable 1 }

PCE Working Group              Expires Jan 2011                 [Page 8]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

      PcePcepClientEntry ::= SEQUENCE {
          pcePcepClientPcepId               PcePcepIdentifier,
          pcePcepClientIndex                Unsigned32,
          pcePcepClientAdminStatus          INTEGER,
          pcePcepClientOperStatus           INTEGER,
          pcePcepClientTcpPort              InetPortNumber,
          pcePcepClientKeepAliveTimer       Unsigned32,
          pcePcepClientStorageType          StorageType,
          pcePcepClientRowStatus            RowStatus,
          pcePcepClientDeadTimer            Unsigned32,
          pcePcepClientInitSession          TruthValue,
          pcePcepClientPoliciesAllowed      INTEGER
      }

      pcePcepClientPcepId OBJECT-TYPE
          SYNTAX      PcePcepIdentifier
          MAX-ACCESS  not-accessible
          STATUS      current
          DESCRIPTION
              "The PCEP client identifier."
         ::= { pcePcepClientEntry 1 }

     pcePcepClientIndex OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "This index is used to uniquely identify the PCEP client.
             Before creating a row in this table,
             the 'pcePcepClientIndexNext' object should be retrieved.
             That value should be used for the value of this index
             when creating a row in this table.  NOTE:  if a value
             of zero (0) is retrieved, that indicates that no rows
             can be created in this table at this time."
         ::= { pcePcepClientEntry 2 }

     pcePcepClientAdminStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The administrative status of this PCEP Client.
             If this object is changed from 'enable' to 'disable'
             and this entity has already attempted to establish
             contact with a Peer, then all contact with that

PCE Working Group              Expires Jan 2011                 [Page 9]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

             Peer is lost and all information from that Peer
             needs to be removed from the MIB. (This implies
             that the network management subsystem should clean
             up any related entry in the pcePcepPeerTable.  This
             further implies that a 'tear-down' for that session
             is issued and the session and all information related
             to that session cease to exist).

             At this point the operator is able to change values
             which are related to this entity.

             When the admin status is set back to 'enable', then
             this Entity will attempt to establish a new session
             with the Peer."

         DEFVAL  { enable }
         ::= { pcePcepClientEntry 3 }

     pcePcepClientOperStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       unknown(1),
                       enabled(2),
                       disabled(3)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The operational status of this PCEP client.

             The value of unknown(1) indicates that the
             operational status cannot be determined at
             this time.  The value of unknown should be
             a transient condition before changing
             to enabled(2) or disabled(3)."

         ::= { pcePcepClientEntry 4 }

     pcePcepClientTcpPort OBJECT-TYPE
         SYNTAX      InetPortNumber
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The TCP Port for
             PCEP.  The default value is the well-known
             value of this port." -- To be assigned by IANA
         ::= { pcePcepClientEntry 5 }

PCE Working Group              Expires Jan 2011                [Page 10]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepClientKeepAliveTimer OBJECT-TYPE
         SYNTAX      Unsigned32 (1..65535)
         UNITS       "seconds"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The integer value which is the proposed keep
             alive timer for this PCEP client."
         ::= { pcePcepClientEntry 6 }

     pcePcepClientStorageType  OBJECT-TYPE
         SYNTAX      StorageType
         MAX-ACCESS  read-create
         STATUS      current

         DESCRIPTION
             "The storage type for this conceptual row.
             Conceptual rows having the value 'permanent(4)'
             need not allow write-access to any columnar
             objects in the row."
         DEFVAL{ nonVolatile }
         ::= { pcePcepClientEntry 7 }

     pcePcepClientRowStatus OBJECT-TYPE
         SYNTAX      RowStatus
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The status of this conceptual row.  All writable
              objects in this row may be modified at any
              time, however, as described in detail in
              the section entitled, 'Changing Values After
              Session Establishment', and again described
              in the DESCRIPTION clause of the
              pcePcepClientAdminStatus object, if a session
              has been initiated with a Peer, changing objects
              in this table will wreak havoc with the session
              and interrupt traffic.  To repeat again:
              the recommended procedure is to
              set the pcePcepClientAdminStatus to down, thereby
              explicitly causing a session to be torn down. Then,
              change objects in this entry, then set
              the pcePcepClientAdminStatus to enable,
              which enables a new session to be initiated."
         ::= { pcePcepClientEntry 8 }

PCE Working Group              Expires Jan 2011                [Page 11]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepClientDeadTimer OBJECT-TYPE
         SYNTAX      Unsigned32 (4..262140)
         UNITS       "seconds"
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value which indicates a period of 
             time after the expiration of which a PCEP peer 
             declares the session down if no PCEP message 
             has been received. The Deadtimer value is recommended to
             be 4 times the Keepalive value."
         ::= { pcePcepClientEntry 9 }

     pcePcepClientInitSession OBJECT-TYPE
         SYNTAX      TruthValue
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value indicates if the PCEP client should initiate
             PCEP session or wait for initiation by the peer.
             If the value is true(1) then this client will initiate
             the session. If the value is false(2) the it has to
             wait for the peer to initiate a session."
         DEFVAL{ false }
         ::= { pcePcepClientEntry 10 }

     pcePcepClientPoliciesAllowed OBJECT-TYPE
         SYNTAX      INTEGER {
                       independentNonSyncPathComp(1),
                       independentSyncPathComp(2),
                       dependentSyncPathComp(3)
                     }
         MAX-ACCESS  read-create
         STATUS      current
         DESCRIPTION
             "The value indicates the set of operation types allowed
             for this client. Need to explain these three values. 
             Are the mutually incombaitble. Is it a set (bits - 1 2 4)
             or choice (integer)"
         ::= { pcePcepClientEntry 11 }

     -- The PCEP Client Statistics Table
     -- The PCEP Peer Table
    
     pcePcepSessionObjects OBJECT IDENTIFIER ::= { pcePcepMIBObjects 3 }

PCE Working Group              Expires Jan 2011                [Page 12]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepPeerLastChange OBJECT-TYPE
         SYNTAX  TimeStamp
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The value of sysUpTime at the time of the most
             recent addition or deletion to/from the
             pcePcepPeerTable/pcePcepSessionTable."
         ::= { pcePcepSessionObjects 1 }

     pcePcepPeerTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF PcePcepPeerEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "Information about PCEP peers known by Entities in
             the pcePcepClientTable.  The information in this table
             is based on information from the Client-Peer interaction
             during session initialization but is not appropriate
             for the pcePcepSessionTable, because objects in this
             table may or may not be used in session establishment."
         ::= { pcePcepSessionObjects 2 }

     pcePcepPeerEntry OBJECT-TYPE
         SYNTAX      PcePcepPeerEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "Information about a single Peer which is related
             to a Session.  This table is augmented by
             the pcePcepSessionTable."
         INDEX       { pcePcepClientPcepId,
                       pcePcepClientIndex,
                       pcePcepPeerPcepId }
         ::= { pcePcepPeerTable 1 }

     PcePcepPeerEntry ::= SEQUENCE {
         pcePcepPeerPcepId               PcePcepIdentifier,
         pcePcepPeerTransportAddrType    InetAddressType,
         pcePcepPeerTransportAddr        InetAddress,
         pcePcepPeerResponseTime         Unsigned32
     }

     pcePcepPeerPcepId OBJECT-TYPE
         SYNTAX      PcePcepIdentifier
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "The PCEP identifier of this PCE Peer."
         ::= { pcePcepPeerEntry 1 }

PCE Working Group              Expires Jan 2011                [Page 13]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepPeerTransportAddrType OBJECT-TYPE
         SYNTAX      InetAddressType
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The type of the Internet address for the
             pcePcepPeerTransportAddr object.  The PCEP
             specification describes this as being either
             an IPv4 Transport Address or IPv6 Transport
             This object specifies how the value of the
             pcePcepPeerTransportAddr object should be
             interpreted."
         ::= { pcePcepPeerEntry 2 }

     pcePcepPeerTransportAddr OBJECT-TYPE
         SYNTAX      InetAddress
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The Internet address advertised by the peer.

             The type of this address is specified by the
             value of the pcePcepPeerTransportAddrType
             object."
         ::= { pcePcepPeerEntry 3 }

     pcePcepPeerResponseTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..65535)
         UNITS       "seconds"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The Average response time for this PCEP peer."
         ::= { pcePcepPeerEntry 4 }

     --
     -- The PCEP Sessions Table
     --

     pcePcepSessionMax OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The maximum number of sessions that can be setup
             on this PCEP client."
         ::= { pcePcepSessionObjects 3 }

PCE Working Group              Expires Jan 2011                [Page 14]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepSessionMaxUnknownRequests OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The maximum number of unknown requests that any session
             on this PCEP client is willing to accept."
         ::= { pcePcepSessionObjects 4 }

     pcePcepSessionMaxUnknownMsgs OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The maximum number of unknown messages that any session
             on this PCEP client is willing to accept."
         ::= { pcePcepSessionObjects 5 }

     pcePcepSessionFailures OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
             "The number of failed sessions on this client."
         ::= { pcePcepSessionObjects 6 }

     pcePcepSessionTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF PcePcepSessionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "A table of Sessions between PCEP clients.
             This table AUGMENTS the pcePcepPeerTable.  
             Each row in this table represents a single session."
         ::= { pcePcepSessionObjects 7 }

     pcePcepSessionEntry OBJECT-TYPE
         SYNTAX      PcePcepSessionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
             "An entry in this table represents information on a
             single session between two PCEP clients.
             The information contained in a row is read-only."

         AUGMENTS { pcePcepPeerEntry }
         ::= { pcePcepSessionTable 1 }

PCE Working Group              Expires Jan 2011                [Page 15]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     PcePcepSessionEntry ::= SEQUENCE {
         pcePcepSessionStateLastChange       TimeStamp,
         pcePcepSessionState                 INTEGER,
         pcePcepSessionKeepAliveHoldTimeRem  TimeInterval,
         pcePcepSessionKeepAliveTime         Unsigned32,
         pcePcepSessionDiscontinuityTime     TimeStamp,
         pcePcepSessionSpeakerRole           INTEGER,
         pcePcepSessionSyncTime              Unsigned32,
         pcePcepSessionRequestTime           Unsigned32,
         pcePcepSessionActiveTime            Unsigned32,
         pcePcepSessionCorruptedMsgs         Unsigned32,
         pcePcepSessionFailedComps           Unsigned32 
     }

     pcePcepSessionStateLastChange OBJECT-TYPE
         SYNTAX TimeStamp
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of sysUpTime at the time this
             Session entered its current state as
             denoted by the pcePcepSessionState
             object."
         ::= { pcePcepSessionEntry 1 }

     pcePcepSessionState OBJECT-TYPE
         SYNTAX      INTEGER {
                        sessionUp(1),
                        keepWait(2),
                        openWait(3),
                        tcpPending(4),
                        idle(5)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The current state of the session, all of the
             states 1 to 5 are based on the state machine
             for session negotiation behavior."
         ::= { pcePcepSessionEntry 2 }

     pcePcepSessionKeepAliveHoldTimeRem OBJECT-TYPE
         SYNTAX      TimeInterval
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The keep alive hold time remaining for
             this session."
         ::= { pcePcepSessionEntry 3 }

PCE Working Group              Expires Jan 2011                [Page 16]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepSessionKeepAliveTime OBJECT-TYPE
         SYNTAX      Unsigned32 (1..65535)
         UNITS       "seconds"
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The negotiated KeepAlive Time which
             represents the amount of seconds between
             keep alive messages.  The
             pcePcepClientKeepAliveHoldTimer
             related to this Session is the
             value that was proposed as the
             KeepAlive Time for this session

             This value is negotiated during
             session initialization between
             the entity's proposed value
             (i.e., the value configured in
             pcePcepClientKeepAliveHoldTimer)
             and the peer's proposed
             KeepAlive Hold Timer value.
             This value is the smaller
             of the two proposed values."
         ::= { pcePcepSessionEntry 4 }

     pcePcepSessionDiscontinuityTime OBJECT-TYPE
         SYNTAX      TimeStamp
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of sysUpTime on the most recent occasion
             at which any one or more of this session's counters
             suffered a discontinuity.  The relevant counters are
             the specific instances associated with this session
             of any Counter32 object contained in the
             pcePcepSessionStatsTable.

             The initial value of this object is the value of
             sysUpTime when the entry was created in this table.
             Also, a command generator can distinguish when a session
             between a given Entity and Peer goes away and a new
             session is established.  This value would change and
             thus indicate to the command generator that this is a
             different session."
         ::= { pcePcepSessionEntry 5 }

PCE Working Group              Expires Jan 2011                [Page 17]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepSessionSpeakerRole OBJECT-TYPE
         SYNTAX      INTEGER {
                       pcc(1),
                       pce(2),
                       pccandpce(3)
                     }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "The value of this object indicates the PCEP 
             speaker role in this session."
         ::= { pcePcepSessionEntry 6 }

      pcePcepSessionSyncTime OBJECT-TYPE
            SYNTAX      Unsigned32 (1..65535)
            UNITS       "seconds"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The value of SYNC timer is used in the case 
                of synchronized path computation request using 
                the SVEC object.
 
                Consider the case where a PCReq message is received 
                by a PCE that contains the SVEC object referring to 
                M synchronized path computation requests.  If after 
                the expiration of the SYNC timer all the M path
                computation requests have not been received, 
                a protocol error is triggered and the PCE MUST cancel 
                the whole set of path computation requests.  

                The aim of the SyncTimer is to avoid the storage 
                of unused synchronized request should one of them get 
                lost for some reasons (e.g a misbehaving PCC)."

            DEFVAL { 60 } 
            ::= { pcePcepSessionEntry 7 }

      pcePcepSessionRequestTime OBJECT-TYPE
            SYNTAX      Unsigned32 (1..65535)
            UNITS       "seconds"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The maximum amount of time a PCC waits for a 
                reply before resending its path computation requests 
                (potentially to an alternate PCE)."
            ::= { pcePcepSessionEntry 8 }

PCE Working Group              Expires Jan 2011                [Page 18]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

      pcePcepSessionActiveTime OBJECT-TYPE
            SYNTAX      Unsigned32 (1..65535)
            UNITS       "seconds"
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The amount of time this session has been active
                since creation or a discontinuity."
            ::= { pcePcepSessionEntry 9 }

      pcePcepSessionCorruptedMsgs OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The number of corrupted messages received on this 
                session."
            ::= { pcePcepSessionEntry 10 }

      pcePcepSessionFailedComps OBJECT-TYPE
            SYNTAX      Unsigned32
            MAX-ACCESS  read-only
            STATUS      current
            DESCRIPTION
                "The number of requests which had failed 
                computations."
            ::= { pcePcepSessionEntry 11 }

     ---
     --- Notifications
     ---

     pcePcepSessionUp NOTIFICATION-TYPE
          OBJECTS     {
                         pcePcepSessionState,
                         pcePcepSessionDiscontinuityTime
                      }
          STATUS      current

          DESCRIPTION
             "This notification is sent when the
             value of 'pcePcepSessionState' enters
             the 'sessionUp(1)' state."
          ::= { pcePcepNotifications 1 }

PCE Working Group              Expires Jan 2011                [Page 19]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepSessionDown NOTIFICATION-TYPE
          OBJECTS     {
                         pcePcepSessionState,
                         pcePcepSessionDiscontinuityTime

                      }
          STATUS      current
          DESCRIPTION
             "This notification is sent when the
             value of 'pcePcepSessionState' leaves
             the 'sessionUp(1)' state."
          ::= { pcePcepNotifications 2 }

     --****************************************************************
     -- Module Conformance Statement
     --****************************************************************

     pcePcepGroups
         OBJECT IDENTIFIER ::= { pcePcepConformance 1 }

     pcePcepCompliances
         OBJECT IDENTIFIER ::= { pcePcepConformance 2 }

     --
     -- Full Compliance
     --

     pcePcepModuleFullCompliance MODULE-COMPLIANCE
         STATUS current
         DESCRIPTION
             "The Module is implemented with support
             for read-create.  In other
             words, both monitoring and configuration
             are available when using this MODULE-COMPLIANCE."

         MODULE -- this module
             MANDATORY-GROUPS    { pcePcepGeneralGroup,
                                   pcePcepNotificationsGroup
                                 }

         ::= { pcePcepCompliances 1 }

     --
     -- Read-Only Compliance
     --

PCE Working Group              Expires Jan 2011                [Page 20]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

     pcePcepModuleReadOnlyCompliance MODULE-COMPLIANCE
         STATUS current
         DESCRIPTION
             "The Module is implemented with support
             for read-only.  In other words, only monitoring
             is available by implementing this MODULE-COMPLIANCE."

         MODULE -- this module
             MANDATORY-GROUPS    { pcePcepGeneralGroup,
                                   pcePcepNotificationsGroup
                                 }

         ::= { pcePcepCompliances 2 }
     -- units of conformance

     pcePcepGeneralGroup OBJECT-GROUP
         OBJECTS {
         pcePcepClientLastChange,
         pcePcepClientIndexNext,
         pcePcepClientAdminStatus,
         pcePcepClientOperStatus,
         pcePcepClientTcpPort,
         pcePcepClientKeepAliveTimer,
         pcePcepClientStorageType,
         pcePcepClientRowStatus,
         pcePcepPeerLastChange,
         pcePcepPeerTransportAddrType,
         pcePcepPeerTransportAddr,
         pcePcepSessionStateLastChange,
         pcePcepSessionState,
         pcePcepSessionKeepAliveHoldTimeRem,
         pcePcepSessionKeepAliveTime,
         pcePcepSessionDiscontinuityTime,
         pcePcepClientDeadTimer,
         pcePcepClientInitSession,
         pcePcepClientPoliciesAllowed,
         pcePcepSessionMax,
         pcePcepSessionSpeakerRole,
         pcePcepSessionSyncTime,
         pcePcepSessionRequestTime,
         pcePcepSessionMaxUnknownRequests,
         pcePcepSessionMaxUnknownMsgs,
         pcePcepSessionActiveTime,
         pcePcepSessionCorruptedMsgs,
         pcePcepClientSessionAuth,
         pcePcepPeerResponseTime,
         pcePcepSessionFailures,
         pcePcepSessionSyncTime,

PCE Working Group              Expires Jan 2011                [Page 21]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

         pcePcepSessionRequestTime,
         pcePcepSessionFailedComps
         }
         STATUS    current
         DESCRIPTION
             "Objects that apply to all PCEP MIB implementations."

         ::= { pcePcepGroups 1 }

      pcePcepNotificationsGroup NOTIFICATION-GROUP
         NOTIFICATIONS { pcePcepSessionUp,
                         pcePcepSessionDown
                            }
         STATUS   current

         DESCRIPTION
             "The notifications for a PCEP MIB implementation."
         ::= { pcePcepGroups 2 }
         END

7. Security Considerations

   This MIB module can be used for configuration of certain objects,
   and anything that can be configured can be incorrectly configured,
   with potentially disastrous results.

   There are a number of management objects defined in this MIB module
   with a MAX-ACCESS clause of read-create. Such
   objects may be considered sensitive or vulnerable in some network
   environments. The support for SET operations in a non-secure
   environment without proper protection can have a negative effect on
   network operations. These are the tables and objects and their
   sensitivity/vulnerability:
   
   o pcePcepClientTcpPort: A PCC or PCE listening in on the wrong TCO 
   port would mean PCEP communications would fail.    
   
   o pcePcepClientKeepAliveTimer: Changing the PCEP session keepalive
   timer to a value lower than the default value, may force premature
   PCEP communication time-outs. 
   
   o pcePcepClientStorageType: Changing this value may cause persitance
   failure for the configuration. 
      
   o pcePcepClientRowStatus:  Setting row status incorrectly may turn 
   off the PCEP client.
      
   o pcePcepClientDeadTimer: Changing the PCEP session deadtimer timer 
   to a value lower than the default value, may force premature PCEP
   communication time-outs. 

PCE Working Group              Expires Jan 2011                [Page 22]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

   
   o pcepPcepClientInitSession: Setting this value incorrectly may cause
   the PCEP session not to come up. 
   
    o pcePcepClientPoliciesAllowed: Setting this value incorrectly may 
    cause specific PCE requests to fail.
   
   The user of the PCE-PCEP-DRAFT-MIB module must therefore be aware 
   that support for SET operations in a non-secure environment without
   proper protection can have a negative effect on network operations.  

   The readable objects in the PCE-PCEP-DRAFT-MIB module (i.e., those 
   with MAX-ACCESS other than not-accessible) may be considered 
   sensitive in some environments since, collectively, they provide 
   information about the amount and frequency of path computation 
   requests and responses within the network and can reveal some 
   aspects of their configuration.

   In such environments it is important to control also GET and NOTIFY
   access to these objects and possibly even to encrypt their values
   when sending them over the network via SNMP.
   
   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPsec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.   

8. IANA Considerations

   IANA is requested to make a MIB OID assignment for pceStdMIB under
   the mib-2 branch. The MIB module in this document uses the following
   IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers
   registry:

PCE Working Group              Expires Jan 2011                [Page 23]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

           Descriptor        OBJECT IDENTIFIER value
           ----------        -----------------------
           
           pceStdMIB              { mib-2 XXX }
   
   IANA is requested to root MIB objects in the MIB module contained in
   this document under the mib-2 subtree.

9. References

9.1 Normative References

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

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

   [RFC2579]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                J., Rose, M., and S. Waldbusser, "Textual Conventions
                for SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]    McCloghrie, K., Perkins, D., Schoenwaelder, J., Case,
                J., Rose, M., and S. Waldbusser, "Conformance Statements
                for SMIv2", STD 58, RFC 2580, April 1999.
  
   [RFC2863]    McCloghrie, K. and F. Kastenholz, "The Interfaces Group
                MIB", RFC 2863, June 2000.
                
   [RFC3411]    Harrington, D., Presuhn, R., and B. Wijnen, "An
                Architecture for Describing Simple Network Management
                Protocol (SNMP) Management Frameworks", STD 62, RFC 
                3411, December 2002.
 
   [RFC3813]    Srinivasan, C., Viswanathan, A., and T. Nadeau, "MPLS 
                Multiprotocol Label Switching (MPLS) Label Switch Router
                Management Information Base ", RFC 3813, June 2004

   [RFC4001]    Daniele, M., Haberman, B., Routhier, S., and J. 
                Schoenwaelder, "Textual Conventions for Internet Network
                Addresses", RFC 4001, February 2005.
   [RFC4265]    Schliesser, B. and T. Nadeau, "Definition of Textual 
                Conventions for Virtual Private Network (VPN) 
                Management", RFC 4265, November 2005.
                

PCE Working Group              Expires Jan 2011                [Page 24]
draft-ietf-pce-pcep-mib-02.txt                                 July 2010

   [RFC5440]    Ayyangar, A., Farrel, A., Oki, E., Atlas, A., Dolganow 
                A. Ikejiri, Y., Kumaki, K., Vasseur, J., and J. Roux, 
                "Path Computation Element (PCE) communication Protocol 
                (PCEP)," RFC5440, March. 2009.

9.2. Informative References

   [RFC3410]    Case, J., Mundy, R., Partain, D., and B. Stewart,
                "Introduction and Applicability Statements for
                Internet-Standard Management Framework", RFC 3410,
                December 2002.

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

10. Acknowledgement

   The authors would like to thank Santanu Mazumder and Meral 
   Shirazipour for their valuable input.
     
   Funding for the RFC Editor function is currently provided by the 
   Internet Society. 

11. Authors' Addresses

   A S Kiran Koushik
   Cisco Systems Inc.
   Email: kkoushik@cisco.com

   Stephan Emile
   France Telecom
   2 avenue Pierre Marzin
   Lannion,   F-22307
   Email: emile.stephan@orange-ftgroup.com

   Quintin Zhao
   Huawei Technology
   125 Nagog Technology Park
   Acton, MA  01719
   US
   Email: qzhao@huawei.com

   Daniel King
   Old Dog Consulting
   UK
   Email: daniel@olddog.co.uk

PCE Working Group              Expires Jan 2011                [Page 25]


draft-ietf-pce-pcep-mib-02.txt                                 July 2010