-- *****************************************************************
-- CISCO-PFR-MIB.my
--   
-- Copyright (c) 2011-2012 by Cisco Systems Inc.
-- All rights reserved.
--   
-- *********************************************************\\********

CISCO-PFR-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Unsigned32,
    Gauge32,
    TimeTicks,
    NOTIFICATION-TYPE,
    Integer32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    StorageType,
    RowStatus,
    TEXTUAL-CONVENTION,
    TimeStamp,
    DateAndTime,
    TruthValue,
    TimeInterval
        FROM SNMPv2-TC
    InetAddressType,
    InetAddress,
    InetPortNumber
        FROM INET-ADDRESS-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    DscpOrAny
        FROM DIFFSERV-DSCP-TC
    CounterBasedGauge64
        FROM HCNUM-TC
    CiscoPort,
    InterfaceIndexOrZero
        FROM CISCO-TC
    CiscoPdProtocolIndex
        FROM CISCO-NBAR-PROTOCOL-DISCOVERY-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoPfrMIB MODULE-IDENTITY
    LAST-UPDATED    "201211130000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cs-pfr@cisco.com"
    DESCRIPTION
        "This MIB module defines objects that describe Performance
        Routing (PfR).  Standard routing protocols base routing
        decisions on reachability and the number of hops between the
        source and destination networks.  PfR collects and analyzes
        other performance data, such as delay, loss, jitter, MOS, and
        link utilization, which allows it to make routing decisions
        based on policies defined by the network administrator.

        Glossary
        ========

        PfR               Performance Routing.
        MC                PfR Master Controller.
        BR                PfR Border Router.
        DRIP              Dynamic Router Interaction Protocol.
        TC                PfR Traffic Class.
        IPSLA             IP Service Level Agreement (active probing).
        Exit              PfR external interface.
        Link Group        PfR logical grouping of exits to narrow down
                          potential exits for a TC to use.
        Cost Minimization PfR feature that assigns costs to exits and
                          minimizes the overall monetary cost for a TC
        Rollup            Data collection for monetary cost calculation
                          for all available exits.
        DSCP              Diff-Serv Control Point.
        PfR Policy        Global PfR policy defined under PfR master.
                          TC policy defined under PfR map.
        PfR Map           Container for a PfR policy.
        MOS               Mean opinion score
        PBR               Policy based routing. PBR uses route map to
                          enforce the routing decision made by PfR.    



        PfR Elements
        ============

        A PfR system consists of a Master Controller (MC) and one or
        more Border Routers (BRs).  The MC is a hardware or software
        entity that is not in the data path.  A BR is a software entity
        in the data path, typically running on an edge router. 

        The MC and BRs communicate with each other over a socket
        interface using the Dynamic Router Interaction Protocol (DRIP).
        The MC sends commands to the BRs related to PfR Policies and
        the monitoring of PfR traffic classes (TCs).  The BRs send
        performance data gathered using either 'passive data' provided
        by NetFlow, 'active data' provided by sending artificial probes
        that are created using IPSLA APIs, or both, depending on the
        PfR policies configured on the MC.

        This MIB module describes a MC object as a single row in the
        cpfrMCTable and the BR object as a single row in the
        cpfrBRTable.

        PfR Exits
        =========

        A PfR system must have at least two interfaces (i.e., exits)
        configured as 'external interfaces' over which a TC's
        destination network is reachable in order for PfR to function.
        These two exits can be on the same BR or on different BRs.


                +------+      +------+      |----> Exit 1
                |  MC  | ---- |  BR  | ---- |
                +------+      +------+      |----> Exit 2

                                   **** OR ****

                                     +------+
                              | ---- |  BR  | ----> Exit 1
                +------+      |      +------+
                |  MC  | ---- |
                +------+      |      +------+
                              | ---- |  BR  | ----> Exit 2
                                     +------+


        PfR can assign these exits to different PfR Link Groups.  A PfR
        exit can be in at most three Link Groups at one time. (See 'PfR
        Policies' below).

        This MIB module describes a PfR exit as a single row in the
        cpfrExitTable and a cost minimization policy of an exit as a
        single row of the cpfrExitCostTierTable.

        PfR Traffic Classes
        ===================

        A traffic class is a generic term for a set of traffic flows
        coming into or going out of a network that have a common
        characteristic, such as destination address, source address,
        application, or DSCP value.

        The simplest form of a TC is 'all traffic going to the same
        destination prefix'.  Additional parameters defines more
        specific TCs.

        PfR monitors the TCs that are specified either by enabling PfR
        learn mode or by direct configuration in a PfR map.  PfR
        can learn TCs with the highest throughput, with the highest
        delay, with a destination address inside the PfR network, or
        TCs
        that matches a configured PfR Learn List.  The BRs use iBGP to
        obtain information about 'inside TCs'.  A PfR map specifies TCs
        to which the policy applies by configuring match clause.

        This MIB module describes a PfR TC as a single row in the
        cpfrTrafficClassTable and current status of a TC as a single
        row of the cpfrTrafficClassStatusTable, and performance metrics
        gathered for a specific TC as a single row of the
        cpfrTrafficClassMetricsTable.

        PfR Policies
        ============

        A PfR policy describes the performance metrics the router is to
        gather, how to gather these metrics, how frequently it should
        gather these metrics, and how these metrics influence routing
        decisions.  Once enabled, PfR provides a global default PfR
        policy.  

        A PfR policy can be configured to use one link group as a
        'primary' and one as a 'fallback' link group.  If PfR
        determines that a TC has gone 'Out of Policy' based on the
        current PfR policy, it attempts to move the TC to an exit in
        the same primary link group, and only moves it to an exit in
        the fallback link group, if configured, if no exit in the
        primary link group is 'In Policy'.

        This MIB module describes a PfR map policy in a single row of
        the cpfrMapTable and a match clause configured for a specific
        PfR map as a single row of the cpfrMatchTable."
    REVISION        "201211130000Z"
    DESCRIPTION
        "Add the following mib groups:
        cpfrMasterControllerGroupRev1,
        cpfrBorderRouterGroupRev1
        cpfrMCNotificationGroup; 
        Add ciscoPfrMIBComplianceRev1;
        Modify cpfrTCSLastOOPReason object to add 
        rsvpOOPRecomputeExclude enum value; 
        Modify cpfrBRConnFailureReason object to add 
        authFailure(3), socketError(4), timerExpired(5) enum values; 
        Modify cpfrTCSLastOOPReason object to add 
        rsvpOOPRecomputeExclude;"
    REVISION        "201104040000Z"
    DESCRIPTION
        "The first version of PfR MIB module."
    ::= { ciscoMgmt 772 }



PfrMetricPolicyType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "'relative'
        Relative percentage is used. 

        'threshold'
        Maximum threshold is used."
    SYNTAX          INTEGER  {
                        relative(1),
                        threshold(2)
                    }

PfrLastUncontrolReason ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention denotes all types of uncontrol reasons
        that causes PfR to uncontrol a TC.

        'none'
           TC is uncontrolled due to unknown reasons.

        'activatingUnsedFcdTgt'
           TC is uncontrolled due to activating an unused forced
        target.

        'ifaceDown'
           TC is uncontrolled due to an interface down.

        'newProbeTargetAssigned'        
           TC is uncontrolled due to newly assigned probe targets.

        'newTargetAssigned'
           TC is uncontrolled due to newly assigned targets.

        'borderDown'
           TC is uncontrolled due to BR down.

        'uncontrolNonOptimizedPfx'
           TC is uncontrolled due to uncontrolled non optimized
        prefixes.

        'recontrolNull0Pfx'
           TC is uncontrolled due to recontrolling a null0 prefix.

        'recontrolSinkHolePfx'
           TC is uncontrolled due to recontrolling a sink hole prefix.

        'modeRouteChange'
           TC is uncontrolled due to route mode change.

        'pfxEnabled'
           TC is uncontrolled due to prefix enabled.

        'uncontrolModeMonitorChange'
           TC is uncontrolled due to monitor mode change.

        'insideEnabled'
           TC is uncontrolled due to inside prefix learn enabled.

        'forcedNextHop'
           TC is uncontrolled due to forced next hop configured.

        'forwardToNull0'
           TC is uncontrolled since TCs are forwarded to null0
        interfaces.

        'clearOnePfx'
           TC is uncontrolled due to clearing one prefix.

        'clearOneTc'
           TC is uncontrolled due to clearing one TC.

        'grantUpdated'
           TC is uncontrolled due to granted update.

        'tcInFastMode'
           TC is uncontrolled due to TC in fast mode.

        'pbrBRTopologyChange'
           TC is uncontrolled due to BR topology change when PBR is
        met.

        'pfrReqNotMet'
           TC is uncontrolled since PfR requests are not met.

        'probeFrequencyChange'
           TC is uncontrolled due to probe frequency change.

        'fcdTgtAssRemMod'
            TC is uncontrolled due to assigned force target removed.

        'policyChangedAddedNewFcdProbeTgt'
            TC is uncontrolled due to newly added forced probe target.

        'usingFcdTgtNow'
            TC is uncontrolled due to starting using forced target.

        'firstTargetWithDscpAdded'
            TC is uncontrolled due to newly added target with DSCP.

        'lastTargetWithDscpRemoved'
            TC is uncontrolled due to last target with DSCP removed.

        'couldntMonitor'
            TC is uncontrolled since PfR could not monitor it.

        'couldntControl'
            TC is uncontrolled since PfR could not control it.

        'applControlOnBrFailed'
            TC is uncontrolled since PfR could not control an 
            application.

        'allProtoCouldNtControl'
            TC is uncontrolled since control attempts by all protocols
        fail.

        'excludePfxFailed'
            TC is uncontrolled due to failing excluding a prefix.

        'ipflowRestFailed'
            TC is uncontrolled due to ip flow reset failure.

        'couldntExclude'
            TC is uncontrolled due to failing excluding prefixes.

         'dontDowngradeAllEntrances'
            TC is uncontrolled due to no downgrade all entrance.

        'maxDownGrade'
            TC is uncontrolled due to maximizing downgrade.

        'cantSelectEntrances'
            TC is uncontrolled since PfR cannot select entrances.

        'unhandledOopReasonInChooseExit'
            TC is uncontrolled due to unhandled out of policy reason
        when choosing exit.

        'oopModeSelectExitGood'
            TC is uncontrolled due to out of policy when selecting good
        exit.

        'couldntFindBestExitInAllLinkGrps'
           TC is uncontrolled since PfR could not find best exit in all
        linkgroups.

        'couldntFindBestExit'
           TC is uncontrolled since PfR could not find best exit.

        'failedToControlRoute'
           TC is uncontrolled due to route control failure.

        'endOfProbing'
           TC is uncontrolled due to the end of active probing.

        'retryForcedNextHop'
           TC is uncontrolled due to retrying forced next hop.

        'noStatusInPfxTimeout'
           TC is uncontrolled due to missing status before the time is
        out for controlling a prefix.

        'couldntChooseExitInPfxTimeout'
           TC is uncontrolled since PfR could not choose exit before
        the
        time is out for controlling a prefix.

        'unableToSendControlMsg'
           TC is uncontrolled since control messages could not be sent
        out.

        'nbarIdStateUpdated'
           TC is uncontrolled due to nbar state update failure.

        'exitMisMatch'
           TC is uncontrolled due to exit mismatch.

        'unknownExit'
           TC is uncontrolled due to unknown exits.

        'newExitWhileInpolicy'
           TC is uncontrolled due to new exit appearance.

        'couldntControlPasPfxInSpecMode'
           TC is uncontrolled since PfR could not control passive
        prefixes in specific mode.

        'remoteStatsNotFound'
           TC is uncontrolled due to unclear remote statistic data.

        'nbarInternalIfAddedRemoved'
           TC is uncontrolled since NBAR internal interface is added or
        removed.

        'noPassiveData'
           TC is uncontrolled due to lack of passive data.

        'probeNumPktsChanged'
           TC is uncontrolled due to the number of probing packets
        changed."
    SYNTAX          INTEGER  {
                        none(1),
                        activatingUnsedFcdTgt(2),
                        ifaceDown(3),
                        newProbeTargetAssigned(4),
                        newTargetAssigned(5),
                        borderDown(6),
                        uncontrolNonOptimizedPfx(7),
                        recontrolNull0Pfx(8),
                        recontrolSinkHolePfx(9),
                        modeRouteChange(10),
                        pfxEnabled(11),
                        uncontrolModeMonitorChange(12),
                        insideEnabled(13),
                        forcedNextHop(14),
                        forwardToNull0(15),
                        clearOnePfx(16),
                        clearOneTc(17),
                        grantUpdated(18),
                        tcInFastMode(19),
                        pbrBRTopologyChange(20),
                        pfrReqNotMet(21),
                        probeFrequencyChange(22),
                        fcdTgtAssRemMod(23),
                        policyChangedAddedNewFcdProbeTgt(24),
                        usingFcdTgtNow(25),
                        firstTargetWithDscpAdded(26),
                        usingLmNow(27),
                        lastTargetWithDscpRemoved(28),
                        couldntMonitor(29),
                        couldntControl(30),
                        applControlOnBrFailed(31),
                        allProtoCouldNtControl(32),
                        excludePfxFailed(33),
                        ipflowRestFailed(34),
                        couldntExclude(35),
                        dontDowngradeAllEntrances(36),
                        maxDownGrade(37),
                        cantSelectEntrances(38),
                        unhandledOopReasonInChooseExit(39),
                        oopModeSelectExitGood(40),
                        couldntFindBestExitInAllLinkGrps(41),
                        couldntFindBestExit(42),
                        failedToControlRoute(43),
                        endOfProbing(44),
                        retryForcedNextHop(45),
                        noStatusInPfxTimeout(46),
                        couldntChooseExitInPfxTimeout(47),
                        inconsistentView(48),
                        unableToSendControlMsg(49),
                        nbarIdStateUpdated(50),
                        controledExitIsNotCurrent(51),
                        exitMisMatch(52),
                        newExitWhileInpolicy(53),
                        unknownExit(54),
                        controlledExitIsNotCurrForUpd(55),
                        couldntControlPasPfxInSpecMode(56),
                        remoteStatsNotFound(57),
                        nbarInternalIfAddedRemoved(58),
                        noPassiveData(59),
                        probeNumPktsChanged(60),
                        last(61)
                    }

PfRMasterControllerIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies a MC instance."
    SYNTAX          Unsigned32 (1..4294967295)

PfrBorderRouterIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies a BR instance."
    SYNTAX          Unsigned32 (1..4294967295)

PfrExitIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies an Exit instance."
    SYNTAX          Unsigned32 (1..4294967295)

PfrMapIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies a PfR map instance."
    SYNTAX          Unsigned32 (1..4294967295)

PfrMapPolicyIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies a PfR policy instance of a PfR map."
    SYNTAX          Unsigned32 (1..4294967295)

PfrMapIndexOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention is an extension of the PfrMapIndex
        convention.  This extension permits the additional value of
        zero.  The value zero is object-specific and must therefore be
        defined as part of the description of any object which uses
        this
        syntax."
    SYNTAX          Unsigned32 (0..4294967295)

PfrLearnListIndex ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention denotes an arbitrary integer-value that
        uniquely identifies a learn list instance."
    SYNTAX          Unsigned32 (1..4294967295)

PfrLearnListIndexOrZero ::= TEXTUAL-CONVENTION
    DISPLAY-HINT    "d"
    STATUS          current
    DESCRIPTION
        "This textual convention is an extension of the
        PfrLearnListIndex convention.  This extension permits the
        additional value of zero.  The value zero is object-specific and
        must therefore be defined as part of the description of any
        object which uses this syntax."
    SYNTAX          Unsigned32 (0..4294967295)

PfrResolvePolicyType ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention denotes the type of resolver policies
        supported by PfR.

        'cost'
        The resolver policy is based on routing cost.

        'delay'
        The resolver policy is based on routing delay.

        'jitter'
        The resolver policy is based on jitter.

        'loss'
        The resolver policy is based on packet loss.

        'mos' 
        The resolver policy is based on MOS."
    SYNTAX          INTEGER  {
                        none(0),
                        cost(1),
                        delay(2),
                        jitter(3),
                        loss(4),
                        mos(5),
                        range(6),
                        utilization(7)
                    }
-- Textual Conventions definition will be defined before this line

ciscoPfrMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoPfrMIB 0 }

ciscoPfrMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoPfrMIB 1 }

ciscoPfrMIBConform  OBJECT IDENTIFIER
    ::= { ciscoPfrMIB 2 }


cpfrMCTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrMCEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the MC instances created by the system."
    ::= { ciscoPfrMIBObjects 1 }

cpfrMCEntry OBJECT-TYPE
    SYNTAX          CpfrMCEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the configuration and status of one PfR
        MC.

        A simple device may only support a single MC, where a more
        sophisticate device may support more than one MC.

        A peer SNMP entity may create a MC by setting an instance of
        cpfrMCRowStatus to 'createAndWait' or 'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create
        a MC.  In these cases, the system must automatically create a
        row in the cpfrMCTable.

        A peer SNMP entity may destroy a MC by setting the
        corresponding instance of cpfrMCRowStatus to 'destroy'.  Observe
        that an implementation that does not support this option must
        specify this limitation in an agent capability statement.

        Other management entities may destroy a MC.  In these cases,
        the system must automatically destroy the corresponding row in
        the
        cpfrMCTable."
    INDEX           { cpfrMCIndex } 
    ::= { cpfrMCTable 1 }

CpfrMCEntry ::= SEQUENCE {
        cpfrMCIndex                PfRMasterControllerIndex,
        cpfrMCStorageType          StorageType,
        cpfrMCRowStatus            RowStatus,
        cpfrMCMapIndex             PfrMapIndexOrZero,
        cpfrMCKeepAliveTimer       Unsigned32,
        cpfrMCMaxPrefixTotal       Unsigned32,
        cpfrMCMaxPrefixLearn       Unsigned32,
        cpfrMCEntranceLinksMaxUtil Unsigned32,
        cpfrMCExitLinksMaxUtil     Unsigned32,
        cpfrMCPortNumber           InetPortNumber,
        cpfrMCTracerouteProbeDelay Unsigned32,
        cpfrMCRsvpPostDialDelay    Unsigned32,
        cpfrMCRsvpSignalingRetries Unsigned32,
        cpfrMCNetflowExporter      SnmpAdminString,
        cpfrMCAdminStatus          INTEGER,
        cpfrMCOperStatus           INTEGER,
        cpfrMCConnStatus           INTEGER,
        cpfrMCNumofBorderRouters   Gauge32,
        cpfrMCNumofExits           Gauge32,
        cpfrMCLearnState           INTEGER,
        cpfrMCLearnStateTimeRemain Unsigned32,
        cpfrMCPrefixCount          Counter32,
        cpfrMCPrefixLearned        Counter32,
        cpfrMCPrefixConfigured     Counter32,
        cpfrMCPbrMet               TruthValue,
        cpfrMCLoggingAdminStatus   INTEGER,
        cpfrMCControlMode          INTEGER,
        cpfrMCClear                INTEGER,
        cpfrMCLastClearTime        TimeStamp,
        cpfrMCNotifisControl       INTEGER,
        cpfrMCChangeConfigType     INTEGER,
        cpfrMCChangeConfigValue    Integer32
}

cpfrMCIndex OBJECT-TYPE
    SYNTAX          PfRMasterControllerIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a PfR MC." 
    ::= { cpfrMCEntry 1 }

cpfrMCStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable when the
        storageType of this entry is permanent(4):
        cpfrMCMapIndex, cpfrMCKeepAliveTimer, cpfrMCMaxPrefixTotal,    

        cpfrMCMaxPrefixLearn, cpfrMCMaxRangeReceivePercent,  
        cpfrMCMaxRangeUtilPercentMax, cpfrMCPortNumber,        
        cpfrMCTracerouteProbeDelay, cpfrMCRsvpPostDialDelay,        
        cpfrMCRsvpSignalingRetries, cpfrMCNetflowExporter,       
        cpfrMCAdminStatus."
    DEFVAL          { nonVolatile } 
    ::= { cpfrMCEntry 2 }

cpfrMCRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the MC table.  The
        following columnar objects must be valid in order to transition
        the row to the active state: 
        None.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrMCEntry 3 }

cpfrMCMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates a set of PfR policy map entries in
        cpfrMapTable associated with the MC.  A value of zero indicates
        that there is no policy map associated with the MC and that the
        values in the default policy should be used for all TCs.  The
        peer SNMP entity can retrieve this value and retrieve the
        cpfrMapEntry rows indexed by this value to understand the PfR
        policies.  Alternatively the peer SNMP entity can assign the
        value of pfrMapIndex to this object to associate a set of
        policies to MC."
    DEFVAL          { 0 } 
    ::= { cpfrMCEntry 4 }

cpfrMCKeepAliveTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the value of the PfR keepalive timer.
        The MC sends keepalive packets to BRs to maintain connectivity
        between the MC and the BR.  If the MC does not receive keepalive
        packets from a BR before the keepalive timer expires and this
        situation happens three times in a row,  then the MC will not
        maintain the connection."
    DEFVAL          { 5 } 
    ::= { cpfrMCEntry 5 }

cpfrMCMaxPrefixTotal OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "prefixes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum number of prefixes that a PfR
        MC will monitor.  Limiting the number of prefixes a MC will
        monitor and learn reduces memory and system resource
        consumption."
    DEFVAL          { 5000 } 
    ::= { cpfrMCEntry 6 }

cpfrMCMaxPrefixLearn OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "prefixes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum number of prefixes that a PfR
        MC will learn."
    DEFVAL          { 2500 } 
    ::= { cpfrMCEntry 7 }

cpfrMCEntranceLinksMaxUtil OBJECT-TYPE
    SYNTAX          Unsigned32 (1..100)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization threshold of
        incoming traffic that can be transmitted over a PfR-managed
        entrance link interface."
    DEFVAL          { 20 } 
    ::= { cpfrMCEntry 8 }

cpfrMCExitLinksMaxUtil OBJECT-TYPE
    SYNTAX          Unsigned32 (1..100)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization of outbound
        traffic that can be transmitted over a PfR-managed exit
        interface."
    DEFVAL          { 20 } 
    ::= { cpfrMCEntry 9 }

cpfrMCPortNumber OBJECT-TYPE
    SYNTAX          InetPortNumber
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a dynamic port number for communication
        between a PfR MC and a PfR BR."
    DEFVAL          { 3949 } 
    ::= { cpfrMCEntry 10 }

cpfrMCTracerouteProbeDelay OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "milliseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the time interval between traceroute
        probe cycles."
    DEFVAL          { 10000 } 
    ::= { cpfrMCEntry 11 }

cpfrMCRsvpPostDialDelay OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "milliseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the delay before PfR returns the default
        routing path to RSVP."
    DEFVAL          { 0 } 
    ::= { cpfrMCEntry 12 }

cpfrMCRsvpSignalingRetries OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "retries"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the number of retries that RSVP will
        query PfR for the alternate path."
    DEFVAL          { 1 } 
    ::= { cpfrMCEntry 13 }

cpfrMCNetflowExporter OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of PfR Netflow exporter."
    DEFVAL          { "" } 
    ::= { cpfrMCEntry 14 }

cpfrMCAdminStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object can be used to enable or disable PfR operation in
        the system.

        'enable'
           Enable MC on the router.

        'disable'
           Disable MC on the router."
    DEFVAL          { disable } 
    ::= { cpfrMCEntry 15 }

cpfrMCOperStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        active(1),
                        inactive(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the operational status of PfR MC.

        'active'
           MC is active.

        'inactive'
           MC is not active." 
    ::= { cpfrMCEntry 16 }

cpfrMCConnStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        success(1),
                        closed(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the state of the connection between MC
        and BRs. 

        'success'
           MC is successfully connected to at least one BR.

        'closed'
           MC is not connected to any BR." 
    ::= { cpfrMCEntry 17 }

cpfrMCNumofBorderRouters OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "border routers"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of BRs that peer with the
        MC." 
    ::= { cpfrMCEntry 18 }

cpfrMCNumofExits OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "exits"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total number of PfR external
        interfaces configured on a MC." 
    ::= { cpfrMCEntry 19 }

cpfrMCLearnState OBJECT-TYPE
    SYNTAX          INTEGER  {
                        disabled(1),
                        started(2),
                        writing(3),
                        sleep(4),
                        retry(5)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the status of PfR learning operation.

        'disable'
           PfR learning mode is not enabled.

        'started'
           PfR is learning TCs.

        'writing'
           PfR is storing the learned data of TCs.

        'sleep'
           PfR is waiting for entering into another learning period.

        'retry'
           PfR is retrying to learn the TCs." 
    ::= { cpfrMCEntry 20 }

cpfrMCLearnStateTimeRemain OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates time remaining in the current prefix
        learning period measured in seconds." 
    ::= { cpfrMCEntry 21 }

cpfrMCPrefixCount OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "prefixes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total number of prefixes PfR is
        monitoring." 
    ::= { cpfrMCEntry 22 }

cpfrMCPrefixLearned OBJECT-TYPE
    SYNTAX          Counter32
    UNITS           "prefixes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of prefixes PfR has learned." 
    ::= { cpfrMCEntry 23 }

cpfrMCPrefixConfigured OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of configured prefixes PfR is
        monitoring." 
    ::= { cpfrMCEntry 24 }

cpfrMCPbrMet OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates whether the PBR requirements have been
        met.  If PBR requirements are not met, the BRs cannot
        communicate with each other over the internal interfaces and
        cannot redirect traffic to each other using PBR route maps." 
    ::= { cpfrMCEntry 25 }

cpfrMCLoggingAdminStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether logging is enabled or not on PfR
        MC.

        'enable'
           logging is enabled.

        'disable'
           logging is disabled." 
    ::= { cpfrMCEntry 26 }

cpfrMCControlMode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        observe(1),
                        control(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies PfR MC control-mode.

        'observe'
        PfR doesn't control traffic classes, but observes them.

        'control'
        PfR controls traffic classes." 
    ::= { cpfrMCEntry 27 }

cpfrMCClear OBJECT-TYPE
    SYNTAX          INTEGER  {
                        none(1),
                        clearAll(2),
                        clearAllPrefixes(3),
                        clearAllBorders(4)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the clear operation that an MC should
        perform.  A read on this object will return the last successful
        clear operation performed by the master controller.

        'none'
           No clear operation was executed by MC since the time it
           became operational. This is read-only.

        'clearAll'
           Specifies the MC to clear all prefixes in PfR master
           database, connections to all border routers, and restart
           the PfR master process.

        'clearAllPrefixes'
           Specifies the MC to clear all prefixes in PfR master
           database.

        'clearAllBorders'
           Specifies the MC to clear connections to all border
           routers." 
    ::= { cpfrMCEntry 28 }

cpfrMCLastClearTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the value of sysUpTime the last time the
        MC successfully performed a clear operation." 
    ::= { cpfrMCEntry 29 }

cpfrMCNotifisControl OBJECT-TYPE
    SYNTAX          INTEGER  {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether PfR notifications is enabled or
        not
        from PfR MC.

        'enable'
           notification is enabled.

        'disable'
           notification is disabled." 
    ::= { cpfrMCEntry 30 }

cpfrMCChangeConfigType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        cpfrMCLoggingAdminStatus(1),
                        cpfrMCAdminStatus(2),
                        cpfrMCControlMode(3),
                        cpfrMCClear(4)
                    }
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object indicates which of the following configuration is
        changed.

        'cpfrMCLoggingAdminStatus'
           cpfrMCLoggingAdminStatus is changed.

        'cpfrMCAdminStatus'
           cpfrMCAdminStatus is changed.

        'cpfrMCControlMode'
           cpfrMCControlMode is changed.

        'cpfrMCClear'
           cpfrMCClear is changed." 
    ::= { cpfrMCEntry 31 }

cpfrMCChangeConfigValue OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "This object indicates the value to which the type of
        configuration specified in cpfrMCChangeConfigType, is changed." 
    ::= { cpfrMCEntry 32 }
 


cpfrMapTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrMapEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the PfR map instances created by the system.

        This table has a sparse expansion dependent relationship on
        cpfrMCTable, containing one or more rows for each cpfrMCEntry."
    ::= { ciscoPfrMIBObjects 2 }

cpfrMapEntry OBJECT-TYPE
    SYNTAX          CpfrMapEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the configuration of one PfR map.

        A device creates a row in a cpfrMapTable when it specifies a
        PfR map.  Likewise, such a device destroys a row in the 
        cpfrBRTable when removing a PfR map.

        A peer SNMP entity may create a PfR map by setting an 
        instance of cpfrMapRowStatus to 'createAndWait' or 
        'createAndGo'.  Observe that an implementation that does not 
        support these option must specify these limitations in an 
        agent capability statement.

        Other management entities (e.g., the local console) may create
        a PfR Map.  In these cases, the system must automatically 
        create a row in the cpfrMapTable.

        A peer SNMP entity may destroy a PfR map by setting the
        corresponding instance of cpfrMapRowStatus to 'destroy'. 
        Observe that an implementation that does not support this option
        must specify this limitation in an agent capability
        statement.

        Other management entities may destroy a Map.  In these cases,
        the system must automatically destroy the corresponding row in
        the
        cpfrMapTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrMCEntry."
    INDEX           {
                        cpfrMapIndex,
                        cpfrMapPolicyIndex
                    } 
    ::= { cpfrMapTable 1 }

CpfrMapEntry ::= SEQUENCE {
        cpfrMapIndex                        PfrMapIndex,
        cpfrMapPolicyIndex                  PfrMapPolicyIndex,
        cpfrMapStorageType                  StorageType,
        cpfrMapRowStatus                    RowStatus,
        cpfrMapName                         SnmpAdminString,
        cpfrMapBackoffMinTimer              Unsigned32,
        cpfrMapBackoffMaxTimer              Unsigned32,
        cpfrMapBackoffStepTimer             Unsigned32,
        cpfrMapDelayType                    PfrMetricPolicyType,
        cpfrMapDelayRelativePercent         Unsigned32,
        cpfrMapDelayThresholdMax            Unsigned32,
        cpfrMapHolddownTimer                Unsigned32,
        cpfrMapPrefixForwardInterface       InterfaceIndexOrZero,
        cpfrMapJitterThresholdMax           Unsigned32,
        cpfrMapLinkGroupName                SnmpAdminString,
        cpfrMapFallbackLinkGroupName        SnmpAdminString,
        cpfrMapLossType                     PfrMetricPolicyType,
        cpfrMapLossRelativeAvg              Unsigned32,
        cpfrMapLossThresholdMax             Unsigned32,
        cpfrMapModeMonitor                  INTEGER,
        cpfrMapModeRouteOpts                INTEGER,
        cpfrMapRouteMetricBgpLocalPref      Unsigned32,
        cpfrMapRouteMetricEigrpTagCommunity Unsigned32,
        cpfrMapRouteMetricStaticTag         Unsigned32,
        cpfrMapModeSelectExitType           INTEGER,
        cpfrMapMOSThresholdMin              Unsigned32,
        cpfrMapMOSPercentage                Unsigned32,
        cpfrMapNextHopAddressType           InetAddressType,
        cpfrMapNextHopAddress               InetAddress,
        cpfrMapPeriodicTimer                Unsigned32,
        cpfrMapActiveProbeFrequency         Unsigned32,
        cpfrMapActiveProbePackets           Unsigned32,
        cpfrMapTracerouteReporting          BITS,
        cpfrMapUnreachableType              PfrMetricPolicyType,
        cpfrMapUnreachableRelativeAvg       Unsigned32,
        cpfrMapUnreachableThresholdMax      Unsigned32,
        cpfrMapRoundRobinResolver           INTEGER,
        cpfrMapEventNotifCtrlType           PfrMetricPolicyType,
        cpfrMapEventNotifCtrlThreshold      Unsigned32,
        cpfrMapEventTCCount                 Unsigned32
}

cpfrMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a set of PfR policy maps." 
    ::= { cpfrMapEntry 1 }

cpfrMapPolicyIndex OBJECT-TYPE
    SYNTAX          PfrMapPolicyIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that, in
        combination with cpfrMapIndex, uniquely identifies a PfR policy
        map." 
    ::= { cpfrMapEntry 2 }

cpfrMapStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable when the
        storageType of this entry is permanent(4):
        cpfrMapIndex, cpfrMapPolicyIndex, cpfrMapStorageType,
        cpfrMapRowStatus, cpfrMapName, cpfrMapBackoffMinTimer,
        cpfrMapBackoffMaxTimer, cpfrMapBackoffStepTimer,
        cpfrMapDelayType, cpfrMapDelayRelativePercent,
        cpfrMapDelayThresholdMax, cpfrMapHolddownTimer,
        cpfrMapPrefixForwardInterface, cpfrMapJitterThresholdMax,
        cpfrMapLinkGroupName, cpfrMapFallbackLinkGroupName,
        cpfrMapLossType, cpfrMapLossRelativeAvg,
        cpfrMapLossThresholdMax,    cpfrMapModeMonitor,
        cpfrMapModeRouteOpts,cpfrMapRouteMetricBgpLocalPref,
        cpfrMapRouteMetricEigrpTagCommunity,
        cpfrMapRouteMetricStaticTag,         
        cpfrMapModeSelectExitType, cpfrMapMossThresholdMin,        
        cpfrMapMossPercentage, cpfrMapNextHopAddressType,
        cpfrMapNextHopAddress, cpfrMapPeriodicTimer,       
        cpfrMapActiveProbeFrequency, cpfrMapActiveProbePackets,     
        cpfrMapTracerouteReporting, cpfrMapUnreachableType,     
        cpfrMapUnreachableRelativeAvg, cpfrMapUnreachableThresholdMax,
        cpfrMapRoundRobinResolver."
    DEFVAL          { nonVolatile } 
    ::= { cpfrMapEntry 3 }

cpfrMapRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the PfR map table.
        The following columnar objects must be valid in order to 
        transition the row to the active state:
        cpfrMapName.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrMapEntry 4 }

cpfrMapName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of a PfR map." 
    ::= { cpfrMapEntry 5 }

cpfrMapBackoffMinTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the minimum value for the backoff timer.
        The backoff timer is used to configure a PfR map to set the
        transition period for which the MC holds an out-of-policy 
        prefix."
    DEFVAL          { 300 } 
    ::= { cpfrMapEntry 6 }

cpfrMapBackoffMaxTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum value for the backoff timer.
        If the maximum timer expires and all PfR-managed exits are
        out-of-policy, PfR will install the best available exit and 
        reset the minimum timer."
    DEFVAL          { 3000 } 
    ::= { cpfrMapEntry 7 }

cpfrMapBackoffStepTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the time period value for the step timer.
        PfR users the step timer to add time to the out-of-policy
        waiting period each time the backoff timer expires and PfR is
        unable to find an in-policy exit.  The backoff timer is 
        initialized to the minimum timer and incremented by the step 
        timer until it reaches the maximum timer."
    DEFVAL          { 300 } 
    ::= { cpfrMapEntry 8 }

cpfrMapDelayType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the delay type of a PfR map.  It is used
        to set the delay threshold as a relative percentage or as an
        absolute value for match criteria." 
    ::= { cpfrMapEntry 9 }

cpfrMapDelayRelativePercent OBJECT-TYPE
    SYNTAX          Unsigned32 (1..1000)
    UNITS           "tenths of percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a relative delay threshold based on a
        comparison of short-term and long-term delay percentages.  The
        value of this object is valid if the corresponding value of
        cpfrMapDelayType is set to 'relative'."
    DEFVAL          { 500 } 
    ::= { cpfrMapEntry 10 }

cpfrMapDelayThresholdMax OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "milliseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the absolute maximum delay time.  The
        value of this object is valid if the corresponding value of
        cpfrMapDelayType is set to 'threshold'."
    DEFVAL          { 5000 } 
    ::= { cpfrMapEntry 11 }

cpfrMapHolddownTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the route dampening time period.
        It is used to configure the prefix route dampening timer for
        the minimum period of time in which a new exit must be used
        before an alternate exit can be selected."
    DEFVAL          { 300 } 
    ::= { cpfrMapEntry 12 }

cpfrMapPrefixForwardInterface OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether or not a null forwarding
        interface has been configured.  This interface is always 
        up and can never forward or receive traffic; encapsulation 
        always fails.  Null interfaces are used as a low-overhead 
        method of discarding unnecessary network traffic."
    DEFVAL          { 0 } 
    ::= { cpfrMapEntry 13 }

cpfrMapJitterThresholdMax OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "milliseconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum tolerable jitter value
        permitted on an exit link."
    DEFVAL          { 30 } 
    ::= { cpfrMapEntry 14 }

cpfrMapLinkGroupName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the primary link group to be used by PfR
        to select an exit.  It allows a group of exit links to be 
        defined as a preferred set of links for PfR to use when 
        optimizing TCs specified in a PfR policy."
    DEFVAL          { "" } 
    ::= { cpfrMapEntry 15 }

cpfrMapFallbackLinkGroupName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a fallback link group to be used if all
        the exits in the primary link group are out-of-policy (OOP)."
    DEFVAL          { "" } 
    ::= { cpfrMapEntry 16 }

cpfrMapLossType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the loss type configuration used by PfR.
        It specifies the relative percentage or maximum number of 
        packets that PfR will permit to be lost during transmission 
        on an exit link." 
    ::= { cpfrMapEntry 17 }

cpfrMapLossRelativeAvg OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "tenths of percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a relative percentage of packet loss
        based on a comparison of short-term and long-term packet loss
        percentages.  The value of this object is valid if the
        corresponding value of cpfrMapLossType is set to 'relative'."
    DEFVAL          { 100 } 
    ::= { cpfrMapEntry 18 }

cpfrMapLossThresholdMax OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "packets-per-million"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies absolute packet loss based on packets per
        million (PPM).  The value of this object is valid if the
        corresponding value of cpfrMapLossType is set to 'threshold'." 
    ::= { cpfrMapEntry 19 }

cpfrMapModeMonitor OBJECT-TYPE
    SYNTAX          INTEGER  {
                        active(1),
                        activeThroughput(2),
                        both(3),
                        fast(4),
                        passive(5)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how a PfR MC using this PfR map should
        monitor the TCs.

        'active' 
           Enable active monitoring.

        'activethrougput'
           Enable active monitoring with throughput data from passive
        monitoring.

        'both'
           Enable both active and passive monitoring.  

        'fast'
           Enable continuous active and passive monitoring.

        'passive'
           Enable passive monitoring."
    DEFVAL          { both } 
    ::= { cpfrMapEntry 20 }

cpfrMapModeRouteOpts OBJECT-TYPE
    SYNTAX          INTEGER  {
                        control(1),
                        observe(2),
                        metric(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how a PfR MC using this PfR map should
        control the TCs.

        'control'
           Monitor and report performance data and use the data to
           make route changes that will optimize performance.

        'observe'
           Monitor and report performance data without making any
           route changes.

        'metric'
           Enable route control based on BGP Local preference, EIGRP
           community tag, or a specific static route tag."
    DEFVAL          { observe } 
    ::= { cpfrMapEntry 21 }

cpfrMapRouteMetricBgpLocalPref OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the BGP local preference for PfR
        controlled routes.  The value of this object is valid if the
        corresponding value of cpfrMapModeRouteOpts is set to 'metric'.
        The value 0 is not a valid BGP local preference.  Configuring
         0 disables route control based on BGP local preference." 
    ::= { cpfrMapEntry 22 }

cpfrMapRouteMetricEigrpTagCommunity OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the community value to an EIGRP route
        under PfR control.  The value of this object is valid if the
        corresponding value of cpfrMapModeRouteOpts is set to 'metric'. 
        The value 0 is not a valid EIGRP Community tag.  Configuring 0
        disables route control based on EIGRP."
    DEFVAL          { 0 } 
    ::= { cpfrMapEntry 23 }

cpfrMapRouteMetricStaticTag OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the tag to a static route under PfR
        control.  The value of this object is valid if the
        corresponding value of cpfrMapModeRouteOpts is set to 'metric'. 
        The value 0 is not a valid Static tag.  Configuring 0 disables
        route control based on static tag."
    DEFVAL          { 0 } 
    ::= { cpfrMapEntry 24 }

cpfrMapModeSelectExitType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        best(1),
                        good(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how a PfR MC using this PfR map should
        select an exit based on performance or policy.

        'best' 
          Select the best exit based on performance or policy.

        'good'
           Select the first exit that is in policy."
    DEFVAL          { good } 
    ::= { cpfrMapEntry 25 }

cpfrMapMOSThresholdMin OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a threshold MOS value that represents a
        minimum voice quality for exit link utilization."
    DEFVAL          { 360 } 
    ::= { cpfrMapEntry 26 }

cpfrMapMOSPercentage OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a percentage value that is compared
        with the percentage of MOS samples that are below the MOS 
        threshold.  The number of MOS samples over a period of time that
        are below the threshold MOS value are calculated.  If the 
        percentage of MOS samples below the threshold is greater than 
        the configured percentage, PfR determines that the exit link 
        is out-of-policy and searches for an alternate exit link." 
    ::= { cpfrMapEntry 27 }

cpfrMapNextHopAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the address type of the address specified
        as the next hop when PfR is used for sinkhole filtering." 
    ::= { cpfrMapEntry 28 }

cpfrMapNextHopAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the next hop address to which PfR
        forwards packets for matching prefixes.  The prefixes that are
        forwarded to the next hop address are specified by an access
        list configured in a match clause on the PfR map" 
    ::= { cpfrMapEntry 29 }

cpfrMapPeriodicTimer OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the periodic timer that PfR uses to
        select the best exit for the matched TCs.  When this timer
        expires, PfR automatically selects the best exit,
        irrespective of whether the current exit is in-policy or
        out-of-policy.  The periodic timer is reset when the new exit
        is selected." 
    ::= { cpfrMapEntry 30 }

cpfrMapActiveProbeFrequency OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the frequency of active probes configured
        under a PfR map."
    DEFVAL          { 60 } 
    ::= { cpfrMapEntry 31 }

cpfrMapActiveProbePackets OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "packets"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the number of probe packets generated
        for each active probe cycle."
    DEFVAL          { 100 } 
    ::= { cpfrMapEntry 32 }

cpfrMapTracerouteReporting OBJECT-TYPE
    SYNTAX          BITS {
                        none(0),
                        delay(1),
                        loss(2),
                        unreachable(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object enables continuous and policy-based traceroute
        probing.  Traceroute probing allows prefix performance to be
        measured on a hop-by-hop basis.  Delay, loss, and
        reachability measurements are gathered for each hop from the
        probe source to the target prefix.

        'none'
           Traceroute probing is disabled.

        'delay'
           Delay policy based traceroute probing is enabled.

        'loss'
           Loss policy based traceroute probing is enabled.

        'reachability'
           Reachability policy based traceroute probing is enabled." 
    ::= { cpfrMapEntry 33 }

cpfrMapUnreachableType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the unreachable type configuration used
        by PfR.  It is used to set the relative percentage or the 
        absolute maximum number of unreachable hosts, based on flows 
        per million (fpm), that PfR will permit from a PfR-managed 
        exit link."
    DEFVAL          { relative } 
    ::= { cpfrMapEntry 34 }

cpfrMapUnreachableRelativeAvg OBJECT-TYPE
    SYNTAX          Unsigned32
    UNITS           "tenths of percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a relative percentage of unreachable
        hosts.  The relative unreachable host percentage is based on a
        comparison of short-term and long-term measurements.  The
        short-term measurement reflects the percentage of hosts that
        are unreachable within a 5-minute period.  The long-term
        measurement reflects the percentage of unreachable hosts within
        a 60-minute period.  The following formula is used to calculate
        this value:

        Relative percentage of unreachable hosts equals to the
        difference between short-term percentage and long-term
        percentage divided by long-term percentage.

        The master controller measures the difference between these two
        values as a percentage.  If the percentage exceeds the
        user-defined or default value, the exit link is determined to
        be out-of-policy.

        The value of this object is valid if the corresponding value of
        cpfrMapUnreachableType is set to 'relative'."
    DEFVAL          { 50 } 
    ::= { cpfrMapEntry 35 }

cpfrMapUnreachableThresholdMax OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "flows per million"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the absolute maximum number of
        unreachable hosts based on flows per million.  
        The value of this object is valid if the corresponding 
        value of cpfrMapUnreachableType is set to 'threshold'." 
    ::= { cpfrMapEntry 36 }

cpfrMapRoundRobinResolver OBJECT-TYPE
    SYNTAX          INTEGER  {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether the round robin resolver is
        enabled or disabled.

        'enable'
           Round robin resolver is enabled.

        'disable'
           Round robin resolver is disabled."
    DEFVAL          { disable } 
    ::= { cpfrMapEntry 37 }

cpfrMapEventNotifCtrlType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the event notification control type
        configuration used by PfR.  It is used to set the relative
        percentage or the absolute threshold value for
        cpfrMapEventNotifCtrlThreshold object."
    DEFVAL          { relative } 
    ::= { cpfrMapEntry 38 }

cpfrMapEventNotifCtrlThreshold OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object specifies the absolute event counter threshold or
        relative percentage threshold used by PfR to throttle the
        generation of cpfrTCInpolicyThresholdBelowNotify and
        cpfrTCPrimaryThresholdBelowNotify.

        If the value is relative percentage threshold, then the
        notification is generated if cpfrMapEventTCCount over total TC
        count is more than the value of this percentage.
        -
        If the value is absolute event counter threshold, then the
        notification is generated if cpfrEventTrapTCCount is more than
        this value." 
    ::= { cpfrMapEntry 39 }

cpfrMapEventTCCount OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the current absolute number of traffic
        classes, whose state are 'default' or 'oopolicy' specified by
        cpfrTCStatus." 
    ::= { cpfrMapEntry 40 }
 


cpfrMatchTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrMatchEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the match clause instances created by the
        system. 

        This table has an expansion dependent relationship on
        cpfrMapTable, containing zero or more rows for each
        cpfrMapEntry."
    ::= { ciscoPfrMIBObjects 3 }

cpfrMatchEntry OBJECT-TYPE
    SYNTAX          CpfrMatchEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing a match clause PfR uses.

        A peer SNMP entity may create a match criterion by setting an
        instance of cpfrMatchStatus to 'createAndWait' or 'createAndGo'.
         Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create a
        match criterion.  In these cases, the system must automatically
        create a row in the cpfrMatchTable. 

        A peer SNMP entity may destroy a match criterion by setting the 
               corresponding instance of cpfrMatchStatus to 'destroy'. 
        Observe that an implementation that does not support this 
        option must specify this limitation in an agent capability
        statement.

        Other management entities may destroy a match criterion.  In    
          these cases, the system must automatically destroy the
        corresponding row in the cpfrMatchTable.

        The system automatically destroys a row when the system or
        EMS/NMS destroys the corresponding entries in the cpfrMapTable."
    INDEX           {
                        cpfrMapIndex,
                        cpfrMapPolicyIndex
                    } 
    ::= { cpfrMatchTable 1 }

CpfrMatchEntry ::= SEQUENCE {
        cpfrMatchValid             BITS,
        cpfrMatchAddrAccessList    SnmpAdminString,
        cpfrMatchAddrPrefixList    SnmpAdminString,
        cpfrMatchAddrPrefixInside  TruthValue,
        cpfrMatchLearnMode         INTEGER,
        cpfrMatchLearnListName     SnmpAdminString,
        cpfrMatchTCNbarListName    SnmpAdminString,
        cpfrMatchTCNbarApplPfxList SnmpAdminString,
        cpfrMatchTCPfxInside       TruthValue
}

cpfrMatchValid OBJECT-TYPE
    SYNTAX          BITS {
                        accessList(0),
                        prefixList(1),
                        learn(2),
                        trafficClassACL(3),
                        nbarApplicationList(4),
                        trafficClassPfx(5)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies which of those objects are valid.  When
        a user is configuring a match clause, the corresponding bit
        should also be set to true in this object.  The following list
        shows different types of match clauses, the bit to be set and
        the
        corresponding objects.

        'access-list'
           If this bit is set to '1' then corresponding instance of
        cpfrMatchAccessList is valid.

        'prefix-list'
           If this bit is set to '1' then corresponding instance of
        cpfrMatchPrefixList is valid.

        'inside'
           If this bit is set to '1' then corresponding instance of
        cpfrMatchInside is valid.

        'learn'
           If this bit is set to '1' then corresponding instances of
        cpfrMatchLearnMode and cpfrMatchLearnListName are valid.

        'nbarApplicationList'
           If this bit is set to '1' then corresponding instance of
        cpfrMatchTCNbarListName is valid." 
    ::= { cpfrMatchEntry 1 }

cpfrMatchAddrAccessList OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the access list used to manually
        configure a traffic class that matches destination prefixes
        in an access list used in a PfR map."
    DEFVAL          { "" } 
    ::= { cpfrMatchEntry 2 }

cpfrMatchAddrPrefixList OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the prefix list used to manually
        configure a traffic class that matches destination prefixes
        in a prefix list."
    DEFVAL          { "" } 
    ::= { cpfrMatchEntry 3 }

cpfrMatchAddrPrefixInside OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether or not the prefixes learned by
        PfR are within the internal network."
    DEFVAL          { false } 
    ::= { cpfrMatchEntry 4 }

cpfrMatchLearnMode OBJECT-TYPE
    SYNTAX          INTEGER  {
                        delay(1),
                        inside(2),
                        throughput(3),
                        list(4)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the mode by which PfR should learn
        prefixes.  

        'Delay' 
           PfR learns prefixes based on the highest delay.

        'Inside' 
           PfR learns the prefixes inside the network.

        'Throughput' 
           PfR learns prefixes based on the highest throughput.

        'list'
           PfR learns prefixes based on a learn list."
    DEFVAL          { throughput } 
    ::= { cpfrMatchEntry 5 }

cpfrMatchLearnListName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the learn list name used by PfR for
        learning prefixes.  This object is valid when the corresponding
        cpfrMatchLearnMode object is set to 'list'."
    DEFVAL          { "" } 
    ::= { cpfrMatchEntry 6 }

cpfrMatchTCNbarListName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies that PfR is to profile traffic
        destined for prefixes defined in an IP prefix list that match
        one or more NBAR applications.  The applications are predefined
        with a protocol identifier.  This object identifies
        a set of protocols in cpfrNbarApplListTable."
    DEFVAL          { "" } 
    ::= { cpfrMatchEntry 7 }

cpfrMatchTCNbarApplPfxList OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the prefix list to be used by PfR to
        filter traffic that is learned based on NBAR applications."
    DEFVAL          { "" } 
    ::= { cpfrMatchEntry 8 }

cpfrMatchTCPfxInside OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether or not the prefixes filtered by
        the prefix list is inside the internal network."
    DEFVAL          { false } 
    ::= { cpfrMatchEntry 9 }
 


cpfrResolveTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrResolveEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the resolver instances created by the
        system.

        This table has an expansion dependent relationship on
        cpfrMapTable, containing zero or more rows for each
        cpfrMapEntry."
    ::= { ciscoPfrMIBObjects 4 }

cpfrResolveEntry OBJECT-TYPE
    SYNTAX          CpfrResolveEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrResolveTable describes a policy metric
        and its priority relative to other metrics if multiple metrics
        are configured for the default policy or under a PfR map.

        A peer SNMP entity may create a resolver by setting an instance
        of cpfrResolveRowStatus to 'createAndWait' or 'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create a
        resolver.  In these cases, the system must automatically create
        a row in the cpfrResolveTable.

        A peer SNMP entity may destroy a resolver by setting the
        corresponding instance of cpfrResolveRowStatus to 'destroy'. 
        Observe that an mplementation that does not support this option
        must specify this limitation in an agent capability
        statement.

        Other management entities may destroy a resolver.  In these
        cases, the system must automatically destroy the corresponding
        row in the cpfrResolveTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrMapTable."
    INDEX           { cpfrResolveIndex } 
    ::= { cpfrResolveTable 1 }

CpfrResolveEntry ::= SEQUENCE {
        cpfrResolveIndex          Unsigned32,
        cpfrResolveStorageType    StorageType,
        cpfrResolveRowStatus      RowStatus,
        cpfrResolvePriority       Unsigned32,
        cpfrResolvePolicyType     PfrResolvePolicyType,
        cpfrResolveVariance       Unsigned32,
        cpfrResolveMapIndex       PfrMapIndexOrZero,
        cpfrResolveMapPolicyIndex PfrMapPolicyIndex
}

cpfrResolveIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a PfR resolver." 
    ::= { cpfrResolveEntry 1 }

cpfrResolveStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable when the
        storageType of this entry is permanent(4):
        cpfrResolvePolicyType, cpfrResolveVariance,      
        cpfrResolveMapIndex, cpfrResolveMapIndex."
    DEFVAL          { nonVolatile } 
    ::= { cpfrResolveEntry 2 }

cpfrResolveRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the resolver
        table.  The following columnar objects must be valid in order to

        transition the row to the active state: 
        cpfrMCResolvePriority, cpfrResolvePolicyType,
        cpfrResolveMapIndex, cpfrResolveMapPolicyIndex

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrResolveEntry 3 }

cpfrResolvePriority OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the priority of the resolver."
    DEFVAL          { 0 } 
    ::= { cpfrResolveEntry 4 }

cpfrResolvePolicyType OBJECT-TYPE
    SYNTAX          PfrResolvePolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the type of this resolver policy."
    DEFVAL          { none } 
    ::= { cpfrResolveEntry 5 }

cpfrResolveVariance OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the allowable variance for the policy,
        as a percentage."
    DEFVAL          { 0 } 
    ::= { cpfrResolveEntry 6 }

cpfrResolveMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object refers to the map Index of PfR map under which
        this resolver was configured."
    DEFVAL          { 0 } 
    ::= { cpfrResolveEntry 7 }

cpfrResolveMapPolicyIndex OBJECT-TYPE
    SYNTAX          PfrMapPolicyIndex
    UNITS           "0"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object refers to PfR map policy index of PfR map under
        which this resolver was configured." 
    ::= { cpfrResolveEntry 8 }
 


cpfrLearnTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrLearnEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the PfR learn instances created by the system.

        This table has a one-to-one relationship with cpfrMCTable,
        containing zero or more rows for each cpfrMCEntry."
    ::= { ciscoPfrMIBObjects 5 }

cpfrLearnEntry OBJECT-TYPE
    SYNTAX          CpfrLearnEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrLearnTable describes the configuration
        and status of a PfR learning policy.

        A device creates a row in a cpfrLearnTable when PfR learn is
        enabled.  Likewise, such a device destroys a row in the
        cpfrLearnTable when PfR learn is disabled."
    INDEX           { cpfrMCIndex } 
    ::= { cpfrLearnTable 1 }

CpfrLearnEntry ::= SEQUENCE {
        cpfrLearnAggregationType      INTEGER,
        cpfrLearnAggregationPrefixLen Unsigned32,
        cpfrLearnMethod               BITS,
        cpfrLearnExpireType           INTEGER,
        cpfrLearnExpireSessionNum     Unsigned32,
        cpfrLearnExpireTime           Unsigned32,
        cpfrLearnMonitorPeriod        Unsigned32,
        cpfrLearnPeriodInterval       Unsigned32,
        cpfrLearnPrefixesNumber       Unsigned32,
        cpfrLearnAggAccesslistName    SnmpAdminString,
        cpfrLearnFilterAccessListName SnmpAdminString
}

cpfrLearnAggregationType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        bgp(1),
                        nonBgp(2),
                        prefixLength(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how a MC aggregates learned
        prefixes based on traffic type.

        'bgp'
           The bgp keyword configures aggregation based on entries in
           the BGP routing table.

        'nonBgp'
           The non-bgp keyword configures aggregation based on 
           static routes.

        'prefixLength'
           The prefix-length keyword configures aggregation based on the
           specified prefix length. The range of values that can be 
           configured for this argument is a prefix mask from 1 to 32.

         If this command is not specified, the default aggregation 
         is performed based on a /24 prefix length"
    DEFVAL          { prefixLength } 
    ::= { cpfrLearnEntry 1 }

cpfrLearnAggregationPrefixLen OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "bits"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object configures aggregation based on the specified
        prefix length."
    DEFVAL          { 24 } 
    ::= { cpfrLearnEntry 2 }

cpfrLearnMethod OBJECT-TYPE
    SYNTAX          BITS {
                        delay(0),
                        throughput(1),
                        insideBgp(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the method by which PfR learns prefixes.

        'delay'
           Learn prefixes with the highest round trip delay.

        'throughput'
           Learn prefixes with the highest throughput.

        'insideBgp'
           Learn prefixes inside the network." 
    ::= { cpfrLearnEntry 3 }

cpfrLearnExpireType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        session(1),
                        time(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the length of time that the learned
        prefixes are kept in the central policy database.

        'session'
           Configures a session-based expiration timer. 

        'time'
           Configures a time-based expiration timer."
    DEFVAL          { time } 
    ::= { cpfrLearnEntry 4 }

cpfrLearnExpireSessionNum OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "monitoring periods"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object configures a session-based expiration timer. A
        number from 1 to 65535 can be entered. Each increment
        represents one monitoring period.  The object is valid when
        cpfrLearnExpireType is configured with session." 
    ::= { cpfrLearnEntry 5 }

cpfrLearnExpireTime OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object configures a time-based expiration timer."
    DEFVAL          { 720 } 
    ::= { cpfrLearnEntry 6 }

cpfrLearnMonitorPeriod OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the time period over which a PfR MC
        learns traffic flows."
    DEFVAL          { 5 } 
    ::= { cpfrLearnEntry 7 }

cpfrLearnPeriodInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the time interval between prefix
        monitoring periods."
    DEFVAL          { 120 } 
    ::= { cpfrLearnEntry 8 }

cpfrLearnPrefixesNumber OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "prefixes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum number of prefixes PfR
        can learn."
    DEFVAL          { 1000 } 
    ::= { cpfrLearnEntry 9 }

cpfrLearnAggAccesslistName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a PfR access list to define criteria
        which PfR uses to aggregate TCs."
    DEFVAL          { "" } 
    ::= { cpfrLearnEntry 10 }

cpfrLearnFilterAccessListName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies an access list used to filter TCs
        learned by PfR."
    DEFVAL          { "" } 
    ::= { cpfrLearnEntry 11 }
 


cpfrLearnListTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrLearnListEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the learn lists created by the system.

        This table has an expansion dependent relationship on
        cpfrLearnTable, containing zero or more rows for each
        cpfrLearnEntry."
    ::= { ciscoPfrMIBObjects 6 }

cpfrLearnListEntry OBJECT-TYPE
    SYNTAX          CpfrLearnListEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrLearnListTable describes the configuration
        and status of a PfR learn list.

        A peer SNMP entity may create a learn list by setting an
        instance of cpfrLearnListRowStatus to 'createAndWait' or
        'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create a
        learn list.  In these cases, the system must automatically
        create a row in the cpfrLearnListTable.

        A peer SNMP entity may destroy a learn list by setting the
        corresponding instance of cpfrLearnListRowStatus to 'destroy'. 
        Observe that an mplementation that does not support this option
        must specify this limitation in an agent capability
        statement.

        Other management entities may destroy a learn list.  In these
        cases, the system must automatically destroy the corresponding
        row in the cpfrLearnListTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrLearnTable."
    INDEX           {
                        cpfrMCIndex,
                        cpfrLearnListIndex
                    } 
    ::= { cpfrLearnListTable 1 }

CpfrLearnListEntry ::= SEQUENCE {
        cpfrLearnListIndex         PfrLearnListIndex,
        cpfrLearnListStorageType   StorageType,
        cpfrLearnListRowStatus     RowStatus,
        cpfrLearnListReferenceName SnmpAdminString,
        cpfrLearnListSequenceNum   Unsigned32,
        cpfrLearnListMethod        BITS,
        cpfrLearnListAclName       SnmpAdminString,
        cpfrLearnListPfxName       SnmpAdminString,
        cpfrLearnListPfxInside     TruthValue,
        cpfrLearnListNbarAppl      SnmpAdminString,
        cpfrLearnListFilterPfxName SnmpAdminString
}

cpfrLearnListIndex OBJECT-TYPE
    SYNTAX          PfrLearnListIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a PfR learn list." 
    ::= { cpfrLearnListEntry 1 }

cpfrLearnListStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable when the
        storageType of this entry is permanent(4):
        cpfrLearnListReferenceName, cpfrLearnListSequenceNum,
        cpfrLearnListMethod, cpfrLearnListDelayType,       
        cpfrLearnListDelayRelativePercentage,    
        cpfrLearnListDelayThresholdMax, cpfrLearnListAclName,       
        cpfrLearnListFilterPfxName, cpfrLearnListPfxName,      
        cpfrLearnListPfxInside, cpfrLearnListNbarAppl."
    DEFVAL          { nonVolatile } 
    ::= { cpfrLearnListEntry 2 }

cpfrLearnListRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the learn list
        table. The following columnar objects must be valid in order to
        transition the row to the active state: 
        cpfrLearnListReferenceName, cpfrLearnListSequenceNum.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrLearnListEntry 3 }

cpfrLearnListReferenceName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the reference name of a learn list."
    DEFVAL          { "" } 
    ::= { cpfrLearnListEntry 4 }

cpfrLearnListSequenceNum OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the sequence number representing a
        sequence that is used to determine the order in which PfR
        applies learn list criteria."
    DEFVAL          { 0 } 
    ::= { cpfrLearnListEntry 5 }

cpfrLearnListMethod OBJECT-TYPE
    SYNTAX          BITS {
                        delay(0),
                        throughput(1),
                        rsvp(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how PfR learns prefixes.

        'delay'
           Learn prefixes with the highest round trip delay.

        'througput'
           Learn prefixes with the highest throughput.

        'rsvp'
           Learn prefixes on the basis of RSVP." 
    ::= { cpfrLearnListEntry 6 }

cpfrLearnListAclName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of the access list to be used
        by the PfR learn list."
    DEFVAL          { "" } 
    ::= { cpfrLearnListEntry 7 }

cpfrLearnListPfxName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of the prefix list to be used
        by the PfR learn list."
    DEFVAL          { "" } 
    ::= { cpfrLearnListEntry 8 }

cpfrLearnListPfxInside OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether PfR should learn prefixes that
        are inside the network."
    DEFVAL          { false } 
    ::= { cpfrLearnListEntry 9 }

cpfrLearnListNbarAppl OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a set of protocols in the
        cpfrNbarApplListTable that will be used by PfR to learn TCs."
    DEFVAL          { "" } 
    ::= { cpfrLearnListEntry 10 }

cpfrLearnListFilterPfxName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of the prefix list to be used
        as a filter for traffic classes to be learned by this 
        learn list."
    DEFVAL          { "" } 
    ::= { cpfrLearnListEntry 11 }
 


cpfrActiveProbeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrActiveProbeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the active probe instances created by the
        system.

        This table has an expansion dependent relationship on
        cpfrMapTable, containing zero or more rows for each
        cpfrMapEntry."
    ::= { ciscoPfrMIBObjects 7 }

cpfrActiveProbeEntry OBJECT-TYPE
    SYNTAX          CpfrActiveProbeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrActiveProbeTable describes the
        configuration and status that directs how PfR active-probes 
        targets.

        A peer SNMP entity may create an active probe by setting an
        instance of cpfrActiveProbeRowStatus to 'createAndWait' or
        'createAndGo'.  Observe that an implementation that does not
        support these option must specify these limitations in an agent
        capability statement.

        Other management entities (e.g., the local console) may create
        an active probe.  In these cases, the system must automatically
        create a row in the cpfrActiveProbeTable.

        A peer SNMP entity may destroy an active probe by setting the
        corresponding instance of cpfrActiveProbeRowStatus to 'destroy'.
         Observe that an mplementation that does not support this option
        must specify this limitation in an agent capability
        statement.

        Other management entities may destroy an active probe.  In these
        cases, the system must automatically destroy the corresponding
        row in the cpfrActiveProbeTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrMapTable."
    INDEX           { cpfrActiveProbeIndex } 
    ::= { cpfrActiveProbeTable 1 }

CpfrActiveProbeEntry ::= SEQUENCE {
        cpfrActiveProbeIndex                  Unsigned32,
        cpfrActiveProbeStorageType            StorageType,
        cpfrActiveProbeRowStatus              RowStatus,
        cpfrActiveProbeType                   INTEGER,
        cpfrActiveProbeTargetAddressType      InetAddressType,
        cpfrActiveProbeTargetAddress          InetAddress,
        cpfrActiveProbeTargetPortNumber       CiscoPort,
        cpfrActiveProbePfrMapIndex            PfrMapIndexOrZero,
        cpfrActiveProbeDscpValue              Unsigned32,
        cpfrActiveProbeCodecName              INTEGER,
        cpfrActiveProbeMapIndex               PfrMapIndexOrZero,
        cpfrActiveProbeMapPolicyIndex         PfrMapIndexOrZero,
        cpfrActiveProbeAdminStatus            INTEGER,
        cpfrActiveProbeOperStatus             INTEGER,
        cpfrActiveProbeAssignedPfxAddressType InetAddressType,
        cpfrActiveProbeAssignedPfxAddress     InetAddress,
        cpfrActiveProbeAssignedPfxLen         Unsigned32,
        cpfrActiveProbeMethod                 INTEGER
}

cpfrActiveProbeIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies an active probe entity in a PfR policy map." 
    ::= { cpfrActiveProbeEntry 1 }

cpfrActiveProbeStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable when the
        storageType of this entry is permanent(4):
        pfrActiveProbeType, cpfrActiveProbeTargetAddressType,       
        cpfrActiveProbeTargetAddress, cpfrActiveProbeTargetPortNumber, 

           cpfrActiveProbePfrMapIndex, cpfrActiveProbeDscpValue,      
        cpfrActiveProbeCodecName, cpfrActiveProbeMapIndex,        
        cpfrActiveProbeMapPolicyIndex, cpfrActiveProbeAdminStatus."
    DEFVAL          { nonVolatile } 
    ::= { cpfrActiveProbeEntry 2 }

cpfrActiveProbeRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of row in the active probe
        table.  The following columnar objects must be valid in order to

        transition the row to the active state: 
        cpfrActiveProbeType,
        cpfrActiveProbeTargetAddressType, cpfrActiveProbeTargetAddress,
        cpfrActiveProbeTargetPortNumber, cpfrActiveProbeMapIndex,
        cpfrActiveProbeMapPolicyIndex.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrActiveProbeEntry 3 }

cpfrActiveProbeType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        echo(1),
                        jitter(2),
                        tcpConn(3),
                        udpEcho(4)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the Type of probe.

        'echo'
        Use Internet Control Message Protocol (ICMP) echo messages
        (ping) for active probe.

        'jitter'
        Use jitter messages for active probe.

        'tcp-conn'
        Use TCP connection messages for active probe.

        'udp-echo'
        Use User Datagram Protocol (UDP) echo messages for active
        probe." 
    ::= { cpfrActiveProbeEntry 4 }

cpfrActiveProbeTargetAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the type of a target IP address of a
        prefix to be monitored using the specified type of probe." 
    ::= { cpfrActiveProbeEntry 5 }

cpfrActiveProbeTargetAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies target IP address of a prefix to be
        monitored using the specified type of probe." 
    ::= { cpfrActiveProbeEntry 6 }

cpfrActiveProbeTargetPortNumber OBJECT-TYPE
    SYNTAX          CiscoPort
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the destination port number for the
        active probe." 
    ::= { cpfrActiveProbeEntry 7 }

cpfrActiveProbePfrMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the index of the PfR policy map on
        which the active probe clause is configured." 
    ::= { cpfrActiveProbeEntry 8 }

cpfrActiveProbeDscpValue OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the Differentiated Services Code Point
        (DSCP) value." 
    ::= { cpfrActiveProbeEntry 9 }

cpfrActiveProbeCodecName OBJECT-TYPE
    SYNTAX          INTEGER  {
                        g711alaw(1),
                        g711ulaw(2),
                        g729a(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the codec value used for Mean Opinion
        Score (MOS) calculation and only used with the jitter probe
        type.  The codec values must be one of the following,

        'g711alaw'
           G.711 A Law 64000 bps.

        'g711ulaw'
           G.711 U Law 64000 bps.

        'g729a'
           G.729 8000 bps." 
    ::= { cpfrActiveProbeEntry 10 }

cpfrActiveProbeMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the index of a PfR map under which this
        active probe was configured." 
    ::= { cpfrActiveProbeEntry 11 }

cpfrActiveProbeMapPolicyIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the index of a PfR map policy under
        which this active probe was configured." 
    ::= { cpfrActiveProbeEntry 12 }

cpfrActiveProbeAdminStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        assigned(1),
                        unassigned(2),
                        forced(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies whether the probe is assigned to
        a prefix or not, or is a forced probe configured on a PfR map.

        'assigned'
           Active probe is assigned.

        'unassigned'
           Active probe is unassigned.

        'forced'
           Active probe is sent to forced targets configured in PfR
           map." 
    ::= { cpfrActiveProbeEntry 13 }

cpfrActiveProbeOperStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        running(1),
                        notRunning(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the current status of an active probe.

        'running'
           Active probe is running.

        'notrunning'
           Active probe is not running." 
    ::= { cpfrActiveProbeEntry 14 }

cpfrActiveProbeAssignedPfxAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the type of assigned prefix address." 
    ::= { cpfrActiveProbeEntry 15 }

cpfrActiveProbeAssignedPfxAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the assigned prefix address." 
    ::= { cpfrActiveProbeEntry 16 }

cpfrActiveProbeAssignedPfxLen OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the length of the assigned prefix
        address." 
    ::= { cpfrActiveProbeEntry 17 }

cpfrActiveProbeMethod OBJECT-TYPE
    SYNTAX          INTEGER  {
                        learned(1),
                        configured(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates how an active probe is entered into
        the PfR system.

        'learned'
           Active probe is triggered when PfR learns TCs.

        'configured'
           Active probe is forced by CLI command." 
    ::= { cpfrActiveProbeEntry 18 }
 


cpfrBRTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrBREntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the border router (BR) instances created by
        the system.

        This table has an expansion dependent relationship on the  
        cpfrMCTable, containing zero or more rows for each cpfrMCEntry."
    ::= { ciscoPfrMIBObjects 8 }

cpfrBREntry OBJECT-TYPE
    SYNTAX          CpfrBREntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrBRTable describes the configuration and
        status of one PfR BR.

        A peer SNMP entity may create a BR by setting an instance of
        cpfrBRRowStatus to 'createAndWait' or 'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create
        an exit.  In these cases, the system must automatically create
        a
        row in the cpfrBRTable.

        A peer SNMP entity may destroy a BR by setting the
        corresponding
        instance of cpfrBRRowStatus to 'destroy'.  Observe that
        an implementation that does not support this option must specify
        this limitation in an agent capability statement.

        Other management entities may destroy a BR.  In these cases,
        the
        system must automatically destroy the corresponding row in the
        cpfrBRTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrMCEntry."
    INDEX           {
                        cpfrMCIndex,
                        cpfrBRIndex
                    } 
    ::= { cpfrBRTable 1 }

CpfrBREntry ::= SEQUENCE {
        cpfrBRIndex             PfrBorderRouterIndex,
        cpfrBRStorageType       StorageType,
        cpfrBRRowStatus         RowStatus,
        cpfrBRAddressType       InetAddressType,
        cpfrBRAddress           InetAddress,
        cpfrBRKeyName           SnmpAdminString,
        cpfrBROperStatus        INTEGER,
        cpfrBRConnStatus        INTEGER,
        cpfrBRUpTime            TimeTicks,
        cpfrBRConnFailureReason INTEGER,
        cpfrBRAuthFailCount     Counter32
}

cpfrBRIndex OBJECT-TYPE
    SYNTAX          PfrBorderRouterIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a PfR BR." 
    ::= { cpfrBREntry 1 }

cpfrBRStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable 
        when the storageType of this entry is permanent(4):
        cpfrBRAddressType, cpfrBRAddress, cpfrBRKeyName."
    DEFVAL          { nonVolatile } 
    ::= { cpfrBREntry 2 }

cpfrBRRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the BR table.  The
        following columnar objects must be valid in order to transition
        the row to the active state: 
        None.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrBREntry 3 }

cpfrBRAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the IP address type of a PfR BR." 
    ::= { cpfrBREntry 4 }

cpfrBRAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the IP address of a PfR BR" 
    ::= { cpfrBREntry 5 }

cpfrBRKeyName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the key used to authenticate
        communication between the BR and the MC.  The authentication 
        key must be specified during the initial configuration to 
        establish communication, but is not required to enter PfR 
        managed BR configuration mode."
    DEFVAL          { "" } 
    ::= { cpfrBREntry 6 }

cpfrBROperStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        active(1),
                        inactive(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the operational status of PfR BR.

        'active'
           BR is active.

        'inactive'
           BR is inactive." 
    ::= { cpfrBREntry 7 }

cpfrBRConnStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        up(1),
                        down(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the connection status between BR and MC.

        'up'
           BR is successfully connected to the MC.

        'down'
           BR is not connected to the MC." 
    ::= { cpfrBREntry 8 }

cpfrBRUpTime OBJECT-TYPE
    SYNTAX          TimeTicks
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the length of time that the connection
        with the MC has been up." 
    ::= { cpfrBREntry 9 }

cpfrBRConnFailureReason OBJECT-TYPE
    SYNTAX          INTEGER  {
                        versionMismatch(1),
                        none(2),
                        authFailure(3),
                        socketError(4),
                        timerExpired(5)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the reason why the connection status
        between the BR and MC fails.

        'versionmismatch'
           The software version between MC and BR does not match.

        'none'
           No failure reason.

        'authFailure'
           authentication failed.

        'socketError'
           socket was closed with an error.

        'timerExpired'
           connection was closed with keepalive timer expiration." 
    ::= { cpfrBREntry 10 }

cpfrBRAuthFailCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of authentication failures
        between the MC and the BR." 
    ::= { cpfrBREntry 11 }
 


cpfrExitTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrExitEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the PfR exit instances created by the system.

        This table has an expansion dependent relationship on the  
        cpfrBRTable, containing zero or more rows for each
        cpfrBREntry."
    ::= { ciscoPfrMIBObjects 9 }

cpfrExitEntry OBJECT-TYPE
    SYNTAX          CpfrExitEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry in the cpfrExitTable describes the configuration and
        status of one PfR monitored/controlled exit.

        A peer SNMP entity may create an exit for PfR BR by setting an
        instance of cpfrLinkGroupRowStatus to 'createAndWait' or
        'createAndGo'.  Observe that an implementation that does not
        support these option must specify these limitations in an agent
        capability statement.

        Other management entities (e.g., the local console) may create
        an exit for a PfR BR.  In these cases, the system must
        automatically create a row in the cpfrExitTable.

        A peer SNMP entity may destroy an exit from a PfR BR by setting
        the corresponding instance of cpfrExitRowStatus to 'destroy'. 
        Observe that an implementation that does not support this option
        must specify this limitation in an agent capability
        statement.

        Other management entities may destroy an exit from a
        PfR BR.  In these cases, the system must automatically destroy
        the corresponding row in the cpfrExitTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrBREntry."
    INDEX           {
                        cpfrMCIndex,
                        cpfrBRIndex,
                        cpfrExitIndex
                    } 
    ::= { cpfrExitTable 1 }

CpfrExitEntry ::= SEQUENCE {
        cpfrExitIndex                 PfrExitIndex,
        cpfrExitStorageType           StorageType,
        cpfrExitRowStatus             RowStatus,
        cpfrExitName                  SnmpAdminString,
        cpfrExitType                  INTEGER,
        cpfrDowngradeBgpCommunity     Unsigned32,
        cpfrExitMaxUtilRxType         PfrMetricPolicyType,
        cpfrExitMaxUtilRxAbsolute     Unsigned32,
        cpfrExitMaxUtilRxPercentage   Unsigned32,
        cpfrExitMaxUtilTxType         PfrMetricPolicyType,
        cpfrExitMaxUtilTxAbsolute     Unsigned32,
        cpfrExitMaxUtilTxPercentage   Unsigned32,
        cpfrExitCostCalcMethod        INTEGER,
        cpfrExitCostDiscard           INTEGER,
        cpfrExitCostDiscardType       INTEGER,
        cpfrExitCostDiscardAbsolute   Unsigned32,
        cpfrExitCostDiscardPercent    Unsigned32,
        cpfrExitCostEndDayOfMonth     Unsigned32,
        cpfrExitCostEndOffsetType     INTEGER,
        cpfrExitCostEndOffset         TimeInterval,
        cpfrExitCostFixedFeeCost      Unsigned32,
        cpfrExitCostNickName          SnmpAdminString,
        cpfrExitCostSamplingPeriod    Unsigned32,
        cpfrExitCostRollupPeriod      Unsigned32,
        cpfrExitCostSummerTimeStart   DateAndTime,
        cpfrExitCostSummerTimeOffset  Unsigned32,
        cpfrExitCostSummerTimeEnd     DateAndTime,
        cpfrExitCapacity              CounterBasedGauge64,
        cpfrExitRxBandwidth           CounterBasedGauge64,
        cpfrExitTxBandwidth           CounterBasedGauge64,
        cpfrExitTxLoad                Gauge32,
        cpfrExitRxLoad                Gauge32,
        cpfrExitNickName              SnmpAdminString,
        cpfrExitCost1                 Gauge32,
        cpfrExitSustainedUtil1        Gauge32,
        cpfrExitCost2                 Gauge32,
        cpfrExitSustainedUtil2        Gauge32,
        cpfrExitCost3                 Gauge32,
        cpfrExitSustainedUtil3        Gauge32,
        cpfrExitRollupTotal           Gauge32,
        cpfrExitRollupDiscard         Gauge32,
        cpfrExitRollupLeft            Gauge32,
        cpfrExitRollupCollected       Gauge32,
        cpfrExitRollupMomTgtUtil      Gauge32,
        cpfrExitRollupStartingTgtUtil Gauge32,
        cpfrExitRollupCurrentTgtUtil  Gauge32,
        cpfrExitRollupCumRxBytes      Counter32,
        cpfrExitRollupCumTxBytes      Counter32,
        cpfrExitRollupTimeRemain      TimeInterval,
        cpfrExitOperStatus            INTEGER,
        cpfrExitRsvpBandwidthPool     CounterBasedGauge64
}

cpfrExitIndex OBJECT-TYPE
    SYNTAX          PfrExitIndex
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a PfR monitored/controlled exit." 
    ::= { cpfrExitEntry 1 }

cpfrExitStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.  The
        following columnar objects are allowed to be writable 
        when the storageType of this entry is permanent(4):
        cpfrExitName, cpfrExitType, cpfrDowngradeBgpCommunity,       
        cpfrExitMaxUtilRxType, cpfrExitMURxAbsolute,
        cpfrExitMURxPercentage     , cpfrExitMaxUtilTxType,
        cpfrExitMUTxAbsolute, cpfrExitMUTxPercentage,
        cpfrExitCostCalcMethod,        cpfrExitCostDiscard,
        cpfrExitCostDiscardType, cpfrExitCostDiscardAbsolute,
        cpfrExitCostDiscardPercent, cpfrExitCostEndDayOfMonth,
        cpfrExitCostEndOffset, cpfrExitCostFixedFeeCost,
        cpfrExitCostNickName, cpfrExitCostSamplingPeriod,
        cpfrExitCostRollupPeriod, cpfrExitCostSummerTimeStart,
        cpfrExitCostSummerTimeOffset, cpfrExitCostSummerTimeEnd."
    DEFVAL          { nonVolatile } 
    ::= { cpfrExitEntry 2 }

cpfrExitRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the exit table.
        The following columnar objects must be valid in order to
        transition the row to the active state: 
        cpfrExitName, cpfrExitType.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrExitEntry 3 }

cpfrExitName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the name of a PfR controlled interface
        on a BR."
    DEFVAL          { "" } 
    ::= { cpfrExitEntry 4 }

cpfrExitType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        internal(1),
                        external(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the exit type.

        'internal'
        The interface is an internal interface. Internal interfaces
        are used for communication between BRs.

        'external'
        The interface is an external interface. External interfaces
        are used for active and passive monitoring and traffic
        forwarding."
    DEFVAL          { external } 
    ::= { cpfrExitEntry 5 }

cpfrDowngradeBgpCommunity OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a BGP prepend community number attached
        to an inside prefix BGP advertisement from the network to
        another autonomous system.  The BGP prepend community will
        increase the number of autonomous system hops in the
        advertisement of the inside prefix to other autonomous 
        systems." 
    ::= { cpfrExitEntry 6 }

cpfrExitMaxUtilRxType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization configuration
        type for incoming traffic over a single PfR exit."
    DEFVAL          { relative } 
    ::= { cpfrExitEntry 7 }

cpfrExitMaxUtilRxAbsolute OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization on a PfR managed
        entrance link to an absolute value."
    DEFVAL          { 0 } 
    ::= { cpfrExitEntry 8 }

cpfrExitMaxUtilRxPercentage OBJECT-TYPE
    SYNTAX          Unsigned32 (1..100)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization on a PfR managed
        entrance link to a bandwidth percentage."
    DEFVAL          { 75 } 
    ::= { cpfrExitEntry 9 }

cpfrExitMaxUtilTxType OBJECT-TYPE
    SYNTAX          PfrMetricPolicyType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization configuration
        type for traffic over a single PfR managed exit."
    DEFVAL          { relative } 
    ::= { cpfrExitEntry 10 }

cpfrExitMaxUtilTxAbsolute OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum utilization on a PfR managed
        exit link to an absolute value."
    DEFVAL          { 0 } 
    ::= { cpfrExitEntry 11 }

cpfrExitMaxUtilTxPercentage OBJECT-TYPE
    SYNTAX          Unsigned32 (1..100)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the maximum utilization on a PfR
        managed exit link to a bandwidth percentage."
    DEFVAL          { 75 } 
    ::= { cpfrExitEntry 12 }

cpfrExitCostCalcMethod OBJECT-TYPE
    SYNTAX          INTEGER  {
                        combined(1),
                        separate(2),
                        sum(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates how the fee for a particular exit is
        calculated.

        'combined'
           Specifies billing based on combined egress and ingress
           rollup samples.

        'separate'
           Specifies billing based on separate egress and ingress
           rollup samples.

        'sum'
           Specifies billing based on egress and ingress rollup samples
           that are added and then combined."
    DEFVAL          { combined } 
    ::= { cpfrExitEntry 13 }

cpfrExitCostDiscard OBJECT-TYPE
    SYNTAX          INTEGER  {
                        daily(1),
                        monthly(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies how often rollup samples are discarded.

        'daily'
        Rollup samples are discarded every day.

        'monthly'
        Rollup samples are discarded every month."
    DEFVAL          { monthly } 
    ::= { cpfrExitEntry 14 }

cpfrExitCostDiscardType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        absolute(1),
                        percent(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the threshold value types for cost
        discard. 

        'absolute' 
           Absolute value configured in cpfrExitCostDiscardAbsolute
        object will be used. 

        'percent' 
           Percent value configured in cpfrExitCostDiscardPercent
        object will be used."
    DEFVAL          { absolute } 
    ::= { cpfrExitEntry 15 }

cpfrExitCostDiscardAbsolute OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "samples"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies an absolute number of rollup samples
        to be discarded."
    DEFVAL          { 0 } 
    ::= { cpfrExitEntry 16 }

cpfrExitCostDiscardPercent OBJECT-TYPE
    SYNTAX          Unsigned32 (1..99)
    UNITS           "percent"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies what percentage of the rollup samples
        should be discarded when calculating the exit cost." 
    ::= { cpfrExitEntry 17 }

cpfrExitCostEndDayOfMonth OBJECT-TYPE
    SYNTAX          Unsigned32 (1..31)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the end billing date."
    DEFVAL          { 1 } 
    ::= { cpfrExitEntry 18 }

cpfrExitCostEndOffsetType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        positive(1),
                        negative(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the cpfrExitCostEndOffset is before or
        after cpfrExitCostEndDayOfMonth.

        'positive'
           time After cpfrExitCostEndDayOfMonth.

        'negative'
           time before cpfrExitCostEndDayOfMonth."
    DEFVAL          { positive } 
    ::= { cpfrExitEntry 19 }

cpfrExitCostEndOffset OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates an offset in hours and minutes, allowing
        you to compensate for time zone differences." 
    ::= { cpfrExitEntry 20 }

cpfrExitCostFixedFeeCost OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "dollars"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a non-usage based fixed fee." 
    ::= { cpfrExitEntry 21 }

cpfrExitCostNickName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies a nickname for the cost structure."
    DEFVAL          { "" } 
    ::= { cpfrExitEntry 22 }

cpfrExitCostSamplingPeriod OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the sampling period."
    DEFVAL          { 0 } 
    ::= { cpfrExitEntry 23 }

cpfrExitCostRollupPeriod OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies that samples are rolled up at the
        interval specified for the minutes argument. This value must be
        greater than or equal to the corresponding instance of
        cpfrExitCostSamplingPeriod."
    DEFVAL          { 0 } 
    ::= { cpfrExitEntry 24 }

cpfrExitCostSummerTimeStart OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the date and time when the daylight
        savings time starts." 
    ::= { cpfrExitEntry 25 }

cpfrExitCostSummerTimeOffset OBJECT-TYPE
    SYNTAX          Unsigned32 (1..120)
    UNITS           "minutes"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the offset added in the spring and
        subtracted in the fall." 
    ::= { cpfrExitEntry 26 }

cpfrExitCostSummerTimeEnd OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the date and time when daylight saving
        time comes to an end." 
    ::= { cpfrExitEntry 27 }

cpfrExitCapacity OBJECT-TYPE
    SYNTAX          CounterBasedGauge64
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the capacity of the interface." 
    ::= { cpfrExitEntry 28 }

cpfrExitRxBandwidth OBJECT-TYPE
    SYNTAX          CounterBasedGauge64
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the receive bandwidth as configured on
        the interface." 
    ::= { cpfrExitEntry 29 }

cpfrExitTxBandwidth OBJECT-TYPE
    SYNTAX          CounterBasedGauge64
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the transmit bandwidth as configured on
        the interface." 
    ::= { cpfrExitEntry 30 }

cpfrExitTxLoad OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the transmit load of the exit." 
    ::= { cpfrExitEntry 31 }

cpfrExitRxLoad OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the receive traffic load of the exit." 
    ::= { cpfrExitEntry 32 }

cpfrExitNickName OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object indicates the exit nickname assigned to an external
        PfR interface." 
    ::= { cpfrExitEntry 33 }

cpfrExitCost1 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "dollars"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the exit link cost for the current
        month." 
    ::= { cpfrExitEntry 34 }

cpfrExitSustainedUtil1 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the sustained utilization of the exit
        link in the current month." 
    ::= { cpfrExitEntry 35 }

cpfrExitCost2 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "dollars"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the exit link cost of the previous
        month." 
    ::= { cpfrExitEntry 36 }

cpfrExitSustainedUtil2 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the sustained utilization of the exit
        link for the month prior to the previous month." 
    ::= { cpfrExitEntry 37 }

cpfrExitCost3 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "dollars"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the exit link cost for the month prior to
        the previous month." 
    ::= { cpfrExitEntry 38 }

cpfrExitSustainedUtil3 OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the sustained utilization of the exit
        link the month prior to the previous month." 
    ::= { cpfrExitEntry 39 }

cpfrExitRollupTotal OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "minutes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total rollups." 
    ::= { cpfrExitEntry 40 }

cpfrExitRollupDiscard OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the total discarded rollups." 
    ::= { cpfrExitEntry 41 }

cpfrExitRollupLeft OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the left over rollups." 
    ::= { cpfrExitEntry 42 }

cpfrExitRollupCollected OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the rollups that are being collected." 
    ::= { cpfrExitEntry 43 }

cpfrExitRollupMomTgtUtil OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the momentary utilization of the
        targets." 
    ::= { cpfrExitEntry 44 }

cpfrExitRollupStartingTgtUtil OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the target when the rollup starts." 
    ::= { cpfrExitEntry 45 }

cpfrExitRollupCurrentTgtUtil OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "kbps"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates current rollup target." 
    ::= { cpfrExitEntry 46 }

cpfrExitRollupCumRxBytes OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the cumulative receive bytes in a
        rollup." 
    ::= { cpfrExitEntry 47 }

cpfrExitRollupCumTxBytes OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the cumulative transmit bytes in a
        rollup." 
    ::= { cpfrExitEntry 48 }

cpfrExitRollupTimeRemain OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the remaining time before a new rollup is
        started." 
    ::= { cpfrExitEntry 49 }

cpfrExitOperStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        up(1),
                        down(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the current status of an exit.

        'up'
           The exit is up.

        'down'
           The exit is down." 
    ::= { cpfrExitEntry 50 }

cpfrExitRsvpBandwidthPool OBJECT-TYPE
    SYNTAX          CounterBasedGauge64
    UNITS           "bytes"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the bandwidth pool for RSVP in PfR." 
    ::= { cpfrExitEntry 51 }
 


cpfrExitCostTierTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrExitCostTierEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the cost tier instances created by the
        system.

        This table has an expansion dependent relationship on the  
        cpfrExitTable, containing zero or more rows for each
        cpfrExitEntry."
    ::= { ciscoPfrMIBObjects 10 }

cpfrExitCostTierEntry OBJECT-TYPE
    SYNTAX          CpfrExitCostTierEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the configuration of a cost tier of a PfR
        monitored or Controlled exit.

        A peer SNMP entity may create a cost tier for a PfR monitored
        or controlled exit by setting an instance of
        cpfrExitCostTierRowStatus to 'createAndWait' or 'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create a
        cost tier for a PfR monitored or controlled external exit.  In
        these cases, the system must automatically create a row in the
        cpfrExitCostTierTable.

        A peer SNMP entity may destroy a cost tier from a PfR monitored
        or controlled external exit by setting the corresponding
        instance of cpfrLinkGroupRowStatus to 'destroy'.  Observe that
        an implementation that does not support this option must specify
        this limitation in an agent capability statement.

        Other management entities may destroy a cost tier from a
        PfR monitored or controlled external exit.  In these cases, the
        system must automatically destroy the corresponding row in the
        cpfrExitCostTierTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrExitEntry."
    INDEX           {
                        cpfrMCIndex,
                        cpfrBRIndex,
                        cpfrExitIndex,
                        cpfrExitCostTierIndex
                    } 
    ::= { cpfrExitCostTierTable 1 }

CpfrExitCostTierEntry ::= SEQUENCE {
        cpfrExitCostTierIndex       Unsigned32,
        cpfrExitCostTierStorageType StorageType,
        cpfrExitCostTierRowStatus   RowStatus,
        cpfrExitCostTierFee         Unsigned32
}

cpfrExitCostTierIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies the cost tier of a PfR monitored/controlled exit." 
    ::= { cpfrExitCostTierEntry 1 }

cpfrExitCostTierStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.
        The following columnar objects are allowed to be writable 
        when the storageType of this entry is permanent(4):
        cpfrExitCostTierFee."
    DEFVAL          { nonVolatile } 
    ::= { cpfrExitCostTierEntry 2 }

cpfrExitCostTierRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a row in the exit cost tier
        table.  The following columnar objects must be valid in 
        order to transition the row to the active state: 
        cpfrExitCostTierFee.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrExitCostTierEntry 3 }

cpfrExitCostTierFee OBJECT-TYPE
    SYNTAX          Unsigned32 (0..4294967295)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the cost value of a cost tier."
    DEFVAL          { 0 } 
    ::= { cpfrExitCostTierEntry 4 }
 


cpfrTrafficClassTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrTrafficClassEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the TC instances created by the system."
    ::= { ciscoPfrMIBObjects 11 }

cpfrTrafficClassEntry OBJECT-TYPE
    SYNTAX          CpfrTrafficClassEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the metrics that identify a PfR monitored
        or controlled TC.

        A device supporting PfR creates a row in a
        cpfrTrafficClassTable when it recognizes the addition of a new
        TC monitored by PfR. Likewise, such a device destroys a row 
        in the cpfrTrafficClassTable when a TC has been purged from the
        system."
    INDEX           {
                        cpfrMCIndex,
                        cpfrTrafficClassIndex
                    } 
    ::= { cpfrTrafficClassTable 1 }

CpfrTrafficClassEntry ::= SEQUENCE {
        cpfrTrafficClassIndex Unsigned32,
        cpfrTCBRIndex         PfrBorderRouterIndex,
        cpfrTCBRExitIndex     PfrExitIndex,
        cpfrTCMapIndex        PfrMapIndexOrZero,
        cpfrTCMapPolicyIndex  PfrMapPolicyIndex,
        cpfrTrafficClassValid BITS,
        cpfrTCSrcPrefixType   InetAddressType,
        cpfrTCSrcPrefix       InetAddress,
        cpfrTCSrcPrefixLen    Gauge32,
        cpfrTCSrcMinPort      CiscoPort,
        cpfrTCSrcMaxPort      CiscoPort,
        cpfrTCDstPrefixType   InetAddressType,
        cpfrTCDstPrefix       InetAddress,
        cpfrTCDstPrefixLen    Gauge32,
        cpfrTCDstMinPort      CiscoPort,
        cpfrTCDstMaxPort      CiscoPort,
        cpfrTCDscpValue       DscpOrAny,
        cpfrTCProtocol        INTEGER,
        cpfrTCNbarApplication CiscoPdProtocolIndex
}

cpfrTrafficClassIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates an arbitrary integer-value that uniquely
        identifies a TC monitored/controlled by PfR." 
    ::= { cpfrTrafficClassEntry 1 }

cpfrTCBRIndex OBJECT-TYPE
    SYNTAX          PfrBorderRouterIndex (1..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the index of the BR on which PfR is
        controlling the TC." 
    ::= { cpfrTrafficClassEntry 2 }

cpfrTCBRExitIndex OBJECT-TYPE
    SYNTAX          PfrExitIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the index of the exit on which PfR is
        controlling the TC." 
    ::= { cpfrTrafficClassEntry 3 }

cpfrTCMapIndex OBJECT-TYPE
    SYNTAX          PfrMapIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the map index of the PfR map defining the
        policy for the TC." 
    ::= { cpfrTrafficClassEntry 4 }

cpfrTCMapPolicyIndex OBJECT-TYPE
    SYNTAX          PfrMapPolicyIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the map policy index of the PfR map
        defining the policy for the TC." 
    ::= { cpfrTrafficClassEntry 5 }

cpfrTrafficClassValid OBJECT-TYPE
    SYNTAX          BITS {
                        source(0),
                        destination(1),
                        sourcePort(2),
                        destinationPort(3),
                        dscp(4),
                        protocol(5),
                        nbar(6)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates which objects in the traffic class table
        are valid. If an attribute of a TC is configured, the 
        corresponding bit in this object should be set.

        'source'
           Source address is valid.

        'destination'
           Destination address is valid.

        'sourcePort'
           Source port object in the entry is valid.

        'destinationPort'
           Destination port object in the entry is valid.

        'dscp'
           DSCP object in the entry is valid.

        'protocol'
           Protocol object in the entry is valid.

        'nbar'
           NBAR object in the entry is valid." 
    ::= { cpfrTrafficClassEntry 6 }

cpfrTCSrcPrefixType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the type of IP address indicated by the
        corresponding instance of cpfrTCSrcPrefix." 
    ::= { cpfrTrafficClassEntry 7 }

cpfrTCSrcPrefix OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the source IP prefix of the corresponding
        TC." 
    ::= { cpfrTrafficClassEntry 8 }

cpfrTCSrcPrefixLen OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the prefix length of source IP address
        for the TC." 
    ::= { cpfrTrafficClassEntry 9 }

cpfrTCSrcMinPort OBJECT-TYPE
    SYNTAX          CiscoPort
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the minimum source port number for a
        TC." 
    ::= { cpfrTrafficClassEntry 10 }

cpfrTCSrcMaxPort OBJECT-TYPE
    SYNTAX          CiscoPort
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum source port number for a TC" 
    ::= { cpfrTrafficClassEntry 11 }

cpfrTCDstPrefixType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the type of IP address indicated by the
        corresponding instances of cpfrTCDstPrefix." 
    ::= { cpfrTrafficClassEntry 12 }

cpfrTCDstPrefix OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the destination IP prefix of the
        corresponding TC." 
    ::= { cpfrTrafficClassEntry 13 }

cpfrTCDstPrefixLen OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the prefix length of destination IP
        address for the TC." 
    ::= { cpfrTrafficClassEntry 14 }

cpfrTCDstMinPort OBJECT-TYPE
    SYNTAX          CiscoPort
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the minimum destination port of a TC." 
    ::= { cpfrTrafficClassEntry 15 }

cpfrTCDstMaxPort OBJECT-TYPE
    SYNTAX          CiscoPort
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the maximum destination port of a TC" 
    ::= { cpfrTrafficClassEntry 16 }

cpfrTCDscpValue OBJECT-TYPE
    SYNTAX          DscpOrAny (-1 | 0..63)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the Differentiated Services Code Point
        (DSCP) value of a TC." 
    ::= { cpfrTrafficClassEntry 17 }

cpfrTCProtocol OBJECT-TYPE
    SYNTAX          INTEGER  {
                        static(1),
                        eigrp(2),
                        ribpbr(3),
                        bgp(4),
                        pbr(5),
                        cce(6),
                        unknown(7)
                    }
    UNITS           "bgp"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the routing protocol by a TC." 
    ::= { cpfrTrafficClassEntry 18 }

cpfrTCNbarApplication OBJECT-TYPE
    SYNTAX          CiscoPdProtocolIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the application or protocol recognized by
        NBAR. The value of this object points to an entry in
        cnpdSupportedProtocolsTable, which describes the recognized
        protocol, and is defined in CISCO-NBAR-PROTOCOL-DISCOVERY-MIB." 
    ::= { cpfrTrafficClassEntry 19 }
 


cpfrTrafficClassStatusTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrTrafficClassStatusEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the TC status instances created by the
        system.  

        This table has an one-to-one relationship with
        cpfrTrafficClassTable,  containing a row for each entry in
        cpfrTrafficClassTable."
    ::= { ciscoPfrMIBObjects 12 }

cpfrTrafficClassStatusEntry OBJECT-TYPE
    SYNTAX          CpfrTrafficClassStatusEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the status of a PfR monitored or controlled
        TC.

        A device supporting PfR creates a row in a
        cpfrTrafficClassStatusTable when it recognizes the addition of
        a new TC.  Likewise, such a device destroys a row in the
        cpfrTrafficClassStatusTable when a TC has been purged from the
        system."
    INDEX           {
                        cpfrMCIndex,
                        cpfrTrafficClassIndex
                    } 
    ::= { cpfrTrafficClassStatusTable 1 }

CpfrTrafficClassStatusEntry ::= SEQUENCE {
        cpfrTCStatus                 INTEGER,
        cpfrTCSType                  INTEGER,
        cpfrTCSLearnListIndex        PfrLearnListIndexOrZero,
        cpfrTCSTimeOnCurrExit        Gauge32,
        cpfrTCSControlState          INTEGER,
        cpfrTCSControlBy             INTEGER,
        cpfrTCSTimeRemainCurrState   Gauge32,
        cpfrTCSLastOOPEventTime      TimeStamp,
        cpfrTCSLastOOPReason         INTEGER,
        cpfrTCSLastRouteChangeEvent  TimeStamp,
        cpfrTCSLastRouteChangeReason PfrLastUncontrolReason
}

cpfrTCStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        default(1),
                        choose(2),
                        holddown(3),
                        inpolicy(4),
                        oopolicy(5)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the current state of a TC.

        'default'
        The state means that the parent IP routes control the exit
        for this destination prefix. This would be the same behavior as
        if PfR were not configured or was shutdown.

        'choose'
        The state indicates PfR is choosing the exit for the prefix.

        'holddown'
        The state is seen when a TC is initially controlled by PfR.
        This holddown concept is applied to prevent churning or erratic
        behavior of PfR managed routes from being injected and
        withdrawn
        from the IP routing table (and subsequently being redistributed
        by some IGP) or BGP tables.

        'inpolicy'
        This state means that the prefix meets the policy associated
        with this prefix or application. 

        'oopolicy'
        The prefix or application has been identified as failing to
        meet its respective policy." 
    ::= { cpfrTrafficClassStatusEntry 1 }

cpfrTCSType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        learned(1),
                        configured(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates whether a TC was learned or configured.

        'learned'
           The TC is learned by PfR.

        'configured'
           The TC is configured via CLI command." 
    ::= { cpfrTrafficClassStatusEntry 2 }

cpfrTCSLearnListIndex OBJECT-TYPE
    SYNTAX          PfrLearnListIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the index of the learn list
        responsible for PfR learning this TC." 
    ::= { cpfrTrafficClassStatusEntry 3 }

cpfrTCSTimeOnCurrExit OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the length of time the TC has been
        controlled on the current exit." 
    ::= { cpfrTrafficClassStatusEntry 4 }

cpfrTCSControlState OBJECT-TYPE
    SYNTAX          INTEGER  {
                        controlled(1),
                        uncontrolled(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The object indicates the control state of a TC.

        'controlled'
           PfR is controlling this TC.

        'uncontrolled'
           PfR is not controlling this TC." 
    ::= { cpfrTrafficClassStatusEntry 5 }

cpfrTCSControlBy OBJECT-TYPE
    SYNTAX          INTEGER  {
                        static(1),
                        eigrp(2),
                        ribpbr(3),
                        bgp(4),
                        pbr(5),
                        cce(6),
                        unknown(7)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates which routing protocol a TC is
        being controlled by.

        'static'
           TC is controlled by static routing protocol.

        'eigrp'
           TC is controlled by EIGRP.

        'ribpbr'
           TC is controlled by RIB.

        'bgp'
           TC is controlled by BGP

        'pbr'
           TC is controlled by PBR.

        'cce'
           TC is controlled by CCE.

        'unknown'
           TC os controlled by unknown protocols" 
    ::= { cpfrTrafficClassStatusEntry 6 }

cpfrTCSTimeRemainCurrState OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the time remaining before the prefix
        timer expires." 
    ::= { cpfrTrafficClassStatusEntry 7 }

cpfrTCSLastOOPEventTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the time when the last out-of-policy
        event was observed." 
    ::= { cpfrTrafficClassStatusEntry 8 }

cpfrTCSLastOOPReason OBJECT-TYPE
    SYNTAX          INTEGER  {
                        delayOOPPassiveMode(1),
                        lossOOPPassiveMode(2),
                        unreachableOOPPassiveMode(3),
                        delayOOPActiveMode(4),
                        lossOOPActiveMode(5),
                        unreachableOOPActiveMode(6),
                        jitterOOPActiveMode(7),
                        mosOOPActiveMode(8),
                        none(9),
                        rsvpOOPRecomputeExclude(10)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the last out-of-policy reason.

        This object indicates the reason that causes an out-of-policy
        event.

        'delayOOPassiveMode'
        The Delay is out of policy in passive mode.

        'lossOOPassiveMode'
        The loss is out of policy in passive mode.

        'unreachableOOPassiveMode'
        The unreachability rate is out of policy in passive mode.

        'delayOOPActiveMode'
        The Delay is out of policy in active mode.

        'lossOOPActiveMode'
        The loss is out of policy in active mode.

        'unreachableOOPActiveMode'
        The unreachability rate is out of policy in active mode.

        'jitterOOPActiveMode'
        The jitter is out of policy in active mode.

        'mosOOPActiveMode'
        The mos is out of policy in active mode.

        'none'
        no reason.

        'rsvpRecomputeExclude'
        The TC was excluded by recomputing RSVP bandwidth." 
    ::= { cpfrTrafficClassStatusEntry 9 }

cpfrTCSLastRouteChangeEvent OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the value of sysUpTime when the last
        route change occurred for this TC." 
    ::= { cpfrTrafficClassStatusEntry 10 }

cpfrTCSLastRouteChangeReason OBJECT-TYPE
    SYNTAX          PfrLastUncontrolReason
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the reason the last route change
        occurred." 
    ::= { cpfrTrafficClassStatusEntry 11 }
 


cpfrTrafficClassMetricTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrTrafficClassMetricEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the TC's metrics instances created by the
        system.  

        This table has an one-to-one relationship with
        cpfrTrafficClassTable,  containing a row for each entry in
        cpfrTrafficClassTable."
    ::= { ciscoPfrMIBObjects 13 }

cpfrTrafficClassMetricEntry OBJECT-TYPE
    SYNTAX          CpfrTrafficClassMetricEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing the metric for a PfR monitored or
        controlled TC.

        A device supporting PfR creates a row in a
        cpfrTrafficClassMetricTable when it recognizes the addition of
        a new TC.  Likewise, such a device destroys a row in the
        cpfrTrafficClassMetricTable when a TC has been purged from the
        system."
    INDEX           {
                        cpfrMCIndex,
                        cpfrTrafficClassIndex
                    } 
    ::= { cpfrTrafficClassMetricTable 1 }

CpfrTrafficClassMetricEntry ::= SEQUENCE {
        cpfrTCMLastUpdateTime          TimeStamp,
        cpfrTCMAge                     Gauge32,
        cpfrTCMetricsValid             BITS,
        cpfrTCMActiveSTJitterAvg       Gauge32,
        cpfrTCMMOSPercentage           Gauge32,
        cpfrTCMAttempts                Gauge32,
        cpfrTCMPackets                 Gauge32,
        cpfrTCMPassiveSTUnreachableAvg Gauge32,
        cpfrTCMPassiveSTDelayAvg       Gauge32,
        cpfrTCMPassiveSTLossAvg        Gauge32,
        cpfrTCMActiveSTUnreachableAvg  Gauge32,
        cpfrTCMActiveSTDelayAvg        Gauge32,
        cpfrTCMPassiveLTUnreachableAvg Gauge32,
        cpfrTCMPassiveLTDelayAvg       Gauge32,
        cpfrTCMPassiveLTLossAvg        Gauge32,
        cpfrTCMActiveLTUnreachableAvg  Gauge32,
        cpfrTCMActiveLTDelayAvg        Gauge32
}

cpfrTCMLastUpdateTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the value of sysUpTime when the metrics
        were last updated." 
    ::= { cpfrTrafficClassMetricEntry 1 }

cpfrTCMAge OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the age of a metric." 
    ::= { cpfrTrafficClassMetricEntry 2 }

cpfrTCMetricsValid OBJECT-TYPE
    SYNTAX          BITS {
                        activeSTJitterAvg(0),
                        mosPercentage(1),
                        attempts(2),
                        packets(3),
                        passiveSTUnreachableAvg(4),
                        passiveSTdelayAvg(5),
                        passiveSTLossAvg(6),
                        activeSTUnreachableAvg(7),
                        activeSTDelayAvg(8),
                        passiveLTUnreachableAvg(9),
                        passiveLTDelayAvg(10),
                        passiveLTLossAvg(11),
                        activeLTUnreachableAvg(12),
                        activeLTDelayAvg(13)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates if an object in the entry is valid.

        'relativeDelay'
           Relative delay is a valid value.

        'relativeJitter'
           Relative jitter is a valid value.

        'relativeDelayLoss'
           Relative loss is a valid value.

        'relativeDelayUnreachable'
           Relative unreachability rate is a valid value.

        'activeDelay'
           Absolute delay is a valid value.

        'activeJitter'
           Absolute jitter is a valid value.

        'activeLoss'
           Absolute loss is a valid value.

        'activeUnreachable'
           Absolute unreachable rate is a valid value.

        'mosPercentage'
           Most percentage is a valid value.

        'attempts'
           The number of attempts is a valid value.

        'packets'
           Probe packet is a valid value.

        'passiveSTUnreachableAvg'
           Short time unreachability rate in passive mode is a valid
        value.

        'passiveSTDelayAvg'
           Short time delay in passive mode is a valid value.

        'passiveSTLossAvg'
           Short time loss in passive mode is a valid value.

        'activeSTUnreachableAvg'
           Short time unreachability rate in active mode is a valid
        value.

        'activeSTDelayAvg'
           Short time delay in active mode is a valid value.

        'passiveLTUnreachableAvg'
           Long time unreachability rate in passive mode is a valid
        value. 

        'passiveLTDelayAvg'
           Long time delay in passive mode is a valid value.

        'passiveLTLossAvg'
           Long time loss in passive mode is a valid value.

        'activeLTUnreachableAvg'
           Long time unreachability rate in active mode is a valid
        value.

        'activeLTDelayAvg'
           Long time delay in active mode is a valid value." 
    ::= { cpfrTrafficClassMetricEntry 3 }

cpfrTCMActiveSTJitterAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates average jitter of a TC in active
        mode." 
    ::= { cpfrTrafficClassMetricEntry 4 }

cpfrTCMMOSPercentage OBJECT-TYPE
    SYNTAX          Gauge32 (0..100)
    UNITS           "percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of Mean Opinion Score (MOS)
        packets with a percentage below threshold in active mode." 
    ::= { cpfrTrafficClassMetricEntry 5 }

cpfrTCMAttempts OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "attempts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of attempts to send an
        active probe to a target for this TC." 
    ::= { cpfrTrafficClassMetricEntry 6 }

cpfrTCMPackets OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "Packets/probe"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number packets per jitter probe." 
    ::= { cpfrTrafficClassMetricEntry 7 }

cpfrTCMPassiveSTUnreachableAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "flows-per-million"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of the average short term
        unreachable targets in passive mode." 
    ::= { cpfrTrafficClassMetricEntry 8 }

cpfrTCMPassiveSTDelayAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the short term delay as measured by
        Netflow. The short term interval is 5 minutes." 
    ::= { cpfrTrafficClassMetricEntry 9 }

cpfrTCMPassiveSTLossAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "packets"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of short term packets lost
        in passive mode." 
    ::= { cpfrTrafficClassMetricEntry 10 }

cpfrTCMActiveSTUnreachableAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    UNITS           "flows-per-million"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of short term unreachable
        packets in active mode." 
    ::= { cpfrTrafficClassMetricEntry 11 }

cpfrTCMActiveSTDelayAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the short term delay in
        milliseconds in active mode." 
    ::= { cpfrTrafficClassMetricEntry 12 }

cpfrTCMPassiveLTUnreachableAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of long term unreachable
        packets in flows-per-million in passive mode." 
    ::= { cpfrTrafficClassMetricEntry 13 }

cpfrTCMPassiveLTDelayAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the long term delay in milliseconds
        in passive mode." 
    ::= { cpfrTrafficClassMetricEntry 14 }

cpfrTCMPassiveLTLossAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of packets lost over the
        long term in packets-per-million in passive mode." 
    ::= { cpfrTrafficClassMetricEntry 15 }

cpfrTCMActiveLTUnreachableAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of long term unreachable
        packets in flows-per-million in active mode." 
    ::= { cpfrTrafficClassMetricEntry 16 }

cpfrTCMActiveLTDelayAvg OBJECT-TYPE
    SYNTAX          Gauge32 (0..4294967295)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the long term delay in milliseconds
        in active mode." 
    ::= { cpfrTrafficClassMetricEntry 17 }
 


cpfrLinkGroupExitTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrLinkGroupExitEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the link group instances created by the
        system. 

        It has an expansion dependent relationship on cpfrExitTable, 
        containing zero or more rows for each cpfrExitEntry."
    ::= { ciscoPfrMIBObjects 14 }

cpfrLinkGroupExitEntry OBJECT-TYPE
    SYNTAX          CpfrLinkGroupExitEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing a link group configured for a PfR monitored
        or controlled external exit.

        A peer SNMP entity may create a link group for a PfR monitored
        or controlled exit by setting an instance of
        cpfrLinkGroupRowStatus to 'createAndWait' or 'createAndGo'. 
        Observe that an implementation that does not support these
        option must specify these limitations in an agent capability
        statement.

        Other management entities (e.g., the local console) may create a
        link group for a PfR monitored or controlled external exit.  In
        these cases, the system must automatically create a row in the
        cpfrLinkGroupExitTable.

        A peer SNMP entity may destroy a link group from a PfR monitored
        or controlled external exit by setting the corresponding
        instance of cpfrLinkGroupRowStatus to 'destroy'.  Observe that
        an implementation that does not support this option must specify
        this limitation in an agent capability statement.

        Other management entities may destroy a link group from a
        PfR monitored or controlled external exit.  In these cases, the
        system must automatically destroy the corresponding row in the
        cpfrLinkGroupExitTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrExitEntry."
    INDEX           {
                        cpfrMCIndex,
                        cpfrLinkGroupName,
                        cpfrLinkGroupIndex
                    } 
    ::= { cpfrLinkGroupExitTable 1 }

CpfrLinkGroupExitEntry ::= SEQUENCE {
        cpfrLinkGroupName        SnmpAdminString,
        cpfrLinkGroupIndex       Unsigned32,
        cpfrLinkGroupStorageType StorageType,
        cpfrLinkGroupRowStatus   RowStatus,
        cpfrLinkGroupBRIndex     PfrBorderRouterIndex,
        cpfrLinkGroupExitIndex   PfrExitIndex,
        cpfrLinkGroupType        INTEGER
}

cpfrLinkGroupName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name of a link-group." 
    ::= { cpfrLinkGroupExitEntry 1 }

cpfrLinkGroupIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates a unique arbitrary number identifying a
        specific instance in a link-group with the identical name." 
    ::= { cpfrLinkGroupExitEntry 2 }

cpfrLinkGroupStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.
        The following columnar objects are allowed to be writable 
        when the storageType of this entry is permanent(4):
        cpfrLinkGroupBRIndex, cpfrLinkGroupExitIndex."
    DEFVAL          { nonVolatile } 
    ::= { cpfrLinkGroupExitEntry 3 }

cpfrLinkGroupRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a NBAR application list.
        The following columnar objects must be valid in order to
        transition the row to the active state: 
        None.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrLinkGroupExitEntry 4 }

cpfrLinkGroupBRIndex OBJECT-TYPE
    SYNTAX          PfrBorderRouterIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the PfR BR on which the exit related to
        this link group is configured." 
    ::= { cpfrLinkGroupExitEntry 5 }

cpfrLinkGroupExitIndex OBJECT-TYPE
    SYNTAX          PfrExitIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the exit, identified by this index, in
        combination with cpfrLinkGroupBRIndex, in cpfrExitTable." 
    ::= { cpfrLinkGroupExitEntry 6 }

cpfrLinkGroupType OBJECT-TYPE
    SYNTAX          INTEGER  {
                        primaryLinkGroup(1),
                        fallbackLinkGroup(2),
                        none(3)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates PfR Link-Group type.

        'primaryLinkGroup'
            primary link-group

        'fallbackLinkGroup'
            fallback link-group

        'none'
            There is no link-group." 
    ::= { cpfrLinkGroupExitEntry 7 }
 


cpfrNbarApplListTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CpfrNbarApplListEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the NBAR list instances created by the
        system.  

        This table has an expansion dependent relationship on
        cpfrMatchTable and cpfrLearnListTable, containing zero or more
        rows for each cpfrMatchEntry and cpfrLearnListEntry."
    ::= { ciscoPfrMIBObjects 15 }

cpfrNbarApplListEntry OBJECT-TYPE
    SYNTAX          CpfrNbarApplListEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describing a NBAR application configured in PfR.

        A peer SNMP entity may create an NBAR application entry by
        setting an instance of cpfrNbarApplListRowStatus to
        'createAndWait' or
        'createAndGo'.  Observe that an implementation that does not
        support these option must specify these limitations in an agent
        capability statement.

        Other management entities (e.g., the local console) may create a
        NBAR application.  In these cases, the system must
        automatically create a row in the cpfrNbarApplListTable.

        A peer SNMP entity may destroy a NBAR application by setting the
        corresponding instance of cpfrNbarApplListRow Status to
        'destroy'.  Observe that an implementation that does not support
        this option must specify this limitation in an agent
        capability statement.

        Other management entities may destroy an NBAR application.  In
        these cases, the system must automatically destroy the
        corresponding row in the cpfrNbarApplListTable.

        The system automatically destroys rows when the system or
        EMS/NMS destroys the corresponding entry in cpfrMatchEntry and
        cpfrLearnListEntry."
    INDEX           {
                        cpfrNbarApplListName,
                        cpfrNbarApplIndex
                    } 
    ::= { cpfrNbarApplListTable 1 }

CpfrNbarApplListEntry ::= SEQUENCE {
        cpfrNbarApplListName        SnmpAdminString,
        cpfrNbarApplIndex           Unsigned32,
        cpfrNbarApplListStorageType StorageType,
        cpfrNbarApplListRowStatus   RowStatus,
        cpfrNbarApplPdIndex         CiscoPdProtocolIndex
}

cpfrNbarApplListName OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (1..64))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name of a NBAR application list." 
    ::= { cpfrNbarApplListEntry 1 }

cpfrNbarApplIndex OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates a unique arbitrary number identifying a
        specific protocol in a PfR NBAR Application List." 
    ::= { cpfrNbarApplListEntry 2 }

cpfrNbarApplListStorageType OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row.
        The following columnar objects are allowed to be writable 
        when the storageType of this conceptual row is permanent(4):
        cpfrNbarApplPdIndex."
    DEFVAL          { nonVolatile } 
    ::= { cpfrNbarApplListEntry 3 }

cpfrNbarApplListRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of a NBAR application list.
        The following columnar objects must be valid in order to
        transition the row to the active state: 
        None.

        The following columnar objects can be modified when the row is
        in the active state:
        None" 
    ::= { cpfrNbarApplListEntry 4 }

cpfrNbarApplPdIndex OBJECT-TYPE
    SYNTAX          CiscoPdProtocolIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object indicates the application or protocol recognized by
        NBAR. The value of this object points to an entry in    
        cnpdSupportedProtocolsTable, which describes the recognized
        protocol and is defined in CISCO-NBAR-PROTOCOL-DISCOVERY-MIB." 
    ::= { cpfrNbarApplListEntry 5 }
 

ciscoPfrMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoPfrMIBConform 1 }


cpfrMCStatusChangeNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrMCChangeConfigType,
                        cpfrMCChangeConfigValue
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification when one of
        cpfrMCLoggingAdminStatus, cpfrMCAdminStatus, cpfrMCControlMode,
        cpfrMCClear, on PfR master controller is changed."
   ::= { ciscoPfrMIBNotifs 1 }

cpfrBRStatusChangeNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrBRAddressType,
                        cpfrBRAddress,
                        cpfrBROperStatus,
                        cpfrBRConnStatus,
                        cpfrBRConnFailureReason
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification when the master
        controller detects a status change with a border router."
   ::= { ciscoPfrMIBNotifs 2 }

cpfrExitStatusChangeNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrExitName,
                        cpfrExitType,
                        cpfrExitOperStatus,
                        cpfrBRAddressType,
                        cpfrBRAddress
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification when the master
        controller detects a status change with an exit link."
   ::= { ciscoPfrMIBNotifs 3 }

cpfrTrafficClassEventNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrTCStatus,
                        cpfrTCSLastOOPReason,
                        cpfrBRAddressType,
                        cpfrBRAddress,
                        cpfrExitName,
                        cpfrLinkGroupType
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification when the master
        controller detects a traffic class status event."
   ::= { ciscoPfrMIBNotifs 4 }

cpfrTCInpolicyThresholdBelowNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrMapEventNotifCtrlType,
                        cpfrMapEventNotifCtrlThreshold,
                        cpfrMapEventTCCount
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification, when the master
        controller detects number of in-policy traffic class falls
        below the configured threshold."
   ::= { ciscoPfrMIBNotifs 5 }

cpfrTCPrimaryThresholdBelowNotify NOTIFICATION-TYPE
    OBJECTS         {
                        cpfrMapEventNotifCtrlType,
                        cpfrMapEventNotifCtrlThreshold,
                        cpfrMapEventTCCount
                    }
    STATUS          current
    DESCRIPTION
        "The device generates this notification, when the master
        controller detects number of in-policy traffic classes at
        primary link group falls below the configured threshold."
   ::= { ciscoPfrMIBNotifs 6 }
ciscoPfrMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoPfrMIBConform 2 }


ciscoPfrMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "This compliance statement specifies the minimal  requirements
        an implementation must meet in order to claim full compliance
        with the definition of the CISCO-PFR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cpfrMasterControllerGroup,
                        cpfrBorderRouterGroup,
                        cpfrTrafficClassGroup
                    }
    ::= { ciscoPfrMIBCompliances 1 }

ciscoPfrMIBComplianceRev1 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "This compliance statement specifies the new minimal
        requirements an implementation must meet in order to claim full
        compliance with the definition of the CISCO-PFR-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cpfrMasterControllerGroup,
                        cpfrBorderRouterGroup,
                        cpfrTrafficClassGroup,
                        cpfrMasterControllerGroupRev1,
                        cpfrBorderRouterGroupRev1,
                        cpfrMCNotificationGroup
                    }

    OBJECT          cpfrMCStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCKeepAliveTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCMaxPrefixTotal
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCMaxPrefixLearn
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCEntranceLinksMaxUtil
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCExitLinksMaxUtil
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCPortNumber
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCTracerouteProbeDelay
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCRsvpPostDialDelay
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCRsvpSignalingRetries
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCNetflowExporter
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCAdminStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapBackoffMinTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapBackoffMaxTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapBackoffStepTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapDelayType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapDelayRelativePercent
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapDelayThresholdMax
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapHolddownTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapPrefixForwardInterface
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapJitterThresholdMax
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapLinkGroupName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapFallbackLinkGroupName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapLossType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapLossRelativeAvg
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapLossThresholdMax
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapModeMonitor
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapModeRouteOpts
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapRouteMetricBgpLocalPref
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapRouteMetricEigrpTagCommunity
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapRouteMetricStaticTag
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapModeSelectExitType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapMOSThresholdMin
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapMOSPercentage
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapNextHopAddressType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapNextHopAddress
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapPeriodicTimer
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapActiveProbeFrequency
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapActiveProbePackets
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapTracerouteReporting
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapUnreachableType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapUnreachableRelativeAvg
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapUnreachableThresholdMax
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapRoundRobinResolver
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchValid
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchAddrAccessList
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchAddrPrefixList
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchAddrPrefixInside
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchLearnMode
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchLearnListName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchTCNbarListName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchTCNbarApplPfxList
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMatchTCPfxInside
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListReferenceName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListSequenceNum
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListMethod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListAclName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListPfxName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListPfxInside
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListNbarAppl
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnListFilterPfxName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeTargetAddressType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeTargetAddress
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeTargetPortNumber
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbePfrMapIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeDscpValue
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeCodecName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeMapIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeMapPolicyIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrActiveProbeAdminStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolveStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolveRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolvePolicyType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolveVariance
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolveMapIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolveMapPolicyIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnAggregationType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnAggregationPrefixLen
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnMethod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnExpireType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnExpireSessionNum
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnExpireTime
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnMonitorPeriod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnPeriodInterval
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnPrefixesNumber
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnAggAccesslistName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLearnFilterAccessListName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrNbarApplListStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrNbarApplListRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrNbarApplPdIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrResolvePriority
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCMapIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBRStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBRRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBRAddressType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBRAddress
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBRKeyName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrBROperStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrDowngradeBgpCommunity
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilRxType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilRxAbsolute
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilRxPercentage
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilTxType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilTxAbsolute
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitMaxUtilTxPercentage
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostCalcMethod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostDiscard
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostDiscardType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostDiscardAbsolute
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostDiscardPercent
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostEndDayOfMonth
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostEndOffsetType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostEndOffset
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostFixedFeeCost
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostNickName
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostSamplingPeriod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostRollupPeriod
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostSummerTimeStart
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostSummerTimeOffset
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostSummerTimeEnd
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostTierStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostTierRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrExitCostTierFee
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLinkGroupStorageType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLinkGroupRowStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLinkGroupBRIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrLinkGroupExitIndex
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCLoggingAdminStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCControlMode
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMCClear
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapEventNotifCtrlType
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."

    OBJECT          cpfrMapEventTCCount
    MIN-ACCESS      read-only
    DESCRIPTION
        "Support for read-create access is not required."
    ::= { ciscoPfrMIBCompliances 2 }

cpfrMasterControllerGroup OBJECT-GROUP
    OBJECTS         {
                        cpfrMCStorageType,
                        cpfrMCRowStatus,
                        cpfrMCKeepAliveTimer,
                        cpfrMCMaxPrefixTotal,
                        cpfrMCMaxPrefixLearn,
                        cpfrMCEntranceLinksMaxUtil,
                        cpfrMCExitLinksMaxUtil,
                        cpfrMCPortNumber,
                        cpfrMCTracerouteProbeDelay,
                        cpfrMCRsvpPostDialDelay,
                        cpfrMCRsvpSignalingRetries,
                        cpfrMCNetflowExporter,
                        cpfrMCAdminStatus,
                        cpfrMCOperStatus,
                        cpfrMCConnStatus,
                        cpfrMCNumofBorderRouters,
                        cpfrMCNumofExits,
                        cpfrMCLearnState,
                        cpfrMCLearnStateTimeRemain,
                        cpfrMCPrefixCount,
                        cpfrMCPrefixLearned,
                        cpfrMCPrefixConfigured,
                        cpfrMCPbrMet,
                        cpfrMapStorageType,
                        cpfrMapRowStatus,
                        cpfrMapName,
                        cpfrMapBackoffMinTimer,
                        cpfrMapBackoffMaxTimer,
                        cpfrMapBackoffStepTimer,
                        cpfrMapDelayType,
                        cpfrMapDelayRelativePercent,
                        cpfrMapDelayThresholdMax,
                        cpfrMapHolddownTimer,
                        cpfrMapPrefixForwardInterface,
                        cpfrMapJitterThresholdMax,
                        cpfrMapLinkGroupName,
                        cpfrMapFallbackLinkGroupName,
                        cpfrMapLossType,
                        cpfrMapLossRelativeAvg,
                        cpfrMapLossThresholdMax,
                        cpfrMapModeMonitor,
                        cpfrMapModeRouteOpts,
                        cpfrMapRouteMetricBgpLocalPref,
                        cpfrMapRouteMetricEigrpTagCommunity,
                        cpfrMapRouteMetricStaticTag,
                        cpfrMapModeSelectExitType,
                        cpfrMapMOSThresholdMin,
                        cpfrMapMOSPercentage,
                        cpfrMapNextHopAddressType,
                        cpfrMapNextHopAddress,
                        cpfrMapPeriodicTimer,
                        cpfrMapActiveProbeFrequency,
                        cpfrMapActiveProbePackets,
                        cpfrMapTracerouteReporting,
                        cpfrMapUnreachableType,
                        cpfrMapUnreachableRelativeAvg,
                        cpfrMapUnreachableThresholdMax,
                        cpfrMapRoundRobinResolver,
                        cpfrMatchValid,
                        cpfrMatchAddrAccessList,
                        cpfrMatchAddrPrefixList,
                        cpfrMatchAddrPrefixInside,
                        cpfrMatchLearnMode,
                        cpfrMatchLearnListName,
                        cpfrMatchTCNbarListName,
                        cpfrMatchTCNbarApplPfxList,
                        cpfrMatchTCPfxInside,
                        cpfrLearnListStorageType,
                        cpfrLearnListRowStatus,
                        cpfrLearnListReferenceName,
                        cpfrLearnListSequenceNum,
                        cpfrLearnListMethod,
                        cpfrLearnListAclName,
                        cpfrLearnListPfxName,
                        cpfrLearnListPfxInside,
                        cpfrLearnListNbarAppl,
                        cpfrLearnListFilterPfxName,
                        cpfrActiveProbeStorageType,
                        cpfrActiveProbeRowStatus,
                        cpfrActiveProbeType,
                        cpfrActiveProbeTargetAddressType,
                        cpfrActiveProbeTargetAddress,
                        cpfrActiveProbeTargetPortNumber,
                        cpfrActiveProbePfrMapIndex,
                        cpfrActiveProbeDscpValue,
                        cpfrActiveProbeCodecName,
                        cpfrActiveProbeMapIndex,
                        cpfrActiveProbeMapPolicyIndex,
                        cpfrActiveProbeAdminStatus,
                        cpfrActiveProbeOperStatus,
                        cpfrActiveProbeAssignedPfxAddressType,
                        cpfrActiveProbeAssignedPfxAddress,
                        cpfrActiveProbeAssignedPfxLen,
                        cpfrActiveProbeMethod,
                        cpfrResolveStorageType,
                        cpfrResolveRowStatus,
                        cpfrResolvePolicyType,
                        cpfrResolveVariance,
                        cpfrResolveMapIndex,
                        cpfrResolveMapPolicyIndex,
                        cpfrLearnAggregationType,
                        cpfrLearnAggregationPrefixLen,
                        cpfrLearnMethod,
                        cpfrLearnExpireType,
                        cpfrLearnExpireSessionNum,
                        cpfrLearnExpireTime,
                        cpfrLearnMonitorPeriod,
                        cpfrLearnPeriodInterval,
                        cpfrLearnPrefixesNumber,
                        cpfrLearnAggAccesslistName,
                        cpfrLearnFilterAccessListName,
                        cpfrNbarApplListStorageType,
                        cpfrNbarApplListRowStatus,
                        cpfrNbarApplPdIndex,
                        cpfrResolvePriority,
                        cpfrMCMapIndex
                    }
    STATUS          current
    DESCRIPTION
        "This group contains objects describing PfR MCs
        and policy maps."
    ::= { ciscoPfrMIBGroups 1 }

cpfrBorderRouterGroup OBJECT-GROUP
    OBJECTS         {
                        cpfrBRStorageType,
                        cpfrBRRowStatus,
                        cpfrBRAddressType,
                        cpfrBRAddress,
                        cpfrBRKeyName,
                        cpfrBROperStatus,
                        cpfrBRConnStatus,
                        cpfrBRUpTime,
                        cpfrBRConnFailureReason,
                        cpfrBRAuthFailCount,
                        cpfrExitStorageType,
                        cpfrExitRowStatus,
                        cpfrExitName,
                        cpfrExitType,
                        cpfrDowngradeBgpCommunity,
                        cpfrExitMaxUtilRxType,
                        cpfrExitMaxUtilRxAbsolute,
                        cpfrExitMaxUtilRxPercentage,
                        cpfrExitMaxUtilTxType,
                        cpfrExitMaxUtilTxAbsolute,
                        cpfrExitMaxUtilTxPercentage,
                        cpfrExitCostCalcMethod,
                        cpfrExitCostDiscard,
                        cpfrExitCostDiscardType,
                        cpfrExitCostDiscardAbsolute,
                        cpfrExitCostDiscardPercent,
                        cpfrExitCostEndDayOfMonth,
                        cpfrExitCostEndOffsetType,
                        cpfrExitCostEndOffset,
                        cpfrExitCostFixedFeeCost,
                        cpfrExitCostNickName,
                        cpfrExitCostSamplingPeriod,
                        cpfrExitCostRollupPeriod,
                        cpfrExitCostSummerTimeStart,
                        cpfrExitCostSummerTimeOffset,
                        cpfrExitCostSummerTimeEnd,
                        cpfrExitCapacity,
                        cpfrExitRxBandwidth,
                        cpfrExitTxBandwidth,
                        cpfrExitTxLoad,
                        cpfrExitNickName,
                        cpfrExitCost1,
                        cpfrExitSustainedUtil1,
                        cpfrExitCost2,
                        cpfrExitSustainedUtil2,
                        cpfrExitCost3,
                        cpfrExitSustainedUtil3,
                        cpfrExitRollupTotal,
                        cpfrExitRollupDiscard,
                        cpfrExitRollupLeft,
                        cpfrExitRollupCollected,
                        cpfrExitRollupMomTgtUtil,
                        cpfrExitRollupStartingTgtUtil,
                        cpfrExitRollupCurrentTgtUtil,
                        cpfrExitRollupCumRxBytes,
                        cpfrExitRollupCumTxBytes,
                        cpfrExitRollupTimeRemain,
                        cpfrExitOperStatus,
                        cpfrExitRsvpBandwidthPool,
                        cpfrExitCostTierStorageType,
                        cpfrExitCostTierRowStatus,
                        cpfrExitCostTierFee,
                        cpfrLinkGroupStorageType,
                        cpfrLinkGroupRowStatus,
                        cpfrLinkGroupBRIndex,
                        cpfrLinkGroupExitIndex,
                        cpfrExitRxLoad
                    }
    STATUS          current
    DESCRIPTION
        "This group contains objects describing PfR Border Router and
        Exits."
    ::= { ciscoPfrMIBGroups 2 }

cpfrTrafficClassGroup OBJECT-GROUP
    OBJECTS         {
                        cpfrTrafficClassValid,
                        cpfrTCSrcPrefixType,
                        cpfrTCSrcPrefix,
                        cpfrTCSrcPrefixLen,
                        cpfrTCSrcMinPort,
                        cpfrTCDstPrefixType,
                        cpfrTCDstPrefix,
                        cpfrTCDstPrefixLen,
                        cpfrTCDstMinPort,
                        cpfrTCDscpValue,
                        cpfrTCProtocol,
                        cpfrTCNbarApplication,
                        cpfrTCBRIndex,
                        cpfrTCBRExitIndex,
                        cpfrTCMapIndex,
                        cpfrTCMapPolicyIndex,
                        cpfrTCStatus,
                        cpfrTCSType,
                        cpfrTCSLearnListIndex,
                        cpfrTCSTimeOnCurrExit,
                        cpfrTCSControlState,
                        cpfrTCSControlBy,
                        cpfrTCSTimeRemainCurrState,
                        cpfrTCSLastOOPEventTime,
                        cpfrTCSLastOOPReason,
                        cpfrTCSLastRouteChangeEvent,
                        cpfrTCSLastRouteChangeReason,
                        cpfrTCMLastUpdateTime,
                        cpfrTCMAge,
                        cpfrTCMetricsValid,
                        cpfrTCMActiveSTJitterAvg,
                        cpfrTCMMOSPercentage,
                        cpfrTCMAttempts,
                        cpfrTCMPackets,
                        cpfrTCMPassiveSTUnreachableAvg,
                        cpfrTCMPassiveSTDelayAvg,
                        cpfrTCMPassiveSTLossAvg,
                        cpfrTCMActiveSTUnreachableAvg,
                        cpfrTCMActiveSTDelayAvg,
                        cpfrTCMPassiveLTUnreachableAvg,
                        cpfrTCMPassiveLTDelayAvg,
                        cpfrTCMPassiveLTLossAvg,
                        cpfrTCMActiveLTUnreachableAvg,
                        cpfrTCMActiveLTDelayAvg,
                        cpfrTCSrcMaxPort,
                        cpfrTCDstMaxPort
                    }
    STATUS          current
    DESCRIPTION
        "This group contains objects describing PfR TCs."
    ::= { ciscoPfrMIBGroups 3 }

cpfrMasterControllerGroupRev1 OBJECT-GROUP
    OBJECTS         {
                        cpfrMCLoggingAdminStatus,
                        cpfrMCControlMode,
                        cpfrMCClear,
                        cpfrMapEventNotifCtrlType,
                        cpfrMapEventNotifCtrlThreshold,
                        cpfrMapEventTCCount,
                        cpfrMCLastClearTime,
                        cpfrMCNotifisControl,
                        cpfrMCChangeConfigType,
                        cpfrMCChangeConfigValue
                    }
    STATUS          current
    DESCRIPTION
        "This group contains new objects describing PfR MCs
        and policy maps."
    ::= { ciscoPfrMIBGroups 4 }

cpfrBorderRouterGroupRev1 OBJECT-GROUP
    OBJECTS         { cpfrLinkGroupType }
    STATUS          current
    DESCRIPTION
        "This group contains objects describing PfR Border Router and
        Exits."
    ::= { ciscoPfrMIBGroups 5 }

cpfrMCNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cpfrBRStatusChangeNotify,
                        cpfrExitStatusChangeNotify,
                        cpfrTrafficClassEventNotify,
                        cpfrTCInpolicyThresholdBelowNotify,
                        cpfrTCPrimaryThresholdBelowNotify,
                        cpfrMCStatusChangeNotify
                    }
    STATUS          current
    DESCRIPTION
        "A collection of PfR MC notifications."
    ::= { ciscoPfrMIBGroups 6 }

END












































































































































































































