TIMETRA-IF-GROUP-HANDLER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-COMPLIANCE, NOTIFICATION-GROUP,
    OBJECT-GROUP
                                                         FROM SNMPv2-CONF
    MODULE-IDENTITY, NOTIFICATION-TYPE,
    OBJECT-TYPE, Unsigned32
                                                         FROM SNMPv2-SMI
    RowStatus, TEXTUAL-CONVENTION, TimeStamp
                                                         FROM SNMPv2-TC
    tmnxChassisIndex
                                                         FROM TIMETRA-CHASSIS-MIB
    timetraSRMIBModules, tmnxSRConfs,
    tmnxSRNotifyPrefix, tmnxSRObjs
                                                         FROM TIMETRA-GLOBAL-MIB
    tmnxPortPortID
                                                         FROM TIMETRA-PORT-MIB
    TmnxAdminState
                                                         FROM TIMETRA-TC-MIB
    ;

timetraIfGroupMIBModule          MODULE-IDENTITY
    LAST-UPDATED "200902280000Z"
    ORGANIZATION "Nokia"
    CONTACT-INFO
        "Nokia SROS Support
         Web: http://www.nokia.com"
    DESCRIPTION
        "This document is the SNMP MIB module to manage and provision the
         Interface Group Handler components of the Nokia SROS device.

         Copyright (c) 2009-2018 Nokia.  All rights reserved.
         Reproduction of this document is authorized on the condition that
         the foregoing copyright notice is included.

         This SNMP MIB module (Specification) embodies Nokia's
         proprietary intellectual property.  Nokia retains
         all title and ownership in the Specification, including any
         revisions.

         Nokia grants all interested parties a non-exclusive license to use and
         distribute an unmodified copy of this Specification in connection with
         management of Nokia products, and without fee, provided this copyright
         notice and license appear on all copies.

         This Specification is supplied 'as is', and Nokia makes no warranty,
         either express or implied, as to the use, operation, condition, or
         performance of the Specification."

    REVISION    "200902280000Z"
    DESCRIPTION
        "Rev 1.0                28 Feb 2009 00:00
         1.0 release of the TIMETRA-IF-GROUP-HANDLER-MIB."

    ::= { timetraSRMIBModules 69 }

TmnxIfGroupHandlerIndex          ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The TmnxIfGroupHandlerIndex specifies the unique Interface Group
         Handler Identifier for an Interface Group Handler.

         The value zero (0) is only used by objects that reference a
         tmnxIfGroupHandlerConfigEntry. The value zero (0) represents an
         invalid index that specifies the object is not associated with an
         Interface Group Handler."
    SYNTAX      Unsigned32

TmnxIfGroupProtocolIndex         ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The TmnxIfGroupProtocolIndex specifies the protocol used by an
         Interface Group Handler or member.

         The TmnxIfGroupProtocolIndex is defined as an enumeration of the
         following protocols:
                ipcp    (1)   -- IP   Control Protocol
                ipv6cp  (2)   -- IPV6 Control Protocol
                mplscp  (3)   -- MPLS Control Protocol
                osicp   (4)   -- OSI  Control Protocol"
    SYNTAX      INTEGER {
        ipcp   (1),
        ipv6cp (2),
        mplscp (3),
        osicp  (4)
    }

tmnxIfGroupObjs                  OBJECT IDENTIFIER ::= { tmnxSRObjs 69 }

tmnxIfGroupConfigTimeStamps      OBJECT IDENTIFIER ::= { tmnxIfGroupObjs 0 }

tmnxIfGrpHndlrCfgTblLastChanged  OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGrpHndlrCfgTblLastChanged indicates the time, since system
         startup, when a row in the tmnxIfGroupHandlerConfigTable last changed."
    ::= { tmnxIfGroupConfigTimeStamps 1 }

tmnxIfGrpHndlrMbrTblLastChanged  OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGrpHndlrMbrTblLastChanged indicates the time, since system
         startup, when a row in the tmnxIfGroupHandlerMemberTable last changed."
    ::= { tmnxIfGroupConfigTimeStamps 2 }

tmnxIfGroupConfigurations        OBJECT IDENTIFIER ::= { tmnxIfGroupObjs 1 }

tmnxIfGroupHandlerConfigTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxIfGroupHandlerConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerConfigTable consists of the Interface Group
         Handler configuration information."
    ::= { tmnxIfGroupConfigurations 1 }

tmnxIfGroupHandlerConfigEntry    OBJECT-TYPE
    SYNTAX      TmnxIfGroupHandlerConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerConfigEntry contains information pertaining to
         an individual Interface Group Handler.

         Rows in this table are created and destroyed using the
         tmnxIfGroupHandlerRowStatus object."
    INDEX       {
        tmnxChassisIndex,
        tmnxIfGroupHandlerIndex
    }
    ::= { tmnxIfGroupHandlerConfigTable 1 }

TmnxIfGroupHandlerConfigEntry    ::= SEQUENCE
{
    tmnxIfGroupHandlerIndex          TmnxIfGroupHandlerIndex,
    tmnxIfGroupHandlerRowStatus      RowStatus,
    tmnxIfGroupHandlerTimeStamp      TimeStamp,
    tmnxIfGroupHandlerThreshold      Unsigned32,
    tmnxIfGroupHandlerAdminStatus    TmnxAdminState
}

tmnxIfGroupHandlerIndex          OBJECT-TYPE
    SYNTAX      TmnxIfGroupHandlerIndex (1..100)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerIndex specifies the row index of the Interface
         Group Handler."
    ::= { tmnxIfGroupHandlerConfigEntry 1 }

tmnxIfGroupHandlerRowStatus      OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerRowStatus controls the creation and deletion of
         row entries in the tmnxIfGroupHandlerConfigTable."
    ::= { tmnxIfGroupHandlerConfigEntry 2 }

tmnxIfGroupHandlerTimeStamp      OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerTimeStamp indicates the time, since system
         startup, of the last change to this row."
    ::= { tmnxIfGroupHandlerConfigEntry 3 }

tmnxIfGroupHandlerThreshold      OBJECT-TYPE
    SYNTAX      Unsigned32 (1..8)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxIfGroupHandlerThreshold specifies the minimum number
         of Interface Group Handler Members that have to be active before the
         Interface Group Handler can be brought operationally up."
    DEFVAL      { 1 }
    ::= { tmnxIfGroupHandlerConfigEntry 4 }

tmnxIfGroupHandlerAdminStatus    OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxIfGroupHandlerAdminStatus specifies the
         administrative state of the Interface Group Handler."
    DEFVAL      { outOfService }
    ::= { tmnxIfGroupHandlerConfigEntry 5 }

tmnxIfGroupHandlerProtoTable     OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxIfGroupHandlerProtoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerProtoTable consists of the operational status of
         the protocols per Interface Group Handler."
    ::= { tmnxIfGroupConfigurations 2 }

tmnxIfGroupHandlerProtoEntry     OBJECT-TYPE
    SYNTAX      TmnxIfGroupHandlerProtoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerProtoEntry contains information pertaining to an
         individual Interface Group Handler's operational state.

         Rows in this table are created and destroyed by the system, and can
         not be created or deleted by SNMP SET operations.

         A row exists for every supported protocol for each Interface Group
         Handler entry."
    INDEX       {
        tmnxChassisIndex,
        tmnxIfGroupHandlerIndex,
        tmnxIfGroupHdlrProtoIndex
    }
    ::= { tmnxIfGroupHandlerProtoTable 1 }

TmnxIfGroupHandlerProtoEntry     ::= SEQUENCE
{
    tmnxIfGroupHdlrProtoIndex        TmnxIfGroupProtocolIndex,
    tmnxIfGroupHdlrProtoStatus       INTEGER,
    tmnxIfGroupHdlrProtoActLinks     Unsigned32,
    tmnxIfGroupHdlrProtoUpTime       Unsigned32
}

tmnxIfGroupHdlrProtoIndex        OBJECT-TYPE
    SYNTAX      TmnxIfGroupProtocolIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrProtoIndex specifies the protocol index for the
         entry."
    ::= { tmnxIfGroupHandlerProtoEntry 1 }

tmnxIfGroupHdlrProtoStatus       OBJECT-TYPE
    SYNTAX      INTEGER {
        none      (0),
        blocked   (1),
        inhibited (2),
        waiting   (3),
        pending   (4),
        up        (5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrProtoStatus indicates the operational state of the
         protocol for the Interface Group Handler.

         The valid states are:
               none      (0) -- Initializing state. All member within the group
                                are in state 'none (0)' for the given
                                tmnxIfGroupHdlrProtoIndex.
               blocked   (1) -- Administratively disabled.
               inhibited (2) -- Administratively enabled but
                                tmnxIfGroupHandlerThreshold is not met for
                                enough links that have
                                tmnxIfGroupHdlrMemberProtoStatus set to
                                'ready (2)'.
               waiting   (3) -- Administratively enabled but
                                tmnxIfGroupHandlerThreshold is not met for
                                enough links that have
                                tmnxIfGroupHdlrMemberProtoStatus set to
                                'operational (4)' or better.
               pending   (4) -- Administratively enabled but
                                tmnxIfGroupHandlerThreshold is not met for
                                enough links that have
                                tmnxIfGroupHdlrMemberProtoStatus set to
                                'up (5)'.
               up        (5) -- Administratively enabled but
                                tmnxIfGroupHandlerThreshold is met with enough
                                links that have tmnxIfGroupHdlrMemberProtoStatus
                                set to 'up (5)'."
    ::= { tmnxIfGroupHandlerProtoEntry 2 }

tmnxIfGroupHdlrProtoActLinks     OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrProtoActLinks indicates the number of Interface
         Group Handler members with tmnxIfGroupHdlrProtoStatus set to 'up' (5)."
    ::= { tmnxIfGroupHandlerProtoEntry 3 }

tmnxIfGroupHdlrProtoUpTime       OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrProtoUpTime object indicates the time since the
         Interface Group Handler entered the 'up (5)' state indicated by the
         tmnxIfGroupHdlrProtoStatus object"
    ::= { tmnxIfGroupHandlerProtoEntry 4 }

tmnxIfGroupHandlerMemberTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxIfGroupHandlerMemberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerMemberTable consists of the members associated
         with the corresponding tmnxIfGroupHandlerConfigEntry."
    ::= { tmnxIfGroupConfigurations 3 }

tmnxIfGroupHandlerMemberEntry    OBJECT-TYPE
    SYNTAX      TmnxIfGroupHandlerMemberEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerMemberEntry contains information pertaining to
         an individual member associated with a tmnxIfGroupHandlerConfigEntry.

         Rows in this table are created and destroyed using the
         tmnxIfGrpHandlerMemberRowStatus object."
    INDEX       {
        tmnxChassisIndex,
        tmnxIfGroupHandlerIndex,
        tmnxPortPortID
    }
    ::= { tmnxIfGroupHandlerMemberTable 1 }

TmnxIfGroupHandlerMemberEntry    ::= SEQUENCE
{ tmnxIfGrpHandlerMemberRowStatus  RowStatus }

tmnxIfGrpHandlerMemberRowStatus  OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The tmnxIfGrpHandlerMemberRowStatus controls the creation and deletion
         of row entries in the tmnxIfGroupHandlerMemberTable."
    ::= { tmnxIfGroupHandlerMemberEntry 1 }

tmnxIfGroupHdlrMemberProtoTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxIfGroupHdlrMemberProtoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMemberProtoTable consists of the information
         pertaining to the protocols per Interface Group Handler member."
    ::= { tmnxIfGroupConfigurations 4 }

tmnxIfGroupHdlrMemberProtoEntry  OBJECT-TYPE
    SYNTAX      TmnxIfGroupHdlrMemberProtoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMemberProtoEntry contains information pertaining to
         an individual Interface Group Handler's protocol information.

         Rows in this table are created and destroyed by the system, and can
         not be created or deleted by SNMP SET operations.

         A row exists for every supported protocol for each Interface Group
         Handler member entry."
    INDEX       {
        tmnxChassisIndex,
        tmnxIfGroupHandlerIndex,
        tmnxPortPortID,
        tmnxIfGroupHdlrMemberProtoIndex
    }
    ::= { tmnxIfGroupHdlrMemberProtoTable 1 }

TmnxIfGroupHdlrMemberProtoEntry  ::= SEQUENCE
{
    tmnxIfGroupHdlrMemberProtoIndex  TmnxIfGroupProtocolIndex,
    tmnxIfGroupHdlrMemberProtoStatus INTEGER,
    tmnxIfGroupHdlrMemberProtoUpTime Unsigned32
}

tmnxIfGroupHdlrMemberProtoIndex  OBJECT-TYPE
    SYNTAX      TmnxIfGroupProtocolIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMemberProtoIndex specifies the protocol index for
         the entry."
    ::= { tmnxIfGroupHdlrMemberProtoEntry 1 }

tmnxIfGroupHdlrMemberProtoStatus OBJECT-TYPE
    SYNTAX      INTEGER {
        none        (0),
        down        (1),
        ready       (2),
        running     (3),
        operational (4),
        up          (5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMemberProtoStatus indicates the operational state
         of the protocol for the Interface Group Handler member.

         Once a member has left the 'none (0)' state for a specific
         tmnxIfGroupHandlerIndex it will never return to the 'none (0)' state
         unless the member is removed from the group or an activity switch
         occurs, in which case, no state updates are required for the protocol
         and therefore the protocol is considered 'none (0)' once more.

         The valid states are:
               none        (0) -- Initializing state.
               down        (1) -- Not in a functional state. The object
                                  tmnxPortState is set to for this member is set
                                  to 'linkDown' or lower or this protocol is not
                                  configured properly.
               ready       (2) -- Waiting for tmnxIfGroupHdlrMemberProtoStatus
                                  to be set to waiting or better to run this
                                  protocol.
               running     (3) -- Protocol is running, but not operational.
               operational (4) -- Link is operational but we are waiting for
                                  tmnxIfGroupHdlrProtoStatus to be set to
                                  'pending (4)' or better to leave this state.
               up          (5) -- Protocol is declared up."
    ::= { tmnxIfGroupHdlrMemberProtoEntry 2 }

tmnxIfGroupHdlrMemberProtoUpTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMemberProtoUpTime object indicates the time since
         the member is 'up' (5)' as indicated by the tmnxIfGroupHdlrProtoStatus
         object."
    ::= { tmnxIfGroupHdlrMemberProtoEntry 3 }

tmnxIfGroupStatistics            OBJECT IDENTIFIER ::= { tmnxIfGroupObjs 2 }

tmnxIfGroupConformance           OBJECT IDENTIFIER ::= { tmnxSRConfs 69 }

tmnxIfGroupCompliances           OBJECT IDENTIFIER ::= { tmnxIfGroupConformance 1 }

tmnxIfGroupHandlerCompliance     MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for revision 1.0 of
         TIMETRA-IF-GROUP-HANDLER-MIB."
    MODULE
        MANDATORY-GROUPS {
            tmnxIfGroupHandlerTimeStampGroup,
            tmnxIfGroupHandlerConfigGroup,
            tmnxIfGroupHandlerMemberGroup,
            tmnxIfGroupHandlerProtocolGroup,
            tmnxIfGroupHdlrNotificationGroup
        }
    ::= { tmnxIfGroupCompliances 1 }

tmnxIfGroupGroups                OBJECT IDENTIFIER ::= { tmnxIfGroupConformance 2 }

tmnxIfGroupHandlerTimeStampGroup OBJECT-GROUP
    OBJECTS     {
        tmnxIfGrpHndlrCfgTblLastChanged,
        tmnxIfGroupHandlerTimeStamp,
        tmnxIfGrpHndlrMbrTblLastChanged
    }
    STATUS      current
    DESCRIPTION
        "The group of objects that track configuration changes for the
         maintenance of Interface Group Handler for the 7x50."
    ::= { tmnxIfGroupGroups 1 }

tmnxIfGroupHandlerConfigGroup    OBJECT-GROUP
    OBJECTS     {
        tmnxIfGroupHandlerRowStatus,
        tmnxIfGroupHandlerThreshold,
        tmnxIfGroupHandlerAdminStatus
    }
    STATUS      current
    DESCRIPTION
        "The group of objects for management of Interface Group Handler
         configurations for the 7x50."
    ::= { tmnxIfGroupGroups 2 }

tmnxIfGroupHandlerMemberGroup    OBJECT-GROUP
    OBJECTS     {
        tmnxIfGrpHandlerMemberRowStatus
    }
    STATUS      current
    DESCRIPTION
        "The group of objects for management of Interface Group Handler Member
         configurations for the 7x50."
    ::= { tmnxIfGroupGroups 3 }

tmnxIfGroupHandlerProtocolGroup  OBJECT-GROUP
    OBJECTS     {
        tmnxIfGroupHdlrMemberProtoStatus,
        tmnxIfGroupHdlrMemberProtoUpTime,
        tmnxIfGroupHdlrProtoStatus,
        tmnxIfGroupHdlrProtoActLinks,
        tmnxIfGroupHdlrProtoUpTime
    }
    STATUS      current
    DESCRIPTION
        "The group of objects for management of Interface Group Handler
         protocol configurations for the 7x50."
    ::= { tmnxIfGroupGroups 4 }

tmnxIfGroupHdlrNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxIfGroupHandlerProtoOprChange,
        tmnxIfGroupHdlrMbrProtoOprChange
    }
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrNotificationGroup consists of the notifications for
         generating events for Interface Group Handlers for the 7x50."
    ::= { tmnxIfGroupGroups 5 }

tmnxIfGroupNotifyPrefix          OBJECT IDENTIFIER ::= { tmnxSRNotifyPrefix 69 }

tmnxIfGroupNotifications         OBJECT IDENTIFIER ::= { tmnxIfGroupNotifyPrefix 0 }

tmnxIfGroupHandlerProtoOprChange NOTIFICATION-TYPE
    OBJECTS     {
        tmnxIfGroupHandlerThreshold,
        tmnxIfGroupHandlerAdminStatus,
        tmnxIfGroupHdlrProtoStatus,
        tmnxIfGroupHdlrProtoActLinks
    }
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHandlerProtoOprChange notification indicates that the
         specified tmnxIfGroupHdlrProtoStatus has entered or left the 'up (5)'
         state."
    ::= { tmnxIfGroupNotifications 1 }

tmnxIfGroupHdlrMbrProtoOprChange NOTIFICATION-TYPE
    OBJECTS     {
        tmnxIfGroupHdlrMemberProtoStatus
    }
    STATUS      current
    DESCRIPTION
        "The tmnxIfGroupHdlrMbrProtoOprChange notification indicates that the
         specified tmnxIfGroupHdlrMemberProtoStatus has entered or left the 'up
         (5)' state."
    ::= { tmnxIfGroupNotifications 2 }

END
