-- MIB created 6/25/99 12:57:29, by
--   SMIC (the next generation) version 1.6.29, November 22, 1994.

CISCO-PNNI-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-PNNI-MIB.my"

IMPORTS
    Integer32
            FROM SNMPv2-SMI-v1
    OBJECT-TYPE
            FROM RFC-1212
    TruthValue, DisplayString
            FROM SNMPv2-TC-v1
    pnniNodeIndex, pnniRouteAddrAddress, pnniRouteAddrPrefixLength,
    pnniRouteAddrIndex
            FROM PNNI-MIB
    ifIndex
            FROM IF-MIB
    ciscoMgmt
            FROM CISCO-SMI;

ciscoPnniMIB OBJECT IDENTIFIER ::= { ciscoMgmt 65 }
-- MODULE-IDENTITY
--  LastUpdated
--    9610280000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--           Cisco Systems
--            Customer Service
--    
--    Postal: 170 W Tasman Drive
--            San Jose, CA  95134
--            USA
--    
--       Tel: +1 800 553-NETS
--    
--    E-mail: cs-atm@cisco.com
--  Descr
--    The MIB module for managing Cisco specific
--     extensions to the ATM Forum PNNI MIB.
--  RevDate
--    9610280000Z
--  RevDescr
--    Initial version of this MIB module.

ciscoPnniMIBObjects OBJECT IDENTIFIER ::= { ciscoPnniMIB 1 }
ciscoPnniBase   OBJECT IDENTIFIER ::= { ciscoPnniMIBObjects 1 }
ciscoPnniNode   OBJECT IDENTIFIER ::= { ciscoPnniMIBObjects 2 }
ciscoPnniInterface OBJECT IDENTIFIER ::= { ciscoPnniMIBObjects 3 }
ciscoPnniPrecedence OBJECT IDENTIFIER ::= { ciscoPnniMIBObjects 4 }
ciscoPnniRouteAddr OBJECT IDENTIFIER ::= { ciscoPnniMIBObjects 5 }
ciscoPnniMIBConformance OBJECT IDENTIFIER ::= { ciscoPnniMIB 3 }
ciscoPnniMIBCompliances OBJECT IDENTIFIER ::= { ciscoPnniMIBConformance 1 }
ciscoPnniMIBGroups OBJECT IDENTIFIER ::= { ciscoPnniMIBConformance 2 }

E164Address ::= OCTET STRING(SIZE(0 | 8))
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    A native E.164 address, encoded in BCD format.  An
--     address of length zero indicates that no address is
--     specified.

ciscoPnniBackgroundRoutes OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies whether background route computation is enabled
         on this switching system.  In this mode, multiple
         background trees are precomputed for several service
         categories and QoS metrics.  If no route is found in the
         background trees that satisfies the QoS requirements of a
         particular setup request, route selection reverts to
         on-demand computation.
        
         When the value of this object is `false', only on-demand
         route computation is used (i.e., a separate route
         computation is performed for each SETUP or ADD PARTY
         message received over a UNI or IISP interface, or for which
         this node is a PNNI entry border node).
        
         It is recommended that background route computation be
         enabled in large networks, due to better scalability in
         terms of processing requirements."
    DEFVAL { false }
    ::= { ciscoPnniBase 1 }

ciscoPnniBackgroundPollInterval OBJECT-TYPE
    SYNTAX INTEGER(1..60)
--  Units
--    seconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies how often the switching system polls for a
         significant change that triggers new computation of the
         background routes.
        
         Increasing the value of this object causes the switching
         system to throttle background route computation."
    DEFVAL { 10 }
    ::= { ciscoPnniBase 2 }

ciscoPnniBackgroundInsignificantThreshold OBJECT-TYPE
    SYNTAX INTEGER(1..100)
--  Units
--    changes
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the number of insignificant changes necessary to
         trigger a new computation of the background routes."
    DEFVAL { 32 }
    ::= { ciscoPnniBase 3 }

ciscoPnniResourceMgmtPollInterval OBJECT-TYPE
    SYNTAX INTEGER(1..60)
--  Units
--    seconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies how often PNNI polls resource management to
         update the values of local interface metrics and
         attributes.
        
         The value of this object impacts the number of new
         instances of PTSEs originated by this switching system.  A
         larger interval reduces the number of new instances of
         PTSEs caused by interface traffic fluctuation.  A smaller
         interval allows PNNI to track traffic fluctuations more
         quickly, at the expense of increased processing load.
        
         In normal situations, this object should not be changed
         from its default value.  Care should be taken when
         adjusting this parameter so as not to overload switch
         processing."
    DEFVAL { 5 }
    ::= { ciscoPnniBase 4 }

ciscoPnniAdminWeightMode OBJECT-TYPE
    SYNTAX INTEGER {
        uniform(1),
        linespeed(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the mode of default administrative weight
         assignment for PNNI interfaces.  When this value is set
         to `uniform', by default the administrative weight of
         each PNNI interface is set to 5040, as defined in the
         ATM Forum PNNI 1.0 Specification.  When this value is
         set to `linespeed', by default the administrative weight
         is set based on the linespeed or maximum cell rate of
         the interface.
        
         In the absence of other constraints, the `uniform' mode
         causes PNNI routing to minimize the number of hops.
         Basing administrative weight on linespeed allows path
         selection to prefer paths along higher bandwidth
         interfaces."
    DEFVAL { uniform }
    ::= { ciscoPnniBase 5 }

ciscoPnniMaxAdminWeightPercentage OBJECT-TYPE
    SYNTAX INTEGER(0 | 100..2000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the maximum acceptable administrative weight
         for alternate routes as a percentage factor of the least
         administrative weight of any route to the destination.
         The constraint on administrative weight only takes effect
         when background route computation is enabled.
        
         The constraint on administrative weight increases network
         efficiency under heavy loads by preventing alternate routes
         that use too many network resources from being specified.
         This constraint provides a generalized form of a hop count
         limit.
        
         The distinguished value zero indicates that there is no
         constraint on administrative weight for alternate routes.
         All other valid values are greater than or equal to 100
         percent."
    DEFVAL { 0 }
    ::= { ciscoPnniBase 6 }

ciscoPnniRouteOptimizationThreshold OBJECT-TYPE
    SYNTAX INTEGER(5..100)
--  Units
--    percent
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the percentage reduction in the administrative
         weight of the existing path required to trigger route
         optimization.   When route optimization is enabled and the
         threshold is exceeded, the existing path is partially torn
         down and a new path is established."
    DEFVAL { 30 }
    ::= { ciscoPnniBase 7 }

ciscoPnniNodeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CiscoPnniNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of cisco specific attributes that affect the
         operation of a PNNI logical node."
    ::= { ciscoPnniNode 1 }

ciscoPnniNodeEntry OBJECT-TYPE
    SYNTAX CiscoPnniNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing cisco specific
         information about a node in this switching system."
    INDEX { pnniNodeIndex }
-- Augments pnniNodeEntry FROM PNNI-MIB
    ::= { ciscoPnniNodeTable 1 }

CiscoPnniNodeEntry ::= SEQUENCE {
    ciscoPnniNodeAutoSummary TruthValue,
    ciscoPnniNodeRedistributeStatic TruthValue,
    ciscoPnniNodePtseRequest INTEGER,
    ciscoPnniNodeName DisplayString,
    ciscoPnniNodeScopeMappingMode INTEGER
    }

ciscoPnniNodeAutoSummary OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies whether automatic generation of internal
         summary address(es) based on the switch address(es) or
         node ID is enabled.  Automatically generated summary
         addresses can only be removed by setting this object to
         `false'.  They cannot be removed through the
         pnniSummaryTable in the ATM Forum PNNI MIB.
        
         For lowest-level nodes with auto-summary enabled, each
         switching system generates one or more 13-byte summary
         address prefixes based on the switch address(es).  Switch
         addresses are configured in the ciscoAtmSwAddrTable."
    DEFVAL { true }
    ::= { ciscoPnniNodeEntry 1 }

ciscoPnniNodeRedistributeStatic OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies whether redistribution of ATM static routes
         to the PNNI routing domain is enabled.  Exterior static
         routes are advertised in exterior reachable address
         PTSEs.  Internal static routes are advertised in
         internal reachable address PTSEs."
    DEFVAL { true }
    ::= { ciscoPnniNodeEntry 2 }

ciscoPnniNodePtseRequest OBJECT-TYPE
    SYNTAX INTEGER(1..1000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the maximum number of PTSEs that can be
         requested in one PTSE request packet."
    DEFVAL { 32 }
    ::= { ciscoPnniNodeEntry 3 }

ciscoPnniNodeName OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the textual name of the PNNI node.  The node
         name is distributed to all other nodes via PNNI
         flooding, using a cisco specific encoding in the System
         Capabilities information group.  This allows all cisco
         PNNI nodes to use this node name to identify this PNNI
         node.
        
         The default value of the node name is the value of the
         switching system's host name."
    ::= { ciscoPnniNodeEntry 4 }

ciscoPnniNodeScopeMappingMode OBJECT-TYPE
    SYNTAX INTEGER {
        automatic(1),
        manual(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the configuration mode of the mapping from
         organizational scope values (used at UNI interfaces) to
         PNNI scope (i.e., in terms of PNNI routing level
         indicators).
        
         In `automatic' mode, for each organizational scope value
         the corresponding PNNI level is the minimum of the ATM
         Forum PNNI 1.0 default value (see Section 5.3.6 of
         PNNI 1.0) and the level l of this node:
        
             org scope    ATM Forum default level    auto mode level
                1-3                 96                  min(l,96)
                4-5                 80                  min(l,80)
                6-7                 72                  min(l,72)
                8-10                64                  min(l,64)
               11-12                48                  min(l,48)
               13-14                32                  min(l,32)
             15(global)              0                      0
        
         Use of the `automatic' mode ensures that all
         organizational scope values cover an area at least as
         wide as this node's peer group.
        
         When this object is written with the value `automatic',
         objects in the pnniScopeMappingEntry for this node are
         overwritten.  These objects cannot be modified while 
         this object is set to `automatic'.
        
         When this object is written with the value `manual',
         the objects in the pnniScopeMappingEntry for this node
         are allowed to be modified."
    DEFVAL { automatic }
    ::= { ciscoPnniNodeEntry 5 }

ciscoPnniIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CiscoPnniIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of cisco specific attributes used to configure a
         physical interface or subinterface on a switching system
         which is capable of being used for PNNI routing.
         Interfaces may represent physical connection points (i.e.
         copper/fiber connection points) or VPCs which have been
         configured for PNNI's use."
    ::= { ciscoPnniInterface 1 }

ciscoPnniIfEntry OBJECT-TYPE
    SYNTAX CiscoPnniIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing cisco specific PNNI
         information about an interface in this switching system."
    INDEX { ifIndex }
-- Augments pnniIfEntry FROM PNNI-MIB
    ::= { ciscoPnniIfTable 1 }

CiscoPnniIfEntry ::= SEQUENCE {
    ciscoPnniIfLinkSelection INTEGER,
    ciscoPnniIfRouteOptimization INTEGER,
    ciscoPnniIfRouteOptimInterval Integer32,
    ciscoPnniIfRouteOptimStartHour Integer32,
    ciscoPnniIfRouteOptimStartMinute Integer32,
    ciscoPnniIfRouteOptimEndHour Integer32,
    ciscoPnniIfRouteOptimEndMinute Integer32
    }

ciscoPnniIfLinkSelection OBJECT-TYPE
    SYNTAX INTEGER {
        adminWeightMinimize(1),
        blockingMinimize(2),
        transmitSpeedMaximize(3),
        loadBalance(4)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "For CBR or VBR call setups, specifies a method for
         selecting one link out of multiple links with sufficient
         resources to the same neighbor node.  Link selection
         applies whenever the port specified in the Designated
         Transit List (DTL) is zero and there are multiple
         interfaces to the next node.  Valid values are:
            adminWeightMinimize   - transmits call on the interface
                                    with the lowest administrative
                                    weight,
            blockingMinimize      - Minimizes subsequent call
                                    blocking,
            transmitSpeedMaximize - Transmits call on highest speed
                                    parallel link,
            loadBalance           - Balances calls across all
                                    parallel links.
        
         When multiple parallel links are configured inconsistently,
         the order of precedence of configured values is
         `adminWeightMinimize', `blockingMinimize',
         `transmitSpeedMaximize', and then `loadBalance'; i.e., if
         any of the links is configured as adminWeightMinimize, that
         is used for the entire link group.
        
         For Best Effort call setups (UBR or ABR), load balancing is
         always used."
    DEFVAL { blockingMinimize }
    ::= { ciscoPnniIfEntry 1 }

ciscoPnniIfRouteOptimization OBJECT-TYPE
    SYNTAX INTEGER {
        disable(1),
        soft(2),
        switched(3),
        switchedAndSoft(4)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "To enable or disable the route optimization
        (automatic rerouting) feature on an ATM interface.
        
         To disable route optimization on the interface,
         set this object to 'disable'.
        
         To enable route optimization only for ATM
         soft PVCs on the interface, set this object
         to 'soft'.
        
         To enable route optimization only for ATM
         switched PVCs on the interface, set this
         object to 'switched'.
        
         To enable route optimization for both ATM
         soft PVCs and SVCs on the interface,
         set this object to 'switchedAndSoft'."
    DEFVAL { disable }
    ::= { ciscoPnniIfEntry 2 }

ciscoPnniIfRouteOptimInterval OBJECT-TYPE
    SYNTAX Integer32(10..10000)
--  Units
--    minutes
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies how often route optimization takes
        place on this interface. This object applies only when
        the object ciscoPnniIfRouteOptimization is NOT set
        to 'disable'."
    DEFVAL { 60 }
    ::= { ciscoPnniIfEntry 3 }

ciscoPnniIfRouteOptimStartHour OBJECT-TYPE
    SYNTAX Integer32(0..23)
--  Units
--    hour
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the start hour of Time-of-Day
        route optimization on an ATM interface. This
        object applies only when the object
        ciscoPnniIfRouteOptimization is NOT set to
        'disable'."
    DEFVAL { 0 }
    ::= { ciscoPnniIfEntry 4 }

ciscoPnniIfRouteOptimStartMinute OBJECT-TYPE
    SYNTAX Integer32(0..59)
--  Units
--    minutes
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the start minute of Time-of-Day
        route optimization on an ATM interface.
        This object applies only when the object
        ciscoPnniIfRouteOptimization is NOT set to
        'disable'."
    DEFVAL { 0 }
    ::= { ciscoPnniIfEntry 5 }

ciscoPnniIfRouteOptimEndHour OBJECT-TYPE
    SYNTAX Integer32(0..23)
--  Units
--    hour
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the end hour of Time-Of-Day
        route optimization on an ATM interface.
        This object applies only when the object
        ciscoPnniIfRouteOptimization is NOT set to
        'disable'."
    DEFVAL { 0 }
    ::= { ciscoPnniIfEntry 6 }

ciscoPnniIfRouteOptimEndMinute OBJECT-TYPE
    SYNTAX Integer32(0..59)
--  Units
--    minutes
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the end minute of Time-Of-Day
        route optimization on an ATM interface.
        This object applies only when the object
        ciscoPnniIfRouteOptimization is NOT set to
        'disable'."
    DEFVAL { 0 }
    ::= { ciscoPnniIfEntry 7 }

ciscoPnniPrecedenceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CiscoPnniPrecedenceEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table that specifies the precedence of different types
         of reachable addresses."
    ::= { ciscoPnniPrecedence 1 }

ciscoPnniPrecedenceEntry OBJECT-TYPE
    SYNTAX CiscoPnniPrecedenceEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing information about the
         precedence of a specific reachable address type.  One row
         is created by the managed system for each reachable
         address type."
    INDEX { ciscoPnniPrecedenceAddressType }
    ::= { ciscoPnniPrecedenceTable 1 }

CiscoPnniPrecedenceEntry ::= SEQUENCE {
    ciscoPnniPrecedenceAddressType INTEGER,
    ciscoPnniPrecedenceValue INTEGER
    }

ciscoPnniPrecedenceAddressType OBJECT-TYPE
    SYNTAX INTEGER {
        staticLocalInternalWithMetrics(1),
        staticLocalExterior(2),
        staticLocalExteriorWithMetrics(3),
        pnniRemoteInternal(4),
        pnniRemoteInternalWithMetrics(5),
        pnniRemoteExterior(6),
        pnniRemoteExteriorWithMetrics(7)
        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The reachable address type for which the precedence is
         specified."
    ::= { ciscoPnniPrecedenceEntry 1 }

ciscoPnniPrecedenceValue OBJECT-TYPE
    SYNTAX INTEGER(2..4)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Specifies the precedence of a reachable address type.
         When there are multiple reachable address types associated
         with the longest match reachable address prefix, the route
         selection algorithm first attempts to find routes to
         reachable address types of greatest precedence.  Among
         routes to the same longest match reachable address prefix
         with the same reachable address type, routes with the
         least total administrative weight are preferred.
        
         Smaller values take precedence over larger values.  Local
         internal reachable addresses, whether learned through ILMI
         or as static routes, are given the highest priority
         (i.e. 1)."
    ::= { ciscoPnniPrecedenceEntry 2 }

ciscoPnniRouteAddrTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CiscoPnniRouteAddrEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table of cisco specific attributes used to configure
         cisco specific properties of ATM static routes."
    ::= { ciscoPnniRouteAddr 1 }

ciscoPnniRouteAddrEntry OBJECT-TYPE
    SYNTAX CiscoPnniRouteAddrEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the table, containing cisco specific PNNI
         information about a reachable address prefix."
    INDEX { pnniNodeIndex, pnniRouteAddrAddress, pnniRouteAddrPrefixLength, pnniRouteAddrIndex }
-- Augments pnniRouteAddrEntry FROM PNNI-MIB
    ::= { ciscoPnniRouteAddrTable 1 }

CiscoPnniRouteAddrEntry ::= SEQUENCE {
    ciscoPnniRouteAddrForwardingE164Address E164Address
    }

ciscoPnniRouteAddrForwardingE164Address OBJECT-TYPE
    SYNTAX E164Address
--    Rsyntax OCTET STRING(SIZE(0 | 8))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The native E.164 address used as the called party address
         when the call matching pnniRouteAddrAddress is forwarded
         across the interface identified by pnniRouteAddrIfIndex.
        
         If this address is specified, the received called party
         address is passed on as the called party subaddress, and
         the received calling party address (if any) is passed on
         as the calling party subaddress.  The specified address is
         ignored if the value of pnniRouteAddrProto is `pnni', the
         value of pnniRouteAddrType is `reject', or the node
         identified by pnniRouteAddrAdvertisingNodeId is not
         instantiated in this switching system.
        
         If no address is specified, the received called party
         address and calling party address are passed on unchanged."
    DEFVAL { ''h }
    ::= { ciscoPnniRouteAddrEntry 1 }

ciscoPnniBasicGroup OBJECT IDENTIFIER ::= { ciscoPnniMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of cisco specific MIB objects used for
--     management of PNNI routing.
--  objects
--    ciscoPnniBackgroundRoutes, ciscoPnniBackgroundPollInterval, 
--    ciscoPnniBackgroundInsignificantThreshold, 
--    ciscoPnniResourceMgmtPollInterval, ciscoPnniAdminWeightMode, 
--    ciscoPnniMaxAdminWeightPercentage, ciscoPnniNodeAutoSummary, 
--    ciscoPnniNodeRedistributeStatic, ciscoPnniNodePtseRequest, 
--    ciscoPnniNodeName, ciscoPnniNodeScopeMappingMode, 
--    ciscoPnniIfLinkSelection, ciscoPnniPrecedenceValue, 
--    ciscoPnniRouteAddrForwardingE164Address

ciscoPnniRouteOptimizationGroup OBJECT IDENTIFIER ::= { ciscoPnniMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of cisco specific MIB objects used for
--     management of route optimization.
--  objects
--    ciscoPnniRouteOptimizationThreshold, 
--    ciscoPnniIfRouteOptimization, ciscoPnniIfRouteOptimInterval, 
--    ciscoPnniIfRouteOptimStartHour, 
--    ciscoPnniIfRouteOptimStartMinute, 
--    ciscoPnniIfRouteOptimEndHour, ciscoPnniIfRouteOptimEndMinute

ciscoPnniMIBCompliance OBJECT IDENTIFIER ::= { ciscoPnniMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for entities which implement the
--     Cisco PNNI MIB.
--  Module
--    >>current<<
--   MandGroup
--    ciscoPnniBasicGroup
--   OptGroup
--    ciscoPnniRouteOptimizationGroup


END

