-- MIB file created 03-Sep-2013 10:44:05, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-LPTS-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-LPTS-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    ciscoMgmt
            FROM CISCO-SMI
    SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
    Gauge, Counter
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoLptsMIB OBJECT IDENTIFIER ::= { ciscoMgmt 812 }
-- MODULE-IDENTITY
--  LastUpdated
--    201309030000Z
--  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-q-lpts-dev@cisco.com
--  Descr
--    The MIB module for Local Packet Transport Services(LPTS)
--    related information like the flows and the policer 
--    values related to various flows present in the system.
--    
--    The number of packets coming into the system is controlled
--    by the policer values associated with the protocol. Each
--    protocol is classified into different flows and a rate 
--    limit is associated with the flows. Policer is a numerical 
--    value controlling the number of packets entering the box.
--    
--    The flows represent individual, specific protocols.
--    Flow types also represent the degree of trust for a given 
--    packet. Ex: BGP packets coming from established session is 
--    assigned one flow, packets from configured BGP peer are
--    assigned different flow . Other BGP packets are assigned 
--    a third flow.
--    
--    Definitions:
--    LPTS  - Local Packet Transport Services.
--         It is a  network infrastructure
--         subsystem that provides a common
--         facility for transport of packets 
--         which are destined towards the router
--         (for-us packets), to the exact 
--         applications. In addtion 
--         to that, it also 
--         provides policing of for-us packets  
--    FlowType - Represents individual, specific protocols.
--         Flow also represents the degree of trust
--         for a given packet.
--    LC   - Line Cards.
--    Policer     - Index to FlowType.
--    CurrentRate - Number of packets allowed
--         into the box in PPS (Packets Per Second).
--    Type   - Defines the scope of the flow applicable at
--         a specific node or Line card.
--    Precedence  - Precedence is the selection mechanism for 
--         a specific Type if more than one Type is 
--         configured for the same flow. 'local'
--         FlowType has higher precedence over 'global'
--         and 'static' FlowTypes. 'global' FlowType has
--         higher precedence over 'static' FlowType.
--    nodeID  - The line card for which the flow configuration 
--         is made.
--  RevDate
--    201309030000Z
--  RevDescr
--    Latest version of this MIB module.

ciscoLptsMIBNotifs OBJECT IDENTIFIER ::= { ciscoLptsMIB 0 }
ciscoLptsMIBObjects OBJECT IDENTIFIER ::= { ciscoLptsMIB 1 }
ciscoLptsMIBConform OBJECT IDENTIFIER ::= { ciscoLptsMIB 2 }
ciscoLptsMIBCompliances OBJECT IDENTIFIER ::= { ciscoLptsMIBConform 1 }
ciscoLptsMIBGroups OBJECT IDENTIFIER ::= { ciscoLptsMIBConform 2 }

ClFlowType ::= INTEGER {
        static(1),
        global(2),
        local(3)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    An enumeration unsigned integer which indicates the scope of
--    flow applicable at a specific node or Line Card (LC).
--    Precedence is the selection mechanism for a specific Type
--    if more than one Type is configured for the same flow.
--    When Type 'local' and 'global' are configured for the
--    same flow, then 'local' Type takes precedence. If 
--    'local' Type is not configured, then 'global' Type would
--    be applied if it is present. If neither the 'local' nor
--    the 'global' Type is configured, then the ClFlowType is
--    derived from the static configuration file which is of
--    Type 'static'.

clGlobalFlowTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ClGlobalFlowEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table respresents the flows configured globally and 
        the configuration will be reflected across all the linecards"
    ::= { ciscoLptsMIBObjects 1 }

clGlobalFlowEntry OBJECT-TYPE
    SYNTAX ClGlobalFlowEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry will be added into clGlobalFlowTable
        when LPTS flows configured without any
        location specific details.  Similarly when the global
        LPTS flow config is removed, then type and rate  
        retained as per Static config file. The entries in this 
        table can be of Type either 'global' or 'static'."
    INDEX { clGlobalFlowIndex }
    ::= { clGlobalFlowTable 1 }

ClGlobalFlowEntry ::= SEQUENCE {
    clGlobalFlowIndex Gauge,
    clGlobalFlowType SnmpAdminString,
    clGlobalType ClFlowType,
    clGlobalCurrentRate Gauge
    }

clGlobalFlowIndex OBJECT-TYPE
    SYNTAX Gauge(1..255)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An unique value used to represent a
        row in the clGlobalFlowTable"
    ::= { clGlobalFlowEntry 1 }

clGlobalFlowType OBJECT-TYPE
    SYNTAX SnmpAdminString(SIZE(1..80))
--    Rsyntax OCTET STRING(SIZE(1..80))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the flow type name 
        associated with every flow.
        Eg. FlowType could be BGP-Known, BGP-configured
        BGP-default."
    ::= { clGlobalFlowEntry 2 }

clGlobalType OBJECT-TYPE
    SYNTAX ClFlowType
--    Rsyntax INTEGER {
--        static(1),
--        global(2),
--        local(3)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates an enumeration 
        which indicates whether LPTS flow
        configured across all the linecards are 'global' or
        'static' depending on the predecedence"
    ::= { clGlobalFlowEntry 3 }

clGlobalCurrentRate OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    PPS
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies the rate associated 
        with the flow type which is configured
        globally."
    ::= { clGlobalFlowEntry 4 }

clLocalFlowTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ClLocalFlowEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table represents the configurations for the local 
         flow types & affects a 
         particular nodeID for which config is applied. 
         When local flow type is not configured & we have a global 
         configuration then the clLocalFlowTable has global flow value. 
         If neither local flow nor the global flows are 
         configured, then clLocalFlowTable will have static 
         values derived from the config file. If both the local 
         flow and global flow is configured, then the local flow 
         information takes precedence over the global flow 
         information."
    ::= { ciscoLptsMIBObjects 2 }

clLocalFlowEntry OBJECT-TYPE
    SYNTAX ClLocalFlowEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in clLocalFlowTable will be added when LPTS flows 
        are configured specific to a location. This table is indexed
        based on nodeID and clGlobalFlowIndex. When NMS polls for flow 
        in clLocalFlowTable, the flow name is retrieved from the 
        clGlobalFlowTable. When a local configuration is removed for 
        a flow, then clGlobalCurrentRate will be applied if it  
        is present, else static rate will be applied."
    INDEX { clGlobalFlowIndex, clLocalNodeID }
    ::= { clLocalFlowTable 1 }

ClLocalFlowEntry ::= SEQUENCE {
    clLocalNodeID Gauge,
    clLocalType ClFlowType,
    clLocalCurrentRate Gauge,
    clLocalAccepted Counter,
    clLocalDropped Counter,
    clLocalTosValue Gauge
    }

clLocalNodeID OBJECT-TYPE
    SYNTAX Gauge(1..65535)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The linecard for which the flow configuration is made."
    ::= { clLocalFlowEntry 1 }

clLocalType OBJECT-TYPE
    SYNTAX ClFlowType
--    Rsyntax INTEGER {
--        static(1),
--        global(2),
--        local(3)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates an enumeration 
        which indicates LPTS flows 
        configured specific to a linecard"
    ::= { clLocalFlowEntry 2 }

clLocalCurrentRate OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    PPS
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the packet rate associated 
        with the flow type with which packets 
        are accepted or dropped specific to a linecard."
    ::= { clLocalFlowEntry 3 }

clLocalAccepted OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of packets accepted
        on a linecard for a specific flow."
    ::= { clLocalFlowEntry 4 }

clLocalDropped OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the total number of packets dropped on 
        a linecard for a specific flow."
    ::= { clLocalFlowEntry 5 }

clLocalTosValue OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object indicates the type of service."
    ::= { clLocalFlowEntry 6 }

clGlobalFlowGroup OBJECT IDENTIFIER ::= { ciscoLptsMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides information 
--    about flow type and current rate configured across all
--    Linecards.
--  objects
--    clGlobalFlowType, clGlobalCurrentRate, clGlobalType

clLocalFlowGroup OBJECT IDENTIFIER ::= { ciscoLptsMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects which provides information 
--    about current rate and accept/drop statistics for a specific
--    linecard.
--  objects
--    clLocalCurrentRate, clLocalAccepted, clLocalDropped, 
--    clLocalType, clLocalTosValue

ciscoLptsMIBCompliance OBJECT IDENTIFIER ::= { ciscoLptsMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for entities which
--    implement the Cisco LPTS MIB.
--  Module
--    >>current<<
--   MandGroup
--    clLocalFlowGroup
--   MandGroup
--    clGlobalFlowGroup


END

