-- *****************************************************************
-- CISCO-MGX82XX-PXM-CLOCK-MIB - CLOCK MIB for PXM in MGX82xx product.
--
-- May 2003, Subra.Hegde
--
-- Copyright (c) 2003 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-MGX82XX-PXM-CLOCK-MIB DEFINITIONS ::= BEGIN
IMPORTS

    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32
                               FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP               FROM SNMPv2-CONF
    TEXTUAL-CONVENTION         FROM SNMPv2-TC
    cardSpecific               FROM BASIS-MIB
    ciscoWan                   FROM CISCOWAN-SMI;

ciscoMgx82xxPxmClockMIB MODULE-IDENTITY
        LAST-UPDATED    "200305270000Z"
        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-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module to describe the clock configuration
        in Processor Switch Module(PXM) in MGX82xx product.
 
        Back cards supported for PXM1:
         PXM-UI     : T1 Clock port, E1 Clock Port
         PXM-UI-S3  : External Clock1 for T1/E1 Clock input."

    REVISION    "200305270000Z"
    DESCRIPTION
        "Initial version of the MIB.

        The content of this MIB was originally available
        in CISCO-WAN-AXIPOP-MIB defined using SMIv1.
        The applicable objects from CISCO-WAN-AXIPOP-MIB
        are defined using SMIv2 in this MIB. Also the
        descriptions of some of the objects have been 
        modified."
    ::= { ciscoWan 72 }

CmpClockConnectorType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Represents the connector type for the clock
        device.

        rj45Type(1): RJ-45 Connector. This is for T1/E1 clock
                     input.
        smbType (2): SMB Connector. This is for E1 clock input."
    SYNTAX INTEGER {
               rj45Type (1),
               smbType  (2)
           }

CmpClockSourceType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This object identifies the source of the
        Mux Clock on PXM card.

        pxmInbandClock1 (1),
        pxmInbandClock2 (5): clock is derived from physical line

        pxmServiceModuleClock1(2),
        pxmServiceModuleClock2(6): clock is derived from service module.

        pxmTopSRMClock         (3),
        pxmBottomSRMClock      (7): clock is derived from SRM module.

        pxmExternalClock(4),
        pxmExternalClock2(9)      :clock is derived from the port.

        pxmInternalOscillator  (8): clock is derived from internal
                                     oscillator."
    SYNTAX INTEGER {
               pxmInbandClock1        (1),
               pxmServiceModuleClock1 (2),
               pxmTopSRMClock         (3),
               pxmExternalClock       (4),
               pxmInbandClock2        (5),
               pxmServiceModuleClock2 (6),
               pxmBottomSRMClock      (7),
               pxmInternalOscillator  (8),
               pxmExternalClock2      (9)
           }

CmpCurrentClock ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This TEXTUAL Convention represents the clock source currently 
        selected for PXM card.

        primary(1): The primary clock source is described by
                    pxmPrimaryMuxClockSource

        secondary(2): The secondary clock source is described by
                      pxmSecondaryMuxClockSource.
        intOscillator(3): Current clock is internal oscillator."
    SYNTAX INTEGER {
                primary       (1),
                secondary     (2),
                intOscillator (3)
    }

CmpClockExistence ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "This TEXTUAL Convention represents the existence of
        the clock source.

        clkNotPresent (1): The T1/E1 external clock not present.
        clkPresent    (2): The T1/E1 external clock present."
    SYNTAX INTEGER {
                clkNotPresent (1),
                clkPresent    (2)
    }

CmpClockImpedance ::= TEXTUAL-CONVENTION
    STATUS     current
    DESCRIPTION
        "This Textual Convention provides the impedance on
        external clock input on PXM-UI-S3 back card."
    SYNTAX INTEGER {
                ohms75   (1),
                ohms100  (2),
                ohms120  (3)
           }

pxmClockConfig          OBJECT IDENTIFIER ::= {cardSpecific 16}

pxmPrimaryMuxClockSource   OBJECT-TYPE
    SYNTAX     CmpClockSourceType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object identifies the source of the
        Primary Mux Clock for PXM card."
    ::= { pxmClockConfig 1 }

pxmPrimaryInbandClockSourceLineNumber   OBJECT-TYPE
    SYNTAX     Integer32 (0..4)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates the inband line number.
        This is applicable when pxmPrimaryMuxClockSource is 
        pxmInbandClock1(1) or pxmServiceModuleClock2 (5)."
    ::= { pxmClockConfig 2 }    

pxmPrimarySMClockSourceSlotNumber   OBJECT-TYPE
    SYNTAX     Integer32 (0..32)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates the service module slot number.
        This is applicable when pxmPrimaryMuxClockSource is
        pxmServiceModuleClock1(2) or pxmServiceModuleClock2(6)."
    ::= { pxmClockConfig 3 }    

pxmSecondaryMuxClockSource OBJECT-TYPE
    SYNTAX     CmpClockSourceType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object identifies the source of the
        Secondary Mux Clock for PXM card."
    ::= { pxmClockConfig 4 }

pxmSecondaryInbandClockSourceLineNumber   OBJECT-TYPE
    SYNTAX     Integer32 (0..4)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates the inband line number.
        This is applicable when pxmSecondaryMuxClockSource is 
        pxmInbandClock1(1) or pxmServiceModuleClock2 (5)."
  ::= { pxmClockConfig 5 }    

pxmSecondarySMClockSourceSlotNumber   OBJECT-TYPE
    SYNTAX     Integer32 (0..32)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates the service module slot number.
        This is applicable when pxmSecondaryMuxClockSource is
        pxmServiceModuleClock1(2) or pxmServiceModuleClock2(6)."
    ::= { pxmClockConfig 6 }  

pxmCurrentClock  OBJECT-TYPE
    SYNTAX     CmpCurrentClock
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object represents the clock source currently 
        selected for PXM card.

        primary(1): The primary clock source is described by
                    pxmPrimaryMuxClockSource
        secondary(2): The secondary clock source is described by
                      pxmSecondaryMuxClockSource.
        intOscillator(3): Current clock is internal oscillator."
    ::= { pxmClockConfig 7 }

pxmPreviousClock  OBJECT-TYPE
    SYNTAX     CmpCurrentClock
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object represents the clock source previously 
        selected for PXM card."
    ::= { pxmClockConfig 8 }

pxmExtClockPresent    OBJECT-TYPE
    SYNTAX     CmpClockExistence
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Status of External T1/E1 Clock on PXM card."
    ::= { pxmClockConfig 9 }

pxmExtClkSrcImpedance    OBJECT-TYPE
    SYNTAX CmpClockImpedance 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Impedance on external clock input for PXM card."
    ::= { pxmClockConfig 10 }

pxmExtClkConnectorType   OBJECT-TYPE
    SYNTAX     CmpClockConnectorType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object describes the type of connector available
        for connecting the external clock source to the PXM."
    ::= { pxmClockConfig 11 }

pxmClkStratumLevel    OBJECT-TYPE
    SYNTAX INTEGER {
               stratumUnknown (1),
               stratumLevel1  (2),
               stratumLevel2  (3),
               stratumLevel3E (4),
               stratumLevel3  (5),
               stratumLevel4  (6),
               stratumLevel4E (7)
           }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object describes the lowest stratum level
        provided by the interface the external clock source to
        the PXM back card."
    ::= { pxmClockConfig 12 }

pxmClkErrReason          OBJECT-TYPE
    SYNTAX INTEGER {
                goodClk          (1),
                unknownReason    (2),
                noClkSignal      (3),
                freqTooHigh      (4),
                freqTooLow       (5),
                excessiveJitter  (6),
                missingCard      (7),
                missingLogicalIf (8),
                noClock          (9)
            }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object gives more information about clock 
        status.
        The possible values are :

         goodClk(1)         : Clock is good
         unkownReason(2)    : reason not known
         noClkSignal(3)     : Loss of signal(LOS) on clock source
         freqTooHigh(4)     : frequency drifted too high
         freqTooLow(5)      : frequency drifted too low
         excessiveJitter(6) : jitter has exceeded the tolerance
         missingCard    (7) : no clock hardware found
         missingLogicalIf(8): Logical Interface missing
                              or not operational
         noClock         (9): No clock."
    ::= { pxmClockConfig 13 }

pxmExtClock2Present    OBJECT-TYPE
    SYNTAX     CmpClockExistence
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object indicates the status of external T1/E1 
        Clock on port 2 of PXMUI-S3 back card."
    ::= { pxmClockConfig 14 }

pxmExtClk2SrcImpedance    OBJECT-TYPE
    SYNTAX     CmpClockImpedance 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object provides the impedance on external clock 
       input on port 2 of PXMUI-S3 back card."
    ::= { pxmClockConfig 15 }

pxmExtClk2ConnectorType   OBJECT-TYPE
    SYNTAX     CmpClockConnectorType
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This object describes the type of connector 
       available for connecting the external clock source 
       to the port 2 of PXM-UI-S3 back card of PXM."
    ::= { pxmClockConfig 16 }


-- conformance information

cmpClockMIBConformance  OBJECT IDENTIFIER ::= 
                           { ciscoMgx82xxPxmClockMIB 2 }

cmpClockMIBGroups       OBJECT IDENTIFIER ::= 
                                   { cmpClockMIBConformance 1 }

cmpClockMIBCompliances  OBJECT IDENTIFIER ::= 
                                   { cmpClockMIBConformance 2 }

-- compliance statements

cmpClockCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to PXM Clock mib."
    MODULE  -- this module
    MANDATORY-GROUPS {
        cmpClockInfoGroup,
        cmpPrimaryClockInfoGroup,
        cmpSecondaryClockInfoGroup,
        cmpExtClockInfoGroup
    }
    ::= { cmpClockMIBCompliances 1 }

cmpClockInfoGroup OBJECT-GROUP
    OBJECTS {
        pxmCurrentClock,
        pxmPreviousClock,
        pxmClkStratumLevel,
        pxmClkErrReason
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          providing information on PXM Clock configuration."
      ::= { cmpClockMIBGroups 1 }

cmpPrimaryClockInfoGroup OBJECT-GROUP
    OBJECTS {
        pxmPrimaryMuxClockSource,
        pxmPrimaryInbandClockSourceLineNumber,
        pxmPrimarySMClockSourceSlotNumber
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          providing information on Primary Clock configuration."
      ::= { cmpClockMIBGroups 2 }

cmpSecondaryClockInfoGroup OBJECT-GROUP
    OBJECTS {
        pxmSecondaryMuxClockSource,
        pxmSecondaryInbandClockSourceLineNumber,
        pxmSecondarySMClockSourceSlotNumber
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          providing information on Secondary Clock configuration."
      ::= { cmpClockMIBGroups 3 }

cmpExtClockInfoGroup OBJECT-GROUP
    OBJECTS {
        pxmExtClockPresent,
        pxmExtClkSrcImpedance,
        pxmExtClkConnectorType,
        pxmExtClock2Present,
        pxmExtClk2SrcImpedance,
        pxmExtClk2ConnectorType
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used for
          providing general information on PXM Clock 
          configuration."
      ::= { cmpClockMIBGroups 4 }

END

