PCE Working Group D. Dhody
Internet-Draft U. Palle
Intended status: Standards Track Q. Zhao
Huawei Technology
D. King
Old Dog Consulting
Feburary 2014

Management Information Base (MIB) for the PCE Communications Protocol (PCEP) for Path-Key based Confidentiality in Inter-Domain Path Computation.
draft-dhody-pce-pcep-pathkey-mib-07

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for modeling of the Path Computation Element communication Protocol (PCEP) for communications between a Path Computation Client (PCC) and a Path Computation Element (PCE), or between two PCEs when path-key-based confidentiality in inter-domain path computation is requested.

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

Copyright Notice

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


Table of Contents

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 Computation Client (PCC) may make requests to a PCE for paths to be computed.

The PCE communication protocol (PCEP) is designed as a communication protocol between PCCs and PCEs for path computations and is defined in [RFC5440].

If confidentiality is required between domains, Path-Key-Based mechanism is described in [RFC5520]. For preserving the confidentiality of the "Confidential Path Segment (CPS)"; the PCE returns a path containing a loose hop in place of the segment that must be kept confidential.

[PCEP-MIB] defines a portion of the MIB for use with network management protocols in the Internet community that can be used to manage PCEP communications between a PCC and a PCE, or between two PCEs. This memo describes MIB for path-key-based confidentiality in inter-domain path computations.

1.1. 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 [RFC2119].

2. Terminology

This document uses the terminology defined in [RFC4655], [RFC5440] and [RFC5520]. The following terminology is used in this document.

Domain:
Any collection of network elements within a common sphere of address management or path computational responsibility. Examples of domains include Interior Gateway Protocol (IGP) areas and Autonomous Systems (ASs).
IGP:
Interior Gateway Protocol. Either of the two routing protocols, Open Shortest Path First (OSPF) or Intermediate System to Intermediate System (IS-IS).

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 [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] and STD 58, RFC 2580 [RFC2580].

4. PCEP Pathkey MIB Module Architecture

The PCEP Pathkey MIB will contain the following information:

The PCEP Pathkey MIB has no role when PCEP peer is PCC.

4.1. Relations to other MIB modules

The PCEP Pathkey MIB imports the following textual conventions from the MPLS-TC-STD-MIB defined in [RFC3811]:

The PCEP Pathkey MIB imports the following textual conventions from the INET-ADDRESS-MIB defined in [RFC4001]:

5. Example of the PCEP PathKey MIB module usage

In this section we provide an example to showcase the relationship between pcePcepPathKeyTable and pcePcepPathKeyHopTable described in Section 6. While this example is not meant to illustrate every permutation of the MIB, nor in its entirety, it is intended as an aid to understand some of the key concepts. It is meant to be read after going through the MIB itself.

   pcePcepPathKeyTable of the PCEP-PATHKEY-MIB module:
   {
               pcePcepPathKey                 (4512),
               pcePcepPathKeyCPSIndex         (1),
               pcePcepPathKeyReqSrcAddrType   ipv4 (1),
               pcePcepPathKeyReqSrcAddr       (1.1.1.1),
               pcePcepPathKeyRequestId        (10),
               pcePcepPathKeyRetrieved        (1),
               pcePcepPathKeyRtrAddrType      ipv4 (1),
               pcePcepPathKeyRtrAddr          (2.2.2.2),
               pcePcepPathKeyDiscardTime      (10),
               pcePcepPathKeyReuseTime        (30)
   }

   Entries of pcePcepPathKeyHopTable of the PCEP-PATHKEY-MIB module:
   {
               pcePcepPathKeyHopListIndex     1,
               pcePcepPathKeyHopIndex         1,
               pcePcepPathKeyHopAddrType      ipv4 (1),
               pcePcepPathKeyHopIpAddr        "192.168.100.1",
               pcePcepPathKeyHopIpPrefixLen   32,
               pcePcepPathKeyHopAddrUnnum     0,
   }
   {
               pcePcepPathKeyHopListIndex     1,
               pcePcepPathKeyHopIndex         2,
               pcePcepPathKeyHopAddrType      ipv4 (1),
               pcePcepPathKeyHopIpAddr        "192.168.100.2",
               pcePcepPathKeyHopIpPrefixLen   32,
               pcePcepPathKeyHopAddrUnnum     0
   }

The pcePcepPathKeyTable is the table for all the Path-Keys generated by PCE. To access the CPS hidden by path-key pcePcepPathKey (4512), index pcePcepPathKeyCPSIndex (1) is used in pcePcepPathKeyHopTable to find the hop list (pcePcepPathKeyHopListIndex). To access each hop of the path another index pcePcepPathKeyHopIndex is used along with pcePcepPathKeyHopListIndex.

6. Object definitions

6.1. PCEP-PATHKEY-MIB

PCEP-PATHKEY-MIB DEFINITIONS ::= BEGIN

  IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       mib-2,
       NOTIFICATION-TYPE,
       Unsigned32,
       Counter32
              FROM SNMPv2-SMI             -- RFC 2578
       TruthValue,
       TimeStamp
              FROM SNMPv2-TC              -- RFC 2579
       MODULE-COMPLIANCE,
       OBJECT-GROUP,
       NOTIFICATION-GROUP
              FROM SNMPv2-CONF            -- RFC 2580
       MplsPathIndex, 
       TeHopAddressType,
       TeHopAddress, 
       TeHopAddressUnnum
             FROM MPLS-TC-STD-MIB         -- RFC 3811
       InetAddressType,
       InetAddress
              FROM INET-ADDRESS-MIB       -- RFC 4001

pcePcepPathkeyMIB  MODULE-IDENTITY
          LAST-UPDATED 
                "201402061200Z" -- Feburary 06, 2014
          ORGANIZATION 
                "IETF Path Computation Element (PCE) Working Group"
          CONTACT-INFO            
                "Email: pce@ietf.org
                 WG charter
                 http://www.ietf.org/html.charters/pce-charter.html"
          

DESCRIPTION

"This MIB module defines a collection of objects for managing PCE communication protocol(PCEP) for Path-Key-Based Inter-Domain Path Computation"

Copyright (C) The IETF Trust (2014). This version of this MIB module is part of RFC YYYY; see the RFC itself for full legal notices.

    -- RFC Ed,: replace YYYY with actual RFC number & remove this note        
    -- Revision history
         REVISION
                 "201402061200Z"  -- 06 Feburary 2014 12:00:00 EST
                 DESCRIPTION
                 "
                 Main Changes from -06 draft :
                 1. Align to changes in base PCEP MIB."   
         REVISION
                 "201401031200Z"  -- 03 January 2014 12:00:00 EST
                 DESCRIPTION
                 "
                 Main Changes from -05 draft :
                 1. Editorial Changes."
         REVISION
                 "201307031200Z"  -- 03 July 2013 12:00:00 EST
                 DESCRIPTION
                 "
                 Main Changes from -04 draft :
                 1. Aligment with the updates in PCEP-MIB draft
                 2. Editorial Changes."         
         REVISION
                 "201208171200Z"  -- 17 Aug 2012 12:00:00 EST
                 DESCRIPTION
                 "
                 Main Changes from -03 draft :
                 1. Adding of DEFVAL for some objects.
                 2. Editorial Changes."
         REVISION
                 "201202221200Z"  -- 22 Feb 2012 12:00:00 EST
                 DESCRIPTION
                 "
                 Main Changes from -02 draft :
                 1. Editorial Changes.
                 2. Updated Contact Information."                          
         REVISION
              "201109051200Z"  -- 05 Sept 2011 12:00:00 EST
              DESCRIPTION
              "
              Main Changes from -01 draft :
              1. Added pcePcepPathKeyCPSIndex.
              2. Added pcePcepPathKeyHopListIndex.
              3. Removed pcePcepPathKeyHopNum. 
              4. Updated Contact Information."
         REVISION
              "201103081200Z"  -- 08 Mar 2011 12:00:00 EST
              DESCRIPTION
              "
              Main Changes from -00 draft :
              1. Added HopTable to store the CPS hops.
              2. Added Path Key Creation Time."
         REVISION
              "201009171200Z"  -- 17 Sep 2010 12:00:00 EST
          DESCRIPTION
              "Initial version, published as RFC YYYY."
   -- RFC Ed.: replace YYYY with actual RFC number & remove this note
       ::= { mib-2 XXX }
   -- RFC Ed.: replace XXX with IANA-assigned number & remove this note
         

  pcePcepPathKeyNotifications OBJECT IDENTIFIER ::= 
                                       { pcePcepPathkeyMIB 0 }
  pcePcepPathKeysObjects      OBJECT IDENTIFIER ::= 
                                       { pcePcepPathkeyMIB 1 }
  pcePcepPathKeyConformance   OBJECT IDENTIFIER ::= 
                                       { pcePcepPathkeyMIB 2 }
  pcePcepPathKeyObjects       OBJECT IDENTIFIER ::= 
                                       { pcePcepPathKeysObjects 1 }

--

-- PCE Pathkey Objects

--

pcePcepPathKeyDiscardTimer OBJECT-TYPE
            SYNTAX  Unsigned32
            UNITS   "minutes"
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
               "The value which indicates a period of time after the 
                expiration of which a PCE can discard unwanted 
                path-keys and CPS."
            DEFVAL {10}
            ::= {  pcePcepPathKeyObjects 1 }

pcePcepPathKeyReUseTimer OBJECT-TYPE
            SYNTAX  Unsigned32
            UNITS   "minutes"
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The value which indicates a period of time which 
                 should expire before an old path-key could be 
                 reused for a new CPS."
            DEFVAL {30}     
            ::= {  pcePcepPathKeyObjects 2 }

pcePcepPathKeyRetainStatus OBJECT-TYPE
            SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                     }
            MAX-ACCESS  read-only
            STATUS      optional
            DESCRIPTION
                "The path-key retain status of this PCE to retain the 
                 path-key and CPS after retrieval."
            DEFVAL {disabled(2)}    
            ::= {  pcePcepPathKeyObjects 3 }

pcePcepPathKeysGenerated OBJECT-TYPE
            SYNTAX  Counter32
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                "The number of path-keys generated by this PCE."
            ::= {  pcePcepPathKeyObjects 4 }

pcePcepPathKeyExpandUn OBJECT-TYPE
             SYNTAX  Counter32
             MAX-ACCESS read-only
             STATUS mandatory
             DESCRIPTION
                 "The number of attempts to expand an unknown 
                  path-key."
             ::= {  pcePcepPathKeyObjects 5 }

pcePcepPathKeyExpandExp OBJECT-TYPE
             SYNTAX  Counter32
             MAX-ACCESS read-only
             STATUS mandatory
             DESCRIPTION
                 "The number of attempts to expand an expired 
                  path-key."
             ::= {  pcePcepPathKeyObjects 6 }

pcePcepPathKeyExpandSame OBJECT-TYPE
            SYNTAX  Counter32
            MAX-ACCESS read-only
            STATUS optional
            DESCRIPTION
                 "The number of attempts to expand the same 
                  path-key."
            ::= {  pcePcepPathKeyObjects 7 }

pcePcepPathKeyExpNoExpansion OBJECT-TYPE
            SYNTAX  Counter32
            MAX-ACCESS read-only
            STATUS optional
            DESCRIPTION
                 "The number of path-keys expired without any attempt
                  to expand it."
            ::= {  pcePcepPathKeyObjects 8 }

pcePcepPathKeyExpansionSuccess OBJECT-TYPE
             SYNTAX  Counter32
             MAX-ACCESS read-only
             STATUS optional
             DESCRIPTION
                 "The number of path-key expansion requests (PCReq) 
                  which had successful retrieval."
             ::= {  pcePcepPathKeyObjects 9 }

pcePcepPathKeyExpansionFailures OBJECT-TYPE
             SYNTAX  Counter32
             MAX-ACCESS read-only
             STATUS optional
             DESCRIPTION
                 "The number of path-key expansion requests (PCReq) 
                  which had failed retrieval."
             ::= {  pcePcepPathKeyObjects 10 }

pcePcepPathKeyConfig OBJECT-TYPE
             SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                     }
             MAX-ACCESS  read-only
             STATUS      mandatory
             DESCRIPTION
                 "Path-key based confidentiality is enabled."
             DEFVAL {disabled(2)}     
             ::= {  pcePcepPathKeyObjects 11 }

pcePcepPathKeyTable  OBJECT-TYPE
            SYNTAX      SEQUENCE OF pcePcepPathKeyEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "This table contains information about the
                  Pathkey CPS of PCE. Applicable only when 
                  pcePcepPathKeyConfig is enabled(1)."
             ::= { pcePcepPathKeyObjects 12 }

pcePcepPathKeyEntry OBJECT-TYPE
            SYNTAX      pcePcepPathKeyEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "An entry in this table represents a path-key and 
                  CPS. An entry is only created when a path-key is 
                  generated by PCE during inter-domain path 
                  computation."

            INDEX       { pcePcepPathKey }

             ::= { pcePcepPathKeyTable 1 }

pcePcepPathKeyEntry ::= SEQUENCE {
            pcePcepPathKey                 Unsigned32,
            pcePcepPathKeyCPSIndex         MplsPathIndex,
            pcePcepPathKeyReqSrcAddrType   InetAddressType,
            pcePcepPathKeyReqSrcAddr       InetAddress,
            pcePcepPathKeyRequestId        Unsigned32,
            pcePcepPathKeyRetrieved        INTEGER,
            pcePcepPathKeyRtrAddrType      InetAddressType,
            pcePcepPathKeyRtrAddr          InetAddress,
            pcePcepPathKeyCreationTime     TimeStamp,
            pcePcepPathKeyDiscardTime      Unsigned32,
            pcePcepPathKeyReuseTime        Unsigned32,
}

pcePcepPathKey OBJECT-TYPE
            SYNTAX  Unsigned32 (1..65535)
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The path-key value to identify a CPS."
            ::= {  pcePcepPathKeyEntry 1 }   

pcePcepPathKeyCPSIndex    OBJECT-TYPE
            SYNTAX  MplsPathIndex
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The HopList index of the CPS. This index
                  is used to expand Hops in 
                  pcePcepPathKeyHopTable."
            ::= {  pcePcepPathKeyEntry 2 }

pcePcepPathKeyReqSrcAddrType OBJECT-TYPE
            SYNTAX  InetAddressType
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The type of the PCEP peer Internet address.
                  This object specifies how the value of the 
                  pcePcepPathKeyReqSrcAddr object should be 
                  interpreted."
            ::= {  pcePcepPathKeyEntry 3 }

pcePcepPathKeyReqSrcAddr OBJECT-TYPE
            SYNTAX  InetAddress
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The Internet address of the PCEP peer that 
                  issued the original request that led to the
                  creation of the path-key. 
                  The type is given by 
                  pcePcepPathKeyReqSrcAddrType "
            ::= {  pcePcepPathKeyEntry 4 }

pcePcepPathKeyRequestId OBJECT-TYPE
            SYNTAX  Unsigned32
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The request ID of the original PCReq that led
                  to the creation of the path-key."
            ::= {  pcePcepPathKeyEntry 5 }  

pcePcepPathKeyRetrieved OBJECT-TYPE
            SYNTAX      INTEGER {
                       TRUE(1),
                       FALSE(2)
                     }
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "It specifies whether the path-key is retrieved 
                  or not."
            ::= {  pcePcepPathKeyEntry 6 }  

pcePcepPathKeyRtrAddrType OBJECT-TYPE
            SYNTAX  InetAddressType
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The type of the PCEP peer Internet address.
                  This object specifies how the value of the 
                  pcePcepPathKeyRtrAddr object should be 
                  interpreted. Applicable only when 
                  pcePcepPathKeyRetrieved is TRUE(1)."
            ::= {  pcePcepPathKeyEntry 7 }

pcePcepPathKeyRtrAddr OBJECT-TYPE
            SYNTAX  InetAddress
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The Internet address of the PCEP peer that 
                  issued the path-key expansion or retrieval. 
                  Applicable only when pcePcepPathKeyRetrieved
                  is TRUE(1). The type is given by 
                  pcePcepPathKeyRtrAddrType."
            ::= {  pcePcepPathKeyEntry 8 }

pcePcepPathKeyCreationTime OBJECT-TYPE
            SYNTAX  TimeStamp
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The value of sysUpTime at which Path Key 
                  was generated by PCE."
            ::= {  pcePcepPathKeyEntry 9 }

pcePcepPathKeyDiscardTime OBJECT-TYPE
            SYNTAX  Unsigned32
            UNIT "seconds"
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The time after which the path segment associated 
                  with the path-key will be discarded."
            ::= {  pcePcepPathKeyEntry 10 }   

pcePcepPathKeyReuseTime OBJECT-TYPE
            SYNTAX  Unsigned32
            UNIT "seconds"
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The time after which the path-key will be available 
                  for re-use."
            ::= {  pcePcepPathKeyEntry 11 }

pcePcepPathKeyHopTable  OBJECT-TYPE
            SYNTAX      SEQUENCE OF pcePcepPathKeyHopEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "This table contains information about the
                  Pathkey Hop in the CPS of PCE."
            ::= { pcePcepPathKeyObjects 12 }          

pcePcepPathKeyHopEntry OBJECT-TYPE
            SYNTAX      pcePcepPathKeyHopEntry
            MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
                 "An entry in this table represents a Hop in the CPS.
                  An entry is only created when a path-key generated
                  by PCE during inter-domain computation."
            INDEX       { pcePcepPathKeyHopListIndex,
                          pcePcepPathKeyHopIndex }

            ::= { pcePcepPathKeyHopTable 1 }

pcePcepPathKeyHopEntry ::= SEQUENCE {
            pcePcepPathKeyHopListIndex     MplsPathIndex,
            pcePcepPathKeyHopIndex         MplsPathIndex,
            pcePcepPathKeyHopAddrType      TeHopAddressType,
            pcePcepPathKeyHopIpAddr        TeHopAddress,
            pcePcepPathKeyHopIpPrefixLen   InetAddressPrefixLength,
            pcePcepPathKeyHopAddrUnnum     TeHopAddressUnnum,
            }                

pcePcepPathKeyHopListIndex OBJECT-TYPE
            SYNTAX  MplsPathIndex
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The primary index into this table identifying a 
                  particular CPS. All hops in the CPS will have the
                  same ListIndex. This corresponds to 
                  pcePcepPathKeyCPSIndex in pcePcepPathKeyEntry."

            ::= {  pcePcepPathKeyHopEntry 1 }

pcePcepPathKeyHopIndex OBJECT-TYPE
            SYNTAX  MplsPathIndex
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION
                 "The secondry index into this table identifying a 
                  particular Hop in the CPS."

            ::= {  pcePcepPathKeyHopEntry 2 }

pcePcepPathKeyHopAddrType OBJECT-TYPE
            SYNTAX TeHopAddressType
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION 
                 "The Hop Address Type of this CPS hop. Only
                  ipv4(1), ipv6(2) and unnum(4) are allowed."
            DEFVAL { ipv4 }
            ::= { pcePcepPathKeyHopEntry 3 }

pcePcepPathKeyHopIpAddr OBJECT-TYPE
            SYNTAX TeHopAddress
            MAX-ACCESS read-only
            STATUS mandatory
            DESCRIPTION 
                 "The Hop Address for this CPS hop.
                  The type of this address is determined by the
                  value of the corresponding 
                  pcePcepPathKeyHopAddrType."
            DEFVAL { '00000000'h } -- IPv4 address 0.0.0.0
            ::= { pcePcepPathKeyHopEntry 4 }        

pcePcepPathKeyHopIpPrefixLen OBJECT-TYPE
            SYNTAX InetAddressPrefixLength
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION 
                 "pcePcepPathKeyHopAddrType if set to ipv4(1) or
                  ipv6(2), then this value will contain an
                  appropriate prefix length for the IP address in
                  object pcePcepPathKeyHopIpAddr. Otherwise this 
                  value is irrelevant and should be ignored."
            DEFVAL { 32 }
            ::= { pcePcepPathKeyHopEntry 5 }

pcePcepPathKeyHopAddrUnnum OBJECT-TYPE
            SYNTAX TeHopAddressUnnum
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "If pcePcepPathKeyHopAddrType is set to unnum(4), 
                  then this value will contain the interface 
                  identifier of the unnumbered interface for this
                  hop. This object should be used in conjunction 
                  with pcePcepPathKeyHopIpAddr which would contain
                  the LSR Router ID in this case."
            ::= { pcePcepPathKeyHopEntry 6 }

---

--- Notifications

---

pcePcepPathKeyExpandUnNtf NOTIFICATION-TYPE
            OBJECTS     {
                         pcePcepPathKeyExpandUn
                        }
            STATUS      mandatory
            DESCRIPTION
                 "This notification is sent when an attempt to expand 
                  an unknown path-key is made. The value of the 
                  counter pcePcepPathKeyExpandUn is also increased at 
                  this time."
            ::= { pcePcepPathKeyNotifications 1 }

pcePcepPathKeyExpandExpNtf NOTIFICATION-TYPE
            OBJECTS     {
                         pcePcepPathKeyExpandExp
                        }
            STATUS      mandatory
            DESCRIPTION
                 "This notification is sent when an attempt to expand
                  an expired path-key is made. The value of the
                  counter pcePcepPathKeyExpandExp is also increased
                  at this time."
            ::= { pcePcepPathKeyNotifications 2 }

pcePcepPathKeyExpandSameNtf NOTIFICATION-TYPE
            OBJECTS     {
                         pcePcepPathKeyExpandSame
                        }
            STATUS      optional
            DESCRIPTION
                 "This notification is sent when a duplicate attempt
                  to expand the same path-key is made. The value of
                  the counter pcePcepPathKeyExpandSame is also
                  increased at this time."
            ::= { pcePcepPathKeyNotifications 3 }

pcePcepPathKeyExpNoExpansionNtf NOTIFICATION-TYPE
            OBJECTS     {
                         pcePcepPathKeyExpNoExpansion
                        }
            STATUS      optional
            DESCRIPTION
                 "This notification is sent when path-key expires
                  without any attempt to expand it. The value of 
                  the counter pcePcepPathKeyExpNoExpansion is also
                  increased at this time."
            ::= { pcePcepPathKeyNotifications 4 }

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

  pcePcepPathKeyGroups
        OBJECT IDENTIFIER ::= { pcePcepPathKeyConformance 1 }

  pcePcepPathKeyCompliances
        OBJECT IDENTIFIER ::= { pcePcepPathKeyConformance 2 }

--
  -- Read-Only Compliance
  --

pcePcepPathKeyModuleReadOnlyCompliance 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
                    { pcePcepPathKeyGeneralGroup,
                      pcePcepPathKeyNotificationsGroup
                    }
            ::= { pcePcepPathKeyCompliances 1 }

-- units of conformance

pcePcepPathKeyGeneralGroup OBJECT-GROUP
            OBJECTS {
                 pcePcepPathKeyDiscardTimer,
                 pcePcepPathKeyReUseTimer,
                 pcePcepPathKeysGenerated,
                 pcePcepPathKeyExpandUn,
                 pcePcepPathKeyExpandExp,
                 pcePcepPathKeyConfig,
                 pcePcepPathKey,
                 pcePcepPathKeyCPSIndex,
                 pcePcepPathKeyReqSrcAddrType,
                 pcePcepPathKeyReqSrcAddr,
                 pcePcepPathKeyRequestId,
                 pcePcepPathKeyRetrieved,
                 pcePcepPathKeyRtrAddrType,
                 pcePcepPathKeyRtrAddr,
                 pcePcepPathKeyCreationTime,
                 pcePcepPathKeyDiscardTime,
                 pcePcepPathKeyReuseTime,
                 pcePcepPathKeyHopListIndex,
                 pcePcepPathKeyHopIndex,
                 pcePcepPathKeyHopAddrType,
                 pcePcepPathKeyHopIpAddr,
                 pcePcepPathKeyHopIpPrefixLen,
                 pcePcepPathKeyHopAddrUnnum,
                 }
            STATUS    current
            DESCRIPTION
                 "Objects that apply to all PCEP Pathkey MIB
                  implementations."

            ::= { pcePcepPathKeyGroups 1 }

pcePcepPathKeyNotificationsGroup NOTIFICATION-GROUP
            NOTIFICATIONS { pcePcepPathKeyExpandUnNtf,
                            pcePcepPathKeyExpandExpNtf
                          }
            STATUS   current
            DESCRIPTION
                 "The notifications for a PCEP Pathkey MIB 
                  implementation."
            ::= { pcePcepPathKeyGroups 2 }
         
            END

7. IANA Considerations

The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry:


     Descriptor        OBJECT IDENTIFIER value
     ----------        -----------------------
     pcePcepPathkeyMIB         { mib-2 XXX }
      	

Editor's Note (to be removed prior to publication): the IANA is requested to assign a value for "XXX" under the 'mib-2' subtree and to record the assignment in the SMI Numbers registry. When the assignment has been made, the RFC Editor is asked to replace "XXX" (here and in the MIB module) with the assigned value and to remove this note.

8. Security Considerations

[PCEP-MIB] describes the security consideration related to the PCE MIB module, which are applicable to PCE Path-Key MIB defined in this document. Further [RFC5520] describes various security consideration when dealing with Path-Key. Since this MIB contains confidential path segment, care should be taken to maintain the confidentiality during SNMP MIB operations.

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. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "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.
[RFC3811] Nadeau, T. and J. Cucchiara, "Definitions of Textual Conventions (TCs) for Multiprotocol Label Switching (MPLS) Management", RFC 3811, June 2004.
[RFC3813] Srinivasan, C., Viswanathan, A. and T. Nadeau, "Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB)", RFC 3813, June 2004.
[RFC4001] Daniele, M., Haberman, B., Routhier, S. and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.
[RFC5440] Vasseur, JP. and JL. Le Roux, "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, 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.-P. and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, August 2006.
[RFC5520] Bradford, R., Vasseur, JP. and A. Farrel, "Preserving Topology Confidentiality in Inter-Domain Path Computation Using a Path-Key-Based Mechanism", RFC 5520, April 2009.
[PCEP-MIB] Kiran Koushik, A. S., Emile, S., Zhao, Q., King, D. and J. Hardwick, "PCE communication protocol(PCEP) Management Information Base (draft-ietf-pce-pcep-mib-04)", July 2013.

Authors' Addresses

Dhruv Dhody Huawei Technology Leela Palace Bangalore, Karnataka 560008 INDIA EMail: dhruv.ietf@gmail.com
Udayasree Palle Huawei Technology Leela Palace Bangalore, Karnataka 560008 INDIA EMail: udayasree.palle@huawei.com
Quintin Zhao Huawei Technology 125 Nagog Technology Park Acton, MA 01719 US EMail: quintin.zhao@huawei.com
Daniel King Old Dog Consulting UK EMail: daniel@olddog.co.uk