LUM-GMPLS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, IpAddress, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TEXTUAL-CONVENTION, DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumGmplsMIB
        FROM LUM-REG
    MgmtNameString, BoardOrInterfaceOperStatus, BoardOrInterfaceAdminStatus, CommandString
        FROM LUM-TC;

lumGmplsMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The GMPLS interface MIB.

        - General

        - GMPLS  interfaces

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "200306120000Z" -- June 12th 2003
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 25 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumGmplsConfs OBJECT IDENTIFIER ::= { lumGmplsMIB 1 }
lumGmplsGroups OBJECT IDENTIFIER ::= { lumGmplsConfs 1 }
lumGmplsCompl OBJECT IDENTIFIER ::= { lumGmplsConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the GMPLS MIB
-- ----------------------------------------------------

lumGmplsMIBObjects OBJECT IDENTIFIER ::= { lumGmplsMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

gmplsGeneral OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 1 }
gmplsPhysLinkList OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 2 }
gmplsTeLinkList OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 3 }
gmplsLspList OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 4 }
gmplsTedList OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 5 }
gmplsEroList OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 6 }
gmplsControl OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 7 }
lumentisGmplsNotifications  OBJECT IDENTIFIER ::= { lumGmplsMIBObjects 8 }


-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------

GmplsLinkType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Type of GMPLS link."

    SYNTAX INTEGER {
        undefined (0),
        client  (1),
        trunc (2)  }


GmplsLinkDirType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Direction of GMPLS link."

    SYNTAX INTEGER {
        undefined (0),
        rx (1),
        tx (2),
        biDi (3),
        unused (4),
        txRx (5)  }

GmplsSwitchCapability ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Switching capability of a GMPLS link."

    SYNTAX INTEGER {
        unknown (0),
        psc1 (1),
        psc2 (2),
        psc3 (3),
        psc4 (4),
        l2sc (51),
        tdm (100),
        lsc (150),
        fsc (200) }

GmplsEncoding ::= TEXTUAL-CONVENTION
     STATUS current
    DESCRIPTION
        "Encoding of a GMPLS link."

    SYNTAX INTEGER {
        undef (0),
        eth (1),
        sdh (2),
        fc (3),
        multi (4),   --- multirate/multiformat
        lambda (5) }

GmplsEncodingStd ::= TEXTUAL-CONVENTION
     STATUS current
     DESCRIPTION
        "Encoding of a GMPLS link. Standard types."

    SYNTAX INTEGER {
        undef (0),
        eth (2),
        pdh (3),
        sdh (5),
        lambda (8),
        fiber (9),
        fc (11) }

GmplsConnectivity ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Connectivity of a TE-link."

    SYNTAX INTEGER {
           undef (0),
           tx (1),
           bidir (2),
           mismatch (3),
           rx (4) }

GmplsLinkProtection ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Link protection of an LSP."

    SYNTAX INTEGER {
           extraTraffic (1),
           unprotected (2),
           shared (4),
           dedecatedOneToOne (8),
           dedecatedOnePlusOne (16) }


GmplsPayloadIdentifier  ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Payload identifier."

    SYNTAX INTEGER {
          unknown (0),
          asynchE4 (5),
          asynchDS3T3 (6),
          asynchE3 (7),
          bitsynchE3 (8),
          bytesynchE3 (9),
          asynchDS2T2 (10),
          bitsynchDS2T2 (11),
          asynchE1 (13),
          bytesynchE1 (14),
          bytesynch31ByDS0 (15),
          asynchDS1T1 (16),
          bitsynchDS1T1 (17),
          bytesynchDS1T1 (18),
          vC11VC12 (19),
          ds1SFAsynch (22),
          ds1ESFAsynch (23),
          ds3M23Asynch (24),
          ds3CBitParityAsynch (25),
          vtLovc (26),
          stsSpeHovc (27),
          posNoScramble16BitCrc (28),
          posNoScramble32BitCrc (29),
          posScramble16BitCrc (30),
          posScramble32BitCrc (31),
          atm (32),
          ethernet (33),
          sdhSonet (34),
          digitalwrapper (36),
          lambda (37),
          ansiEtsiPdh (38),
          lapsSdh (40),
          fddi (41),
          dqdb (42),
          fiberChannel3 (43),
          hdlc (44),
          ethernetV2DixOnly (45),
          ethernet802dot3Only (46),
          ppp (50) --- Juniper
             }

GmplsDirection ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Direction of an LSP."

    SYNTAX INTEGER {
           forward (0),
           bidirectional (1) }

GmplsPathComputation ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "How to compute the path of the LSP."

    SYNTAX INTEGER {
           dynamicFull (1),   -- CSPF fully computed
           explicit (2),
           dynamicPartial (3) }

GmplsNumberedType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Type of i/f - numbered or unnumbered."

    SYNTAX INTEGER {
        unnum (1),
        num (2) }

GmplsLabelRequestType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Type of label request."

    SYNTAX INTEGER {
        no (1),
        atm (2),
        frame (3),
        general (4) }


GmplsBpsRate ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Bits per second."

    SYNTAX INTEGER {
           undef (0),
           eth10M (1),
           e3 (2),
           ds3 (3),
           sts1 (4),
           eth100M (5),
           fc133M (6),
           e4 (7),
           stm1 (8),
           fc266M (9),
           fc531M (10),
           stm4 (11),
           gbe (12),
           fc1062 (13),
           stm16 (14),
           stm64 (15),
           gbe10 (16),
           stm256 (17) }

GmplsModel ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Peer or overlay"
    SYNTAX INTEGER {
        peer (0),
        overlay (1) }

GmplsRouting ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "Routing"
    SYNTAX INTEGER {
        undef (0),
        nodeLevel (1),    --- Only IP address of next node
        interface (2),    --- Unnumbered explicit route
        label (3),
        interfaceAndLabel (4) }

-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

gmplsGeneralLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.

"
    ::= { gmplsGeneral 1 }

gmplsGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state of the MIB was last
        changed.

"
    ::= { gmplsGeneral 2 }

gmplsGeneralGmplsTelinkTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { gmplsGeneral 3 }

gmplsGeneralGmplsPhyslinkTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { gmplsGeneral 4 }

gmplsGeneralGmplsEroTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { gmplsGeneral 5 }

gmplsGeneralGmplsTedTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { gmplsGeneral 6 }

gmplsGeneralGmplsLspTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of table

"
    ::= { gmplsGeneral 7 }


-- ----------------------------------------------------
-- Control group
-- ----------------------------------------------------

gmplsControlVerificationLevel OBJECT-TYPE
    SYNTAX      INTEGER {
                   no (0),
                   loose (1),
                   verifyHop (2),
                   verifyPath (3),
                   strict (4) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "How to verify path requests

        no         - no control at all
        loose      - check and trace
        verifyHop  - check next hop, must be available
        verifyPath - verify and reject at error
        strict     - check as much as possible

"
    DEFVAL { loose }
    ::= { gmplsControl 1 }

gmplsControlCCDelay OBJECT-TYPE
    SYNTAX      Unsigned32 (0..20000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "How long to wait between 2 CCs (ms)


"
    DEFVAL { 0 }
    ::= { gmplsControl 2 }

gmplsControlLspCleanupPolicy OBJECT-TYPE
    SYNTAX      INTEGER {
                  noClean (0),
                  cleanAtTear (1),
                  keepAtPathTear (2),  -- Keep LSP and EROs at ingress node
                  alwaysClean (3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When to clean up teared down LSPs.

"
    DEFVAL { alwaysClean }
    ::= { gmplsControl 3 }

gmplsControlOspfAreaId OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Area ID 0.0.0.0 is used for the OSPF backbone.

"
   ::= { gmplsControl 4 }

gmplsControlRequestResvConfirm OBJECT-TYPE
    SYNTAX      INTEGER {
                  disabled (1),
                  enabled (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
         disabled - no confirm is requested at RESV
         enabled  - confirm is requested

"
   DEFVAL { enabled }
   ::= { gmplsControl 5 }

gmplsControlPathRefreshTimer OBJECT-TYPE
    SYNTAX      Unsigned32 (1..10000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
         The refresh rate for PATH

"
    DEFVAL { 30 }
    ::= { gmplsControl 6 }

gmplsControlResvRefreshTimer OBJECT-TYPE
    SYNTAX      Unsigned32 (1..10000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
         The refresh rate for RESV

"
    DEFVAL { 30 }
    ::= { gmplsControl 7 }

-- ----------------------------------------------------
-- GMPLS physical links
-- ----------------------------------------------------

gmplsPhysLinkTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF GmplsPhysLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface list."
    ::= { gmplsPhysLinkList 1 }

gmplsPhysLinkEntry OBJECT-TYPE
    SYNTAX      GmplsPhysLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the interface list.

"
    INDEX { gmplsPhysLinkIndex }
    ::= { gmplsPhysLinkTable 1 }

GmplsPhysLinkEntry ::=
    SEQUENCE {
        gmplsPhysLinkIndex              Unsigned32,
        gmplsPhysLinkName               MgmtNameString,
        gmplsPhysLinkDescr              DisplayString,
        gmplsPhysLinkLinkId             Unsigned32,
        gmplsPhysLinkType               GmplsLinkType,
	gmplsPhysLinkOwner		MgmtNameString,
        gmplsPhysLinkResourceType       Unsigned32,
        gmplsPhysLinkResourceId         Unsigned32,
        gmplsPhysLinkEntityId           Unsigned32,
        gmplsPhysLinkDirection          GmplsLinkDirType,
        gmplsPhysLinkTeLinkCommand      CommandString,
        gmplsPhysLinkTeState            INTEGER,
        gmplsPhysLinkSwitchCapability   GmplsSwitchCapability,
        gmplsPhysLinkEncoding           GmplsEncoding,
        gmplsPhysLinkMinBitRate         Unsigned32,
        gmplsPhysLinkMaxBitRate         Unsigned32,
        gmplsPhysLinkInfoCommand   CommandString }

gmplsPhysLinkIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
   ::= { gmplsPhysLinkEntry 1 }

gmplsPhysLinkName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
        'mrt:1:1:1-2', where the first number indicates
        subrack, the second slot number and the third is
        the port number.
        Examples:

        mrt:s:s:p - GMPLS client interface

"
    ::= { gmplsPhysLinkEntry 2 }

gmplsPhysLinkDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "User configurable label.

"
    DEFVAL { "" }
    ::= { gmplsPhysLinkEntry 3 }

gmplsPhysLinkLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link ID.

"
   ::= { gmplsPhysLinkEntry 4 }

gmplsPhysLinkType OBJECT-TYPE
    SYNTAX      GmplsLinkType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of interface

"
    ::= { gmplsPhysLinkEntry 5 }

gmplsPhysLinkOwner OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The owner process

"
    ::= { gmplsPhysLinkEntry 6 }

gmplsPhysLinkResourceType OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the internal object type.

"
   ::= { gmplsPhysLinkEntry 7 }

gmplsPhysLinkResourceId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Identifies the SNMP index in the internal table

"
   ::= { gmplsPhysLinkEntry 8 }

gmplsPhysLinkEntityId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Index in entity table

"
   ::= { gmplsPhysLinkEntry 9 }


gmplsPhysLinkDirection OBJECT-TYPE
    SYNTAX      GmplsLinkDirType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Direction

"
   ::= { gmplsPhysLinkEntry 10 }

gmplsPhysLinkTeLinkCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Command to initiate a path request

        Synopsis: telink [rxLinkId]

"
    ::= { gmplsPhysLinkEntry 11 }

gmplsPhysLinkTeState OBJECT-TYPE
    SYNTAX      INTEGER {
                   unused (1),
                   defined (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "'Defined' if the link is definied as a TE-link

"
   ::= { gmplsPhysLinkEntry 12 }

gmplsPhysLinkSwitchCapability OBJECT-TYPE
    SYNTAX      GmplsSwitchCapability
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "tdm - time-division multiplex capable

         fsc - fiber switch capable

"
   ::= { gmplsPhysLinkEntry 13 }

gmplsPhysLinkEncoding OBJECT-TYPE
    SYNTAX      GmplsEncoding
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "eth - ethernet
         sdh - SDH
         fc - fiber channel
         selectable - multirate/multiformat
         lambda - any signal

"
   ::= { gmplsPhysLinkEntry 14 }

gmplsPhysLinkMinBitRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Lowest bit-rate supported by link

"
   ::= { gmplsPhysLinkEntry 15 }

gmplsPhysLinkMaxBitRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Highest bit-rate supported by link

"
   ::= { gmplsPhysLinkEntry 16 }

gmplsPhysLinkInfoCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "List interface objects

        Synopsis: info

"
    ::= { gmplsPhysLinkEntry 17 }

-- ----------------------------------------------------
-- GMPLS Traffic Engineering links
-- ----------------------------------------------------

gmplsTeLinkTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF GmplsTeLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface list."
    ::= { gmplsTeLinkList 1 }

gmplsTeLinkEntry OBJECT-TYPE
    SYNTAX      GmplsTeLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the interface list.

"
    INDEX { gmplsTeLinkIndex }
    ::= { gmplsTeLinkTable 1 }

GmplsTeLinkEntry ::=
    SEQUENCE {
        gmplsTeLinkIndex              Unsigned32,
        gmplsTeLinkName               MgmtNameString,
        gmplsTeLinkDescr              DisplayString,
        gmplsTeLinkLocalLinkId        Unsigned32,
        gmplsTeLinkRemoteId           Unsigned32,
        gmplsTeLinkTxLinkId           Unsigned32,
        gmplsTeLinkRxLinkId           Unsigned32,
        gmplsTeLinkRemoteIp           DisplayString,
        gmplsTeLinkAdminStatus        BoardOrInterfaceAdminStatus,
	gmplsTeLinkOperStatus	       INTEGER,
        gmplsTeLinkUsage              INTEGER,
        gmplsTeLinkLspCommand         CommandString,
        gmplsTeLinkAvaliable          INTEGER,
	gmplsTeLinkRxAlarm	      INTEGER,
	gmplsTeLinkTxAlarm	      INTEGER,
        gmplsTeLinkLabels             Unsigned32,
        gmplsTeLinkFreeLabels         Unsigned32,
        gmplsTeLinkLabelUsageMask     Unsigned32,
        gmplsTeLinkStatus             GmplsConnectivity,
        gmplsTeLinkInfoCommand        CommandString,
        gmplsTeLinkAdmin               INTEGER,
        gmplsTeLinkPresence            INTEGER,
        gmplsTeLinkAlarm               INTEGER,
        gmplsTeLinkSummary            DisplayString,
        gmplsTeLinkLinkType            GmplsNumberedType,
        gmplsTeLinkConnectCommand      CommandString,
        gmplsTeLinkPayload             GmplsPayloadIdentifier,
        gmplsTeLinkMetric              Unsigned32,
        gmplsTeLinkColor               Unsigned32,
        gmplsTeLinkSrlg                Unsigned32,
        gmplsTeLinkModel               GmplsModel,
        gmplsTeLinkLocalIfIp           DisplayString,
        gmplsTeLinkRemoteIfIp          DisplayString,
        gmplsTeLinkPhysResourceId      Unsigned32,
        gmplsTeLinkRemotePhysResourceId Unsigned32 }



gmplsTeLinkIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
   ::= { gmplsTeLinkEntry 1 }

gmplsTeLinkName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
        'mrt:1:1:1-2', where the first number indicates
        subrack, the second slot number and the third is
        the port number.
        Examples:

        mrt:s:s:p - GMPLS client interface

"
    ::= { gmplsTeLinkEntry 2 }

gmplsTeLinkDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.

"
    DEFVAL { "" }
    ::= { gmplsTeLinkEntry 3 }

gmplsTeLinkLocalLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link ID.

"
   ::= { gmplsTeLinkEntry 4 }

gmplsTeLinkRemoteId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Remote link ID.

"
   ::= { gmplsTeLinkEntry 5 }

gmplsTeLinkTxLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "ID of physical TX link


"
   ::= { gmplsTeLinkEntry 6 }

gmplsTeLinkRxLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "ID of physical RX link (might be the same as TX).


"
   ::= { gmplsTeLinkEntry 7 }

gmplsTeLinkRemoteIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP addr of the remote node.

"
    ::= { gmplsTeLinkEntry 8 }

gmplsTeLinkAdminStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceAdminStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state for the interface.

        down - The interface should be inactive.

        service - The interface is activated but alarms
        are suppressed. Intended for use during service
        or re-configuration. When service is concluded
        adminStatus should be set to 'up' again.

        up - The interface should be activated when
        it becomes available. Alarms are not suppressed.

"
    DEFVAL { down }
    ::= { gmplsTeLinkEntry 9 }

gmplsTeLinkOperStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceOperStatus
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The operational state for the interface.

        notPresent - The physical resources are not
        available.

        down - The interface is de-activated or the are
        faults preventing it from going to the
        'up'-state.

        up - The interface is operational.

"
    ::= { gmplsTeLinkEntry 10 }

gmplsTeLinkUsage OBJECT-TYPE
    SYNTAX      INTEGER {
                    free (1),
                    resvd (2),
                    run (3),
                    tear (4) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The GMPLS usage state of the link.

"
    ::= { gmplsTeLinkEntry 16 }

gmplsTeLinkLspCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Command to initiate a path request

        Synopsis: path <egress> <eros> <fst ero> [<snd ero>]
                  <ero> : <addr> + <ifId>
                  <egress> : address of target node (= last ERO)

        If no arguments are given, the user will be prompted.

"
    ::= { gmplsTeLinkEntry 17 }

gmplsTeLinkAvaliable OBJECT-TYPE
    SYNTAX      INTEGER {
                    available (1),
                    occupied (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The availability of the link.

        available - OK and free to use
        occupied  - already connected

"
    ::= { gmplsTeLinkEntry 18 }


gmplsTeLinkRxAlarm OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok (1),
                    alarm (2) }
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The RX state of the link.

"
    ::= { gmplsTeLinkEntry 19 }

gmplsTeLinkTxAlarm OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok (1),
                    alarm (2) }
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The TX state of the link.

"
    ::= { gmplsTeLinkEntry 20 }

gmplsTeLinkLabels OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of label capacity of the link

"
   ::= { gmplsTeLinkEntry 21 }

gmplsTeLinkFreeLabels OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of unused labels for the link

"
   ::= { gmplsTeLinkEntry 22 }

gmplsTeLinkLabelUsageMask OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A bitmask showing the used labels

"
    DEFVAL { 0 }
    ::= { gmplsTeLinkEntry 23 }

gmplsTeLinkStatus OBJECT-TYPE
    SYNTAX     GmplsConnectivity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of the link.

        tx - not 'acknowledged' by neighbour yet

        bidir - 'acknowledged' by neighbour

        mismatch - neighbours disagree

        rx  - LSA matching local TE-link that is
              disabled

"
    ::= { gmplsTeLinkEntry 24 }

gmplsTeLinkInfoCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Show info about the TE-link

        Synopsis: info [details]
                  details = show status about interface objects

"
    ::= { gmplsTeLinkEntry 25 }

gmplsTeLinkAdmin OBJECT-TYPE
    SYNTAX      INTEGER {
                    free (1),
                    locked (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The administrative state of the link.

        free      - admin = up
        locked    - admin = down for some i/f
                    of the link

"
    ::= { gmplsTeLinkEntry 26 }

gmplsTeLinkPresence OBJECT-TYPE
    SYNTAX      INTEGER {
                    present (1),
                    missing (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The precense of the link HW.

        present   - all HW is present
        missing   - some HW is missing

"
    ::= { gmplsTeLinkEntry 27 }

gmplsTeLinkAlarm OBJECT-TYPE
    SYNTAX      INTEGER {
                    ok (1),
                    alarm (2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The transmission status of the link.

        ok     -     no trasnmission faults
        error  -     trasnmission fault(s) on the i/f

"
    ::= { gmplsTeLinkEntry 28 }

gmplsTeLinkSummary OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Summary of the link state.

        L - Locked, otherwise free
        O - Occupied, otherwise available
        M - Missing, otherwise present
        A - Alarm, otherwise OK

"
    ::= { gmplsTeLinkEntry 29 }

gmplsTeLinkLinkType OBJECT-TYPE
    SYNTAX      GmplsNumberedType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of interface.

        unnumbered - i/f has no IP address

        numbered - i/f has IP address

"
    DEFVAL { unnum }
    ::= { gmplsTeLinkEntry 30 }

gmplsTeLinkConnectCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Connect TE-link to other TE-link

"
    ::= { gmplsTeLinkEntry 31 }

gmplsTeLinkPayload OBJECT-TYPE
    SYNTAX      GmplsPayloadIdentifier
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Payload identifier

"
    ::= { gmplsTeLinkEntry 32 }

gmplsTeLinkMetric OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Metric

"
    DEFVAL { 10 }
    ::= { gmplsTeLinkEntry 33 }

gmplsTeLinkColor OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Resource class/color

        Administrative group.

        Bit mask

"
    DEFVAL { 0 }
    ::= { gmplsTeLinkEntry 34 }

gmplsTeLinkSrlg OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Shared risk link group

"
    DEFVAL { 0 }
    ::= { gmplsTeLinkEntry 35 }

gmplsTeLinkModel OBJECT-TYPE
    SYNTAX      GmplsModel
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the node at the other end of
        the link supports the peer model or just the
        overlay model.

        overlay - The other node might do UNI signalling

"
    DEFVAL { peer }
    ::= { gmplsTeLinkEntry 36 }

gmplsTeLinkLocalIfIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "IP address of the local i/f.


"
    DEFVAL { "" }
    ::= { gmplsTeLinkEntry 37 }

gmplsTeLinkRemoteIfIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "IP address of the remote i/f.


"
    DEFVAL { "" }
    ::= { gmplsTeLinkEntry 38 }

gmplsTeLinkPhysResourceId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "ID of physical link

"
   ::= { gmplsTeLinkEntry 39 }

gmplsTeLinkRemotePhysResourceId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Remote ID of physical link

"
    DEFVAL { 0 }
   ::= { gmplsTeLinkEntry 40 }

-- ----------------------------------------------------
-- GMPLS LSP
-- ----------------------------------------------------

gmplsLspTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF GmplsLspEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The lsp list."
    ::= { gmplsLspList 1 }

gmplsLspEntry OBJECT-TYPE
    SYNTAX      GmplsLspEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the lsp list.

"
    INDEX { gmplsLspIndex }
    ::= { gmplsLspTable 1 }

GmplsLspEntry ::=
    SEQUENCE {
        gmplsLspIndex                   Unsigned32,
        gmplsLspName                    MgmtNameString,
        gmplsLspDescr                   DisplayString,
        gmplsLspLinkId                  Unsigned32,
        gmplsLspTunnelId                Unsigned32,
        gmplsLspExTunnelId              Unsigned32,
        gmplsLspIngressIp               DisplayString,
        gmplsLspIngressLinkId           Unsigned32,
        gmplsLspEgressIp                DisplayString,
        gmplsLspEgressLinkId            Unsigned32,
        gmplsLspUpLabel                 Unsigned32,
        gmplsLspUpstreamNeighbour       DisplayString,
        gmplsLspDownstreamNeighbour     DisplayString,
        gmplsLspState                   INTEGER,
        gmplsLspSessionId               Unsigned32,
        gmplsLspRole                    INTEGER,
        gmplsLspEroList                 DisplayString,
        gmplsLspEncoding                GmplsEncodingStd,
        gmplsLspSwitchingType           GmplsSwitchCapability,
        gmplsLspLinkProtection          GmplsLinkProtection,
        gmplsLspGPid                    GmplsPayloadIdentifier,
        gmplsLspDirection               GmplsDirection,
        gmplsLspPathComputation         GmplsPathComputation,
        gmplsLspEroCommand              CommandString,
        gmplsLspPathCommand             CommandString,
        gmplsLspTearCommand             CommandString,
        gmplsLspListCommand             CommandString,
        gmplsLspInfoCommand             CommandString,
        gmplsLspReleaseCommand          CommandString,
        gmplsLspDownLabel               Unsigned32,
        gmplsLspLabelRequestType        GmplsLabelRequestType,
        gmplsLspTSpecPeakRate           GmplsBpsRate,
        gmplsLspTSpecAvgRate            GmplsBpsRate,
        gmplsLspLastErrorString         DisplayString,
        gmplsLspRouting                 GmplsRouting,
        gmplsLspCspfCommand             CommandString,
        gmplsLspSessionName             DisplayString }

gmplsLspIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
   ::= { gmplsLspEntry 1 }

gmplsLspName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
        'mrt:1:1:1-2', where the first number indicates
        subrack, the second slot number and the third is
        the port number.
        Examples:

        mrt:s:s:p - GMPLS client interface

"
    ::= { gmplsLspEntry 2 }

gmplsLspDescr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.

"
    DEFVAL { "" }
    ::= { gmplsLspEntry 3 }

gmplsLspLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link ID.

"
   ::= { gmplsLspEntry 4 }

gmplsLspTunnelId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The tunnel ID

"
   ::= { gmplsLspEntry 5 }

gmplsLspExTunnelId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Used as ingress address

"
   ::= { gmplsLspEntry 6 }

gmplsLspIngressIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of the ingress node.

"
    ::= { gmplsLspEntry 7 }

gmplsLspIngressLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Ingress node link ID.

"
   ::= { gmplsLspEntry 8 }

gmplsLspEgressIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of the egress node.

"
    ::= { gmplsLspEntry 9 }

gmplsLspEgressLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Remote link ID.

"
   ::= { gmplsLspEntry 10 }

gmplsLspUpLabel OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Label of LSP towards the upstream node.

"
   ::= { gmplsLspEntry 11 }

gmplsLspUpstreamNeighbour OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of the upstream node.

"
    ::= { gmplsLspEntry 12 }

gmplsLspDownstreamNeighbour OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of the downstream node.

"
    ::= { gmplsLspEntry 13 }

gmplsLspState OBJECT-TYPE
    SYNTAX      INTEGER {
                    setup (0),
                    path (1),
                    resv (2),
                    live (3),
                    error (4),
                    tear (5),
                    hwdeleted (6) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state of the LSP.

"
    ::= { gmplsLspEntry 14 }

gmplsLspSessionId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The session ID

"
   ::= { gmplsLspEntry 15 }

gmplsLspRole OBJECT-TYPE
    SYNTAX      INTEGER {
                    head (1),
                    transit (2),
                    tail (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The role of the node.

"
    ::= { gmplsLspEntry 16 }

gmplsLspEroList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "List of EROS (saved)

"
    ::= { gmplsLspEntry 17 }

gmplsLspEncoding OBJECT-TYPE
    SYNTAX      GmplsEncodingStd
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Encoding - used for generalized label request.

"
    ::= { gmplsLspEntry 18 }

gmplsLspSwitchingType OBJECT-TYPE
    SYNTAX      GmplsSwitchCapability
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Switch type - used for generalized label request.

"
    ::= { gmplsLspEntry 19 }

gmplsLspLinkProtection OBJECT-TYPE
    SYNTAX      GmplsLinkProtection
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Protection

"
    ::= { gmplsLspEntry 20 }

gmplsLspGPid OBJECT-TYPE
    SYNTAX      GmplsPayloadIdentifier
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Payload identifier  - used for generalized label request.

"
    ::= { gmplsLspEntry 21 }

gmplsLspDirection OBJECT-TYPE
    SYNTAX      GmplsDirection
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Direction

"
    ::= { gmplsLspEntry 22 }

gmplsLspPathComputation OBJECT-TYPE
    SYNTAX      GmplsPathComputation
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "How to compute the path

"
    ::= { gmplsLspEntry 23 }


gmplsLspEroCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Create an explicit route object

        Synopsis: ero <type> <ip> [<label> | <ifId> [<label>]]
        <type> = ipv4 | ipv4Label | unnum | unnumLabel


"
    ::= { gmplsLspEntry 24 }

gmplsLspPathCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Command to initiate path request

        Synopsis: path

"
    ::= { gmplsLspEntry 25 }

gmplsLspTearCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Command to initiate a lsp tear request

        Synopsis: tear [force | delete | keep]

"
    ::= { gmplsLspEntry 26 }

gmplsLspListCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "List EROs

        Synopsis: list

"
    ::= { gmplsLspEntry 27 }

gmplsLspInfoCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Show info about the LSP including the related TE-link(s)

        Synopsis: info [details | extensive]
                  details =   show info about TE-link(s)
                  extensive = show more info about TE-link(s)

"
    ::= { gmplsLspEntry 28 }

gmplsLspReleaseCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Release LSP (debugging)

        Synopsis: release

"
    ::= { gmplsLspEntry 29 }

gmplsLspDownLabel OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Label of LSP towards the downstream node.

"
   ::= { gmplsLspEntry 30 }

gmplsLspLabelRequestType OBJECT-TYPE
    SYNTAX      GmplsLabelRequestType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of label to be used in label request.

"
   ::= { gmplsLspEntry 31 }

gmplsLspTSpecPeakRate OBJECT-TYPE
    SYNTAX      GmplsBpsRate
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Peak data rate

"
   ::= { gmplsLspEntry 32 }

gmplsLspTSpecAvgRate OBJECT-TYPE
    SYNTAX      GmplsBpsRate
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Average data rate

"
   ::= { gmplsLspEntry 33 }

gmplsLspLastErrorString OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Last error.

"
   ::= { gmplsLspEntry 34 }

gmplsLspRouting OBJECT-TYPE
    SYNTAX      GmplsRouting
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Routing method

         nodeLevel         - Only IP address of next node
         interface         - Unnumbered explicit route
         label             - label is used to interpret outgoing link
         interfaceAndLabel - Unnumbered expl + label selection

"
   ::= { gmplsLspEntry 35 }

gmplsLspCspfCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Compute a path to a given node.

        Synopsis: cspf <IP address>

"
    ::= { gmplsLspEntry 36 }

gmplsLspSessionName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Session name - from incoming path request.

"
   ::= { gmplsLspEntry 37 }


-- ----------------------------------------------------
-- GMPLS TED
-- ----------------------------------------------------

gmplsTedTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF GmplsTedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ted list."
    ::= { gmplsTedList 1 }

gmplsTedEntry OBJECT-TYPE
    SYNTAX      GmplsTedEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ted list.

"
    INDEX { gmplsTedIndex }
    ::= { gmplsTedTable 1 }

GmplsTedEntry ::=
    SEQUENCE {
        gmplsTedIndex                   Unsigned32,
        gmplsTedName                    MgmtNameString,
        gmplsTedRouter                  MgmtNameString,
        gmplsTedLocalLinkId             Unsigned32,
        gmplsTedRemoteIp                DisplayString,
        gmplsTedRemoteLinkId            Unsigned32,
        gmplsTedStatus                  GmplsConnectivity,
        gmplsTedSwitchCapability        GmplsSwitchCapability,
        gmplsTedEncoding                GmplsEncodingStd,
        gmplsTedMinBitRate              Unsigned32,
        gmplsTedMaxBitRate              Unsigned32,
        gmplsTedUnreserved              Unsigned32,
        gmplsTedProtectionType          Unsigned32,
        gmplsTedMetric                  Unsigned32,
        gmplsTedLocalIfIp               MgmtNameString,
        gmplsTedRemoteIfIp              MgmtNameString,
        gmplsTedType                    GmplsNumberedType,
        gmplsTedColorClass              Unsigned32,
        gmplsTedSrlg                    Unsigned32,
        gmplsTedInfoCommand             CommandString,
        gmplsTedNoOfIscd                Unsigned32,
        gmplsTedFirstAnnounced          DateAndTime,
        gmplsTedLastRefresh             DateAndTime,
	gmplsTedMinBitRateSym GmplsBpsRate,
	gmplsTedMaxBitRateSym GmplsBpsRate,
	gmplsTedUnreservedSym GmplsBpsRate }


gmplsTedIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
   ::= { gmplsTedEntry 1 }

gmplsTedName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the TED

"
    ::= { gmplsTedEntry 2 }

gmplsTedRouter OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP addr of the advertising router

"
    ::= { gmplsTedEntry 3 }

gmplsTedLocalLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Local link ID.

"
   ::= { gmplsTedEntry 4 }

gmplsTedRemoteIp OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP addr of the remote node.

"
    ::= { gmplsTedEntry 5 }

gmplsTedRemoteLinkId OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Remote link ID.

"
   ::= { gmplsTedEntry 6 }

gmplsTedStatus OBJECT-TYPE
    SYNTAX      GmplsConnectivity
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Connectivity status

"
   ::= { gmplsTedEntry 7 }

gmplsTedSwitchCapability OBJECT-TYPE
    SYNTAX      GmplsSwitchCapability
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Capability

"
   ::= { gmplsTedEntry 8 }

gmplsTedEncoding OBJECT-TYPE
    SYNTAX      GmplsEncodingStd
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Encoding

"
   ::= { gmplsTedEntry 9 }

gmplsTedMinBitRate OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Min bit rate

"
   ::= { gmplsTedEntry 10 }

gmplsTedMaxBitRate OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max bit rate

"
   ::= { gmplsTedEntry 11 }

gmplsTedUnreserved OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Unreserved

"
   ::= { gmplsTedEntry 12 }

gmplsTedProtectionType OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Protection type

"
   ::= { gmplsTedEntry 13 }

gmplsTedMetric OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Metric

"
   ::= { gmplsTedEntry 14 }


gmplsTedLocalIfIp OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP addr of the local interface.

"
    ::= { gmplsTedEntry 15 }

gmplsTedRemoteIfIp OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP addr of the remote interface.

"
    ::= { gmplsTedEntry 16 }


gmplsTedType OBJECT-TYPE
    SYNTAX      GmplsNumberedType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of interface.

        unnumbered - i/f has no IP address

        numbered - i/f has IP address

"
    ::= { gmplsTedEntry 17 }

gmplsTedColorClass OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Resource class/color

"
   ::= { gmplsTedEntry 18 }

gmplsTedSrlg OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shared link risk group

"
   ::= { gmplsTedEntry 19 }

gmplsTedInfoCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Show more info about TEDs

        Synopsis: info

"
    ::= { gmplsTedEntry 20 }

gmplsTedNoOfIscd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of interface switching capability descriptors.

"
   ::= { gmplsTedEntry 21 }


gmplsTedFirstAnnounced OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time when the TED was first received by this node.

"
   ::= { gmplsTedEntry 22 }

gmplsTedLastRefresh OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time of last refresh of this TED.

"
   ::= { gmplsTedEntry 23 }

gmplsTedMinBitRateSym OBJECT-TYPE
    SYNTAX      GmplsBpsRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Min bit rate

"
   ::= { gmplsTedEntry 24 }

gmplsTedMaxBitRateSym OBJECT-TYPE
    SYNTAX      GmplsBpsRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max bit rate
"
   ::= { gmplsTedEntry 25 }

gmplsTedUnreservedSym OBJECT-TYPE
    SYNTAX      GmplsBpsRate
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Unreserved
"
   ::= { gmplsTedEntry 26 }


-- ----------------------------------------------------
-- GMPLS ERO
-- ----------------------------------------------------

gmplsEroTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF GmplsEroEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The ero list."
    ::= { gmplsEroList 1 }

gmplsEroEntry OBJECT-TYPE
    SYNTAX      GmplsEroEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ero list.

"
    INDEX { gmplsEroIndex }
    ::= { gmplsEroTable 1 }

GmplsEroEntry ::=
    SEQUENCE {
        gmplsEroIndex                   Unsigned32,
        gmplsEroName                    MgmtNameString,
        gmplsEroType                    INTEGER,
        gmplsEroAddress                 MgmtNameString,
        gmplsEroInterfaceId             Unsigned32,
        gmplsEroLabel                   Unsigned32 }


gmplsEroIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
   ::= { gmplsEroEntry 1 }

gmplsEroName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the ERO

"
    ::= { gmplsEroEntry 2 }

gmplsEroType OBJECT-TYPE
    SYNTAX      INTEGER {
                        ipv4 (0),
                        ipv4Label (1),
                        unnum (2),
                        unnumLabel (3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of ERO

"
    ::= { gmplsEroEntry 3 }


gmplsEroAddress OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The IP addr of the router, or the IP address of
        the interface.

"
    ::= { gmplsEroEntry 4 }

gmplsEroInterfaceId OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The interface ID of an unnumbered interface

"
    ::= { gmplsEroEntry 5 }

gmplsEroLabel OBJECT-TYPE
    SYNTAX      Unsigned32 (0..4294967295)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The label to be used.

"
    ::= { gmplsEroEntry 6 }


-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------

gmplsNotifyPrefix OBJECT IDENTIFIER ::= { lumentisGmplsNotifications 0 }

gmplsPhysLinkTxSignalStatusDown NOTIFICATION-TYPE
    OBJECTS {
        gmplsPhysLinkIndex,
        gmplsPhysLinkName
        -- gmplsPhysLinkSubrack,
        -- gmplsPhysLinkSlot,
        -- gmplsPhysLinkTxPort,
        -- gmplsPhysLinkRxPort,
        -- gmplsPhysLinkTxSignalStatus
	}
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

"
    ::= { gmplsNotifyPrefix 1 }

gmplsPhysLinkTxSignalStatusUp NOTIFICATION-TYPE
    OBJECTS {
        gmplsPhysLinkIndex,
        gmplsPhysLinkName
        -- gmplsPhysLinkSubrack,
        -- gmplsPhysLinkSlot,
        -- gmplsPhysLinkTxPort,
        -- gmplsPhysLinkRxPort,
        -- gmplsPhysLinkTxSignalStatus
	}
    STATUS      current
    DESCRIPTION
        "Sent when the signal status attribute of an
        interface changes.

"
    ::= { gmplsNotifyPrefix 2 }


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

gmplsGeneralGroup OBJECT-GROUP
    OBJECTS {
        gmplsGeneralLastChangeTime,
        gmplsGeneralStateLastChangeTime,
        gmplsGeneralGmplsTelinkTableSize,
        gmplsGeneralGmplsPhyslinkTableSize,
        gmplsGeneralGmplsEroTableSize,
        gmplsGeneralGmplsTedTableSize,
        gmplsGeneralGmplsLspTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumGmplsGroups 1 }

gmplsPhysLinkGroup OBJECT-GROUP
    OBJECTS {
        gmplsPhysLinkIndex,
        gmplsPhysLinkName,
        gmplsPhysLinkLinkId,
        gmplsPhysLinkType,
        gmplsPhysLinkResourceType,
        gmplsPhysLinkResourceId,
        gmplsPhysLinkEntityId,
        gmplsPhysLinkDirection,
        gmplsPhysLinkTeLinkCommand,
        gmplsPhysLinkTeState,
        gmplsPhysLinkSwitchCapability,
        gmplsPhysLinkEncoding,
        gmplsPhysLinkMinBitRate,
        gmplsPhysLinkMaxBitRate,
        gmplsPhysLinkInfoCommand }
    STATUS      current
    DESCRIPTION
        "The gmpls physical link objects."
    ::= { lumGmplsGroups 2 }

gmplsLspGroup OBJECT-GROUP
    OBJECTS {
        gmplsLspIndex,
        gmplsLspName,
        gmplsLspDescr,
        gmplsLspLinkId,
        gmplsLspTunnelId,
        gmplsLspExTunnelId,
        gmplsLspIngressIp,
        gmplsLspIngressLinkId,
        gmplsLspEgressIp,
        gmplsLspEgressLinkId,
        gmplsLspUpLabel,
        gmplsLspUpstreamNeighbour,
        gmplsLspDownstreamNeighbour,
        gmplsLspState,
        gmplsLspRole,
        gmplsLspSessionId,
        gmplsLspEncoding,
        gmplsLspSwitchingType,
        gmplsLspLinkProtection,
        gmplsLspGPid,
        gmplsLspDirection,
        gmplsLspPathComputation,
        gmplsLspEroCommand,
        gmplsLspPathCommand,
        gmplsLspTearCommand,
        gmplsLspListCommand,
        gmplsLspInfoCommand,
        gmplsLspReleaseCommand,
        gmplsLspDownLabel,
        gmplsLspLabelRequestType,
        gmplsLspTSpecPeakRate,
        gmplsLspTSpecAvgRate,
        gmplsLspLastErrorString,
        gmplsLspRouting,
        gmplsLspCspfCommand,
        gmplsLspSessionName }
    STATUS      current
    DESCRIPTION
        "The gmpls LSP objects."
    ::= { lumGmplsGroups 3 }

gmplsNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        gmplsPhysLinkTxSignalStatusDown,
        gmplsPhysLinkTxSignalStatusUp }
    STATUS      current
    DESCRIPTION
        "The gmpls notifications."
    ::= { lumGmplsGroups 4 }

gmplsTeLinkGroup OBJECT-GROUP
    OBJECTS {
            gmplsTeLinkIndex,
            gmplsTeLinkName,
            gmplsTeLinkDescr,
            gmplsTeLinkLocalLinkId,
            gmplsTeLinkRemoteId,
            gmplsTeLinkTxLinkId,
            gmplsTeLinkRxLinkId,
            gmplsTeLinkRemoteIp,
            gmplsTeLinkAdminStatus,
            gmplsTeLinkLspCommand,
            gmplsTeLinkUsage,
            gmplsTeLinkAvaliable,
            gmplsTeLinkLabels,
            gmplsTeLinkFreeLabels,
            gmplsTeLinkLabelUsageMask,
            gmplsTeLinkStatus,
            gmplsTeLinkInfoCommand,
            gmplsTeLinkAdmin,
            gmplsTeLinkPresence,
            gmplsTeLinkAlarm,
            gmplsTeLinkSummary,
            gmplsTeLinkLinkType,
            gmplsTeLinkConnectCommand,
            gmplsTeLinkPayload,
            gmplsTeLinkMetric,
            gmplsTeLinkColor,
            gmplsTeLinkSrlg,
            gmplsTeLinkModel,
            gmplsTeLinkLocalIfIp,
            gmplsTeLinkRemoteIfIp,
            gmplsTeLinkPhysResourceId,
            gmplsTeLinkRemotePhysResourceId }
    STATUS      current
    DESCRIPTION
        "The gmpls TE link objects."
    ::= { lumGmplsGroups 5 }

gmplsTedGroup OBJECT-GROUP
    OBJECTS {
            gmplsTedIndex,
            gmplsTedName,
            gmplsTedRouter,
            gmplsTedLocalLinkId,
            gmplsTedRemoteIp,
            gmplsTedRemoteLinkId,
            gmplsTedStatus,
            gmplsTedLocalIfIp,
            gmplsTedRemoteIfIp,
            gmplsTedType,
            gmplsTedSwitchCapability,
            gmplsTedEncoding,
            gmplsTedMaxBitRate,
            gmplsTedMinBitRate,
            gmplsTedUnreserved,
            gmplsTedProtectionType,
            gmplsTedMetric,
            gmplsTedColorClass,
            gmplsTedSrlg,
            gmplsTedInfoCommand,
            gmplsTedNoOfIscd,
            gmplsTedFirstAnnounced,
            gmplsTedLastRefresh,
            gmplsTedMinBitRateSym,
            gmplsTedMaxBitRateSym,
            gmplsTedUnreservedSym }
    STATUS      current
    DESCRIPTION
        "The gmpls TED objects."
    ::= { lumGmplsGroups 6 }

gmplsEroGroup OBJECT-GROUP
    OBJECTS {
            gmplsEroIndex,
            gmplsEroName,
            gmplsEroType,
            gmplsEroAddress,
            gmplsEroInterfaceId,
            gmplsEroLabel }
    STATUS      current
    DESCRIPTION
        "The gmpls ERO objects."
    ::= { lumGmplsGroups 7 }

gmplsControlGroup OBJECT-GROUP
    OBJECTS {
        gmplsControlVerificationLevel,
        gmplsControlCCDelay,
        gmplsControlLspCleanupPolicy,
        gmplsControlOspfAreaId,
        gmplsControlRequestResvConfirm,
        gmplsControlPathRefreshTimer,
        gmplsControlResvRefreshTimer }
    STATUS      current
    DESCRIPTION
        "The control objects."
    ::= { lumGmplsGroups 8 }


-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumGmplsBasicComplV1 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the GMPLS MIB V1. (2.2 - 3.2)"
    MODULE
        MANDATORY-GROUPS {
            gmplsGeneralGroup,
            gmplsPhysLinkGroup,
            gmplsLspGroup,
            gmplsNotificationGroup,
            gmplsTeLinkGroup,
            gmplsTedGroup,
            gmplsEroGroup,
            gmplsControlGroup }
    ::= { lumGmplsCompl 1 }



END


