TN-MC-REDUNDANCY-MIB DEFINITIONS ::= BEGIN

-- (c) Copyright 2019 Nokia Networks.  All rights reserved.
-- This software is the confidential and proprietary property of
-- Nokia and may only be used in accordance with the terms of the
-- license agreement provided with this software.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32, Counter32        FROM SNMPv2-SMI

    TEXTUAL-CONVENTION, RowStatus,
    TimeStamp, TruthValue, DisplayString    FROM SNMPv2-TC

    TNamedItemOrEmpty, TmnxAdminState,
    TmnxVRtrID,TmnxOperState,
    TmnxEncapVal, TItemDescription,
    TmnxPortID, TNamedItem,
    TmnxEnabledDisabled                     FROM TN-TC-MIB

    tnSRMIBModules, tnSRObjs,
    tnSRNotifyPrefix                        FROM TROPIC-GLOBAL-REG

    InetAddressType, InetAddress,
    InetAddressPrefixLength                 FROM INET-ADDRESS-MIB

    LAGInterfaceNumber                      FROM TN-LAG-MIB

    tnSvcId                                 FROM TN-SERV-MIB
    tnSapPortId, tnSapEncapValue            FROM TN-SAP-MIB

    tnSysSwitchId                           FROM TROPIC-SYSTEM-MIB
    ;

tnMcRedundancyMIBModule MODULE-IDENTITY
    LAST-UPDATED    "201211280000Z"
    ORGANIZATION    "Nokia"
    CONTACT-INFO
        "Nokia 7x50 Support
         Web: http://www.nokia.com/comps/pages/carrier_support.jhtml"
    DESCRIPTION
        "This  document  is the SNMP MIB module to manage and provision
        the various services of the Nokia 7x50 SR system.

        Copyright  2003-2011 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 History
--
        REVISION        "201211280000Z"
        DESCRIPTION     "Rev 1.0                28 Nov 2012 00:00
                         1.0 release of the TIMETRA-MC-REDUNDANCY-MIB."
        ::= { tnSRMIBModules 40 }

-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
--  Nokia SROS series redundancy objects
--

tnMcRedundancy                    OBJECT IDENTIFIER ::= { tnSRObjs 40 }
    tnMcRedundancyObjs            OBJECT IDENTIFIER ::= { tnMcRedundancy 1 }
    tnMcRedundancyStatsObjs       OBJECT IDENTIFIER ::= { tnMcRedundancy 2 }
--    tnMcRedundancyNotifyObjs      OBJECT IDENTIFIER ::= { tnMcRedundancy 3 }

-- tnMcRedundancyConformance         OBJECT IDENTIFIER ::= { tnSRConfs 40 }
--    tnMcRedundancyCompliances     OBJECT IDENTIFIER ::= { tnMcRedundancyConformance 1 }
--    tnMcRedundancyGroups          OBJECT IDENTIFIER ::= { tnMcRedundancyConformance 2 }
--    tnMcRedundancyNotifGroups     OBJECT IDENTIFIER ::= { tnMcRedundancyConformance 3 }

-- tnMcRedundancyNotifyPrefix        OBJECT IDENTIFIER ::= { tnSRNotifyPrefix 40 }
--    tnMcRedundancyNotifications   OBJECT IDENTIFIER ::= { tnMcRedundancyNotifyPrefix 0 }


-- --------------------------------------------------------------------
--      TIMETRA-MC-REDUNDANCY-MIB Textual Conventions
-- --------------------------------------------------------------------

TmnxMcsClientApp ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Indicates an Multi-Chassis Synchronization (MCS) client
         application."
    SYNTAX      INTEGER {
                    igmp(0),
                    igmpSnooping(1),
                    subMgmtIpoe(2),
                    srrp(3),
                    mcRing(4),
                    mldSnooping(5),
                    dhcpServer(6),
                    subHostTrk(7),
                    subMgmtPppoe(8)
                }

-- TmnxMcRingOperState ::= TEXTUAL-CONVENTION
--     STATUS  current
--     DESCRIPTION
--         "The TmnxMcRingOperState data type is an enumerated integer
--         that describes the values used to identify the operational state of
--         a multi-chassis ring.
--                 unknown
--                 shutdown
--                 configErr
--                 noPeer          : the peer has no corresponding ring configured;
--                 connected       : the inband control connection with the peer
--                                   is operational;
--                 broken          : the inband control connection with the peer
--                                   has timed out;
--                 localBroken     : the inband control connection with the peer
--                                   is known to be broken because of a local
--                                   failure or local administrative action;
--                 conflict        : the inband control connection with the peer
--                                   has timed out but the physical connection is
--                                   probably still OK; the failure of the inband
--                                   signaling connection is caused by some
--                                   misconfiguration.
--                                   E.g. a conflict between the configuration of
--                                   this system and its peer, or a misconfiguration
--                                   on one of the ring access node systems.
--                 testingRing     : the inband control connection with the peer
--                                   is being set up. Waiting for result.
--                 halfBroken      : the inband control connection indicates that
--                                   the ring is broken in one direction (towards
--                                   the peer);
--                 waitingForPeer  : verifying if this ring is configured on the
--                                   peer."
--     SYNTAX  INTEGER {
--                 unknown         (1),
--                 shutdown        (2),
--                 configErr       (3),
--                 noPeer          (4),
--                 connected       (5),
--                 broken          (6),
--                 localBroken     (7),
--                 conflict        (8),
--                 testingRing     (9),
--                 halfBroken      (10),
--                 waitingForPeer  (11)
--                 }

-- TmnxMcRingInbCtrlOperState ::= TEXTUAL-CONVENTION
--     STATUS  current
--     DESCRIPTION
--         "The TmnxMcRingInbCtrlOperState data type is an enumerated integer
--         that describes the values used to identify the operational state of
--         a multi-chassis ring's inband control connection.
--                 unknown
--                 connected       : the inband control connection with the peer
--                                   is operational;
--                 broken          : the inband control connection with the peer
--                                   has timed out;
--                 testing         : the inband control connection with the peer
--                                   is being set up. Waiting for result.
--                 peerDetectsDown : the peer detects that the inband control
--                                   connection is down;
--                 notConfigured   : the inband control connection with the peer
--                                   is not configured."
--     SYNTAX  INTEGER {
--                 unknown         (1),
--                 connected       (2),
--                 broken          (3),
--                 testing         (4),
--                 peerDetectsDown (5),
--                 notConfigured   (6)
--                 }

-- TmnxMcRingNodeOperState ::= TEXTUAL-CONVENTION
--     STATUS  current
--     DESCRIPTION
--         "The TmnxMcRingNodeOperState data type is an enumerated integer
--         that describes the values used to identify the operational state of
--         a multi-chassis ring access node."
--     SYNTAX  INTEGER {
--                 unknown        (1),
--                 notProvisioned (2),
--                 configErr      (3),
--                 notTested      (4),
--                 testing        (5),
--                 connected      (6),
--                 disconnected   (7)
--                 }

-- TmnxSrrpAssoBfdIntfSessOperState ::= TEXTUAL-CONVENTION
--     STATUS  current
--     DESCRIPTION
--         "The TmnxSrrpAssoBfdIntfSessOperState data type is an enumerated integer
--          that describes the values used to identify the operational state of
--          a BFD session the SRRP instance is relying upon for its
--          fast triggering mechanism."
--     SYNTAX  INTEGER {
--         unknown       (1),
--         connected     (2), ## the BFD connection with the peer is operational
--         broken        (3), ## the BFD connection with the peer has timed out
--         peerDetectsDown(4),## the peer detects that the BFD connection is down
--         notConfigured  (5),## the BFD connection with the peer is not configured
--         noResources    (6) ## resource not available
--     }

-- TmnxMcRingType ::= TEXTUAL-CONVENTION
--     STATUS  current
--     DESCRIPTION
--         "The TmnxMcRingType data type is an enumerated integer that describes
--          the type of the multi-chassis ring."
--     SYNTAX  INTEGER {
--         layer2       (1),
--         layer3       (2)
--     }

-- ------------------------------------------------
-- Multi-chassis peer table
-- ------------------------------------------------
tnMcPeerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcPeerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcPeerTable has an entry for each multi-chassis peer
         configured on this system."
    ::= { tnMcRedundancyObjs 1 }

tnMcPeerEntry    OBJECT-TYPE
    SYNTAX      TmnxMcPeerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a particular multi-chassis peer. Entries
         are create/deleted by the user."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr }
    ::= { tnMcPeerTable 1}

TmnxMcPeerEntry ::= SEQUENCE
   {
       tnMcPeerIpType         InetAddressType,
       tnMcPeerIpAddr         InetAddress,
       tnMcPeerRowStatus      RowStatus,
       tnMcPeerDescription    TItemDescription,
       tnMcPeerAuthKey        OCTET STRING,
       tnMcPeerSrcIpType      InetAddressType,
       tnMcPeerSrcIpAddr      InetAddress,
       tnMcPeerAdminState     TmnxAdminState,
       tnMcPeerSrcIpOperType  InetAddressType,
       tnMcPeerSrcIpOperAddr  InetAddress,
       tnMcPeerRingsOperState TmnxOperState,
       tnMcPeerName           TNamedItemOrEmpty
   }

tnMcPeerIpType        OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerIpType indicates the address type
         of tnMcPeerIpAddr."
    ::= { tnMcPeerEntry 1 }

tnMcPeerIpAddr        OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerIpAddr indicates the address of the
         multi-chassis peer. Its type is specified by tnMcPeerIpType.

         It must be a valid unicast address."
    ::= { tnMcPeerEntry 2 }

tnMcPeerRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerRowStatus is used for creation/deletion of
         multi-chassis peers."
    ::= { tnMcPeerEntry 3 }

tnMcPeerDescription        OBJECT-TYPE
    SYNTAX      TItemDescription
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerDescription specifies the textual description
         of this multi-chassis peer."
    DEFVAL      { "" }
    ::= { tnMcPeerEntry 4 }

tnMcPeerAuthKey        OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..20))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerAuthKey specifies the authentication key used
         between this node and the multi-chassis peer. The authentication
         key can be any combination of letters or numbers. This object will
         always return an empty string on a read."
    DEFVAL      { ''H }
    ::= { tnMcPeerEntry 5 }

tnMcPeerSrcIpType        OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSrcIpType specifies the address type of
         tnMcPeerSrcIpAddr."
    DEFVAL      { unknown }
    ::= { tnMcPeerEntry 6 }

tnMcPeerSrcIpAddr        OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSrcIpAddr specifies the source address used to
         communicate with the multi-chassis peer. Its type is specified by
         tnMcPeerSrcIpType.

         It must be a valid unicast address."
    DEFVAL      { ''H }
    ::= { tnMcPeerEntry 7 }

tnMcPeerAdminState        OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerAdminState specifies the administrative state
         of this multi-chassis peer."
    DEFVAL      { outOfService }
    ::= { tnMcPeerEntry 8 }

tnMcPeerSrcIpOperType        OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSrcIpOperType indicates the operational
         source address type of tnMcPeerSrcIpOperAddr, the multi-chassis
         peer source IP address."
    ::= { tnMcPeerEntry 9 }

tnMcPeerSrcIpOperAddr        OBJECT-TYPE
    SYNTAX      InetAddress (SIZE (0|4))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSrcIpOperAddr indicates the operational
         source address in use to communicate with the multi-chassis peer.
         Its type is specified by tnMcPeerSrcIpOperType."
    ::= { tnMcPeerEntry 10 }

tnMcPeerRingsOperState OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerRingsOperState indicates the operational state
         of this multi-chassis peer with respect to multi-chassis ring
         operation.

         If there are no entries in the tnMcRingTable associated with this
         peer, the value of tnMcPeerRingsOperState is 'unknown'."
    ::= { tnMcPeerEntry 11 }

tnMcPeerName        OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerName specifies the name of this multi-chassis
        peer."
    DEFVAL      { "" }
    ::= { tnMcPeerEntry 12 }


-- ------------------------------------------------
-- Multi-chassis peer sync table
-- ------------------------------------------------

tnMcPeerSyncTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcPeerSyncEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcPeerSyncTable has an entry for each multi-chassis peer
         synchronization protocol."
    ::= { tnMcRedundancyObjs 2 }

tnMcPeerSyncEntry    OBJECT-TYPE
    SYNTAX      TmnxMcPeerSyncEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a particular multi-chassis peer
         synchronization protocol. Entries are create/deleted by the
         user."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr }
    ::= { tnMcPeerSyncTable 1}

TmnxMcPeerSyncEntry ::= SEQUENCE
   {
        tnMcPeerSyncRowStatus         RowStatus,
        tnMcPeerSyncIgmp              TruthValue,
        tnMcPeerSyncIgmpSnooping      TruthValue,
        tnMcPeerSyncSubMgmt           TruthValue,
        tnMcPeerSyncSrrp              TruthValue,
        tnMcPeerSyncAdminState        TmnxAdminState,
        tnMcPeerSyncOperState         TmnxOperState,
        tnMcPeerSyncOperFlags         BITS,
        tnMcPeerSyncStatus            INTEGER,
        tnMcPeerSyncLastSyncTime      TimeStamp,
        tnMcPeerSyncNumEntries        Counter32,
        tnMcPeerSyncLclDeletedEntries Counter32,
        tnMcPeerSyncAlarmedEntries    Counter32,
        tnMcPeerSyncRemNumEntries     Counter32,
        tnMcPeerSyncRemLclDelEntries  Counter32,
        tnMcPeerSyncRemAlarmedEntries Counter32
--        tnMcPeerSyncMcRing            TruthValue,
--        tnMcPeerSyncMldSnooping       TruthValue,
--        tnMcPeerSyncDhcpServer        TruthValue,
--        tnMcPeerSyncSubHostTrk        TruthValue,
--        tnMcPeerSyncSubMgmtPppoe      TruthValue
   }

tnMcPeerSyncRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncRowStatus is used for creation and deletion
         of a synchronization protocol with a multi-chassis peer."
    ::= { tnMcPeerSyncEntry 1 }

tnMcPeerSyncIgmp        OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncIgmp specifies whether IGMP protocol
         information should be synchronized with the multi-chassis peer."
    DEFVAL      { false }
    ::= { tnMcPeerSyncEntry 2 }

tnMcPeerSyncIgmpSnooping        OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncIgmpSnooping specifies whether
         IGMP-snooping information should be synchronized with the
         multi-chassis peer."
    DEFVAL      { false }
    ::= { tnMcPeerSyncEntry 3 }

tnMcPeerSyncSubMgmt        OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncSubMgmt specifies whether subscriber
         management IPoE information should be synchronized with the
         multi-chassis peer."
    DEFVAL      { false }
    ::= { tnMcPeerSyncEntry 4 }

tnMcPeerSyncSrrp              OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncSrrp specifies whether SRRP information
         should be synchronized with the multi-chassis peer."
    DEFVAL      { false }
    ::= { tnMcPeerSyncEntry 5 }

tnMcPeerSyncAdminState        OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncAdminState specifies the administrative
         status of the synchronization protocol with the multi-chassis
         peer."
    DEFVAL      { outOfService }
    ::= { tnMcPeerSyncEntry 6 }

tnMcPeerSyncOperState         OBJECT-TYPE
    SYNTAX      TmnxOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncOperState indicates the operational
         status of the synchronization protocol with the multi-chassis
         peer."
    ::= { tnMcPeerSyncEntry 7 }

tnMcPeerSyncOperFlags         OBJECT-TYPE
    SYNTAX      BITS {
                    syncAdminDown(0),
                    peerAdminDown(1),
                    connectionDown(2),
                    internalError(3),
                    mcsVersionMismatch(4),
                    platformMismatch(5),
                    appVersionMismatch(6),
                    appSupportMismatch(7)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncOperFlags indicates the reason that
         the synchronization protocol with the multi-chassis peer is down.

         syncAdminDown(0)       Synchronization is administratively down.
                                No recovery needed.

         peerAdminDown(1)       The peering is administratively down.
                                No recovery needed.

         connectionDown(2)      There is a problem with the connection to the
                                multi-chassis peer. The connection will be
                                automatically repaired. No recovery needed

         internalError(3)       There has been an irrecoverable internal error.
                                The synchronization protocol cannot come up
                                again without user intervention. The user must
                                set the tnMcPeerSyncAdminState to
                                'outOfService', then 'inService'.

         mcsVersionMismatch(4)  There is a mismatch between the versions of the
                                multi-chassis sync protocol running on each
                                peer.

         platformMismatch(5)    There is a mismatch between the platforms of
                                each peer the multi-chassis sync protocol is
                                running on.

         appVersionMismatch(6)  There is a mismatch between the versions of
                                applications attempting to use the
                                multi-chassis sync protocol on the two peers.

         appSupportMismatch(7)  There is a mismatch between the applications
                                supported by the multi-chassis sync protocol on
                                each peer."
    ::= { tnMcPeerSyncEntry 8 }

tnMcPeerSyncStatus        OBJECT-TYPE
    SYNTAX      INTEGER {
                    inSync(1),
                    syncInProgress(2),
                    outOfSync(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncStatus indicates the status of the
         synchronization process."
    ::= { tnMcPeerSyncEntry 9 }

tnMcPeerSyncLastSyncTime      OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncLastSyncTime indicates the sysUpTime at
         the time the last synchronization with the peer was successful."
    ::= { tnMcPeerSyncEntry 10 }

tnMcPeerSyncNumEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncNumEntries indicates the total number of
         entries in the MCS database per multi-chassis peer."
    ::= { tnMcPeerSyncEntry 11 }

tnMcPeerSyncLclDeletedEntries OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncLclDeletedEntries indicates the number
         of locally deleted entries in the MCS database per multi-chassis
         peer. Locally deleted entries are entries that are not being used
         by the local MCS client application."
    ::= { tnMcPeerSyncEntry 12 }

tnMcPeerSyncAlarmedEntries    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncAlarmedEntries indicates the number of
         alarmed entries in the MCS database per multi-chassis peer. Entries
         with an alarm are entries that are not being used by the local
         client application due to resource constraints."
    ::= { tnMcPeerSyncEntry 13 }

tnMcPeerSyncRemNumEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncRemNumEntries indicates the total number of
         entries in the MCS database of the multi-chassis peer."
    ::= { tnMcPeerSyncEntry 14 }

tnMcPeerSyncRemLclDelEntries OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncRemLclDelEntries indicates the number
         of locally deleted entries in the MCS database of the multi-chassis
         peer. Locally deleted entries are entries that are not being used
         by the remote MCS client application."
    ::= { tnMcPeerSyncEntry 15 }

tnMcPeerSyncRemAlarmedEntries    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncRemAlarmedEntries indicates the number of
         alarmed entries in the MCS database of the multi-chassis peer. Entries
         with an alarm are entries that are not being used by the remote
         client application due to resource constraints."
    ::= { tnMcPeerSyncEntry 16 }

-- tnMcPeerSyncMcRing OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-create
--    STATUS      current
--    DESCRIPTION
--        "The value of tmnxMcPeerSyncMcRing specifies whether mc-ring
--         information should be synchronized with the multi-chassis peer.
--
--         Setting this object to 'true(1)' enables the synchronization."
--    DEFVAL { false }
--    ::= { tmnxMcPeerSyncEntry 17 }
--
-- tnMcPeerSyncMldSnooping OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-create
--    STATUS      current
--    DESCRIPTION
--        "The value of tmnxMcPeerSyncMldSnooping specifies whether
--         MLD-snooping information should be synchronized with the
--         multi-chassis peer.
--
--         Setting this object to 'true(1)' enables the synchronization."
--    DEFVAL { false }
--    ::= { tmnxMcPeerSyncEntry 18 }
--
-- tnMcPeerSyncDhcpServer OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-create
--    STATUS      current
--    DESCRIPTION
--        "The value of tmnxMcPeerSyncDhcpServer specifies whether DHCP Server
--         information should be synchronized with the multi-chassis peer.
--
--         Setting this object to 'true(1)' enables the synchronization."
--    DEFVAL { false }
--    ::= { tmnxMcPeerSyncEntry 19 }
--
-- tnMcPeerSyncSubHostTrk OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-create
--    STATUS      current
--    DESCRIPTION
--        "The value of tmnxMcPeerSyncSubHostTrk specifies whether subscriber
--         host tracking information should be synchronized with the
--         multi-chassis peer.
--
--         Setting this object to 'true(1)' enables the synchronization."
--    DEFVAL { false }
--    ::= { tmnxMcPeerSyncEntry 20 }
--
-- tnMcPeerSyncSubMgmtPppoe OBJECT-TYPE
--    SYNTAX      TruthValue
--    MAX-ACCESS  read-create
--    STATUS      current
--    DESCRIPTION
--        "The value of tmnxMcPeerSyncSubMgmtPppoe specifies whether subscriber
--         management PPPoE information should be synchronized with the
--         multi-chassis peer."
--    DEFVAL      { false }
--    ::= { tmnxMcPeerSyncEntry 21 }
--
-- ------------------------------------------------
-- Multi-chassis peer sync port table
-- ------------------------------------------------

tnMcPeerSyncPortTable      OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcPeerSyncPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcPeerSyncPortTable has an entry for each port that is being
         synchronized with a multi-chassis peer."
    ::= { tnMcRedundancyObjs 3 }

tnMcPeerSyncPortEntry    OBJECT-TYPE
    SYNTAX      TmnxMcPeerSyncPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a port to be synchronized. Entries are
         created/deleted by the user."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr, tnMcPeerSyncPortId }
    ::= { tnMcPeerSyncPortTable 1}

TmnxMcPeerSyncPortEntry ::= SEQUENCE
   {
        tnMcPeerSyncPortId        TmnxPortID,
        tnMcPeerSyncPortRowStatus RowStatus,
        tnMcPeerSyncPortSyncTag   TNamedItemOrEmpty
   }

tnMcPeerSyncPortId        OBJECT-TYPE
    SYNTAX      TmnxPortID
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortId indicates the port to be
         synchronized with the multi-chassis peer."
    ::= { tnMcPeerSyncPortEntry 1 }

tnMcPeerSyncPortRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortRowStatus is used for creation and
         deletion of ports to be synchronized with the multi-chassis peer."
    ::= { tnMcPeerSyncPortEntry 2 }

tnMcPeerSyncPortSyncTag        OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortSyncTag specifies a synchronization tag
         to be used while synchronizing this port with the multi-chassis peer."
    DEFVAL      { ''H }
    ::= { tnMcPeerSyncPortEntry 3 }


-- ------------------------------------------------
-- Multi-chassis peer sync port encap range table
-- ------------------------------------------------

tnMcPeerSyncPortEncapRangeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcPeerSyncPortEncapRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcPeerSyncPortEncapRangeTable has an entry for each port
         encapsulation value range to be synchronized with a multi-chassis
         peer."
    ::= { tnMcRedundancyObjs 4 }

tnMcPeerSyncPortEncapRangeEntry    OBJECT-TYPE
    SYNTAX      TmnxMcPeerSyncPortEncapRangeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a range of encapsulation values on
         a port to be synchronized with a multi-chassis peer. Entries are
         created/deleted by the user."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr, tnMcPeerSyncPortId,
            tnMcPeerSyncPortEncapType, tnMcPeerSyncPortEncapMin,
            tnMcPeerSyncPortEncapMax}
    ::= { tnMcPeerSyncPortEncapRangeTable 1}

TmnxMcPeerSyncPortEncapRangeEntry ::= SEQUENCE
   {
        tnMcPeerSyncPortEncapType         INTEGER,
        tnMcPeerSyncPortEncapMin          TmnxEncapVal,
        tnMcPeerSyncPortEncapMax          TmnxEncapVal,
        tnMcPeerSyncPortEncapRowStatus    RowStatus,
        tnMcPeerSyncPortEncapSyncTag      TNamedItem
   }

tnMcPeerSyncPortEncapType        OBJECT-TYPE
    SYNTAX      INTEGER {
                    dot1q(1),
                    qinq(2)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortEncapType indicates the encapsulation
         type used to interpret tnMcPeerSyncPortEncapMin and
         tnMcPeerSyncPortEncapMax."
    ::= { tnMcPeerSyncPortEncapRangeEntry 1 }

tnMcPeerSyncPortEncapMin        OBJECT-TYPE
    SYNTAX      TmnxEncapVal
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortEncapMin indicates the minimum
         encapsulation value on the port indicated by tnMcPeerSyncPortId
         that will be synchronized with the multi-chassis peer."
    ::= { tnMcPeerSyncPortEncapRangeEntry 2 }

tnMcPeerSyncPortEncapMax        OBJECT-TYPE
    SYNTAX      TmnxEncapVal
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortEncapMax indicates the maximum
         encapsulation value on the port indicated by tnMcPeerSyncPortId
         that will be synchronized with the multi-chassis peer."
    ::= { tnMcPeerSyncPortEncapRangeEntry 3 }

tnMcPeerSyncPortEncapRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortEncapRowStatus is used for creation and
         deletion of encapsulation value ranges over a specific port to be
         synchronized with the multi-chassis peer."
    ::= { tnMcPeerSyncPortEncapRangeEntry 4 }

tnMcPeerSyncPortEncapSyncTag        OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPortEncapSyncTag specifies a
         synchronization tag to be used while synchronizing this encapsulation
         value range with the multi-chassis peer. This object MUST be specified
         at row creation time."
    ::= { tnMcPeerSyncPortEncapRangeEntry 5 }


-- ------------------------------------------------
-- tMcPeerLagConfigLagTable table
-- ------------------------------------------------

tnMcLagConfigTableLastChanged OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigTableLastChanged indicates the sysUpTime
         at the time of the last modification of an entry in the
         tnMcLagConfigTable.

         If no changes were made to the table since the last re-initialization
         of the local network management subsystem, then this object
         contains a zero value."
    ::= { tnMcRedundancyObjs 5 }

tnMcLagConfigTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxMcLagConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnMcLagConfigTable has an entry for each multi-chassis LAG
         configuration for the indicated peer."
    ::= { tnMcRedundancyObjs 6 }

tnMcLagConfigEntry OBJECT-TYPE
    SYNTAX     TmnxMcLagConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents configuration data for a multi-chassis
         LAG configuration with a given peer.

         Rows are created or removed automatically by the system, each time
         a row is created or deleted in the tnMcPeerTable."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr }
    ::= { tnMcLagConfigTable 1 }

TmnxMcLagConfigEntry ::= SEQUENCE
   {
       tnMcLagConfigPeerLastChanged   TimeStamp,
       tnMcLagConfigPeerAdminstate    TmnxAdminState,
       tnMcLagConfigKeepALiveIvl      Unsigned32,
       tnMcLagConfigHoldOnNgbrFailure Unsigned32,
       tnMcLagConfigOperState         INTEGER,
       tnMcLagConfigPeerLastStateChge TimeStamp
   }

tnMcLagConfigPeerLastChanged OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigPeerLastChanged indicates the sysUpTime
         at the time of the last modification of this entry.

         If no changes were made to the entry since the last re-initialization
         of the local network management subsystem, then this object contains
         a zero value."
    ::= { tnMcLagConfigEntry 1 }

tnMcLagConfigPeerAdminstate OBJECT-TYPE
    SYNTAX     TmnxAdminState
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigPeerAdminstate specifies the
         administrative state of the multi-chassis lag with the indicated
         peer."
    DEFVAL { outOfService }
    ::= { tnMcLagConfigEntry 2 }

tnMcLagConfigKeepALiveIvl OBJECT-TYPE
    SYNTAX     Unsigned32 (5..500)
    UNITS      "deci-seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigKeepALiveIvl specifies the mc-lag
         keepalive timer value in units of 0.1 sec. This defines the interval
         at which keep-alive messages are exchanged between two systems
         participating in mc-lag. These keep-alive messages are used to
         determine remote-node failure."
    DEFVAL { 10 } -- 1 sec
    ::= { tnMcLagConfigEntry 3 }

tnMcLagConfigHoldOnNgbrFailure OBJECT-TYPE
    SYNTAX     Unsigned32 (2..25)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigHoldOnNgbrFailure specifies how many
         tnMcLagConfigKeepALiveIvl intervals the standby node will wait
         for packets from the active node before assuming a redundant-neighbor
         node failure.

         This delay in switch-over operation is required to accommodate for
         different factors influencing node failure detection rate, such as
         IGP convergence, or HA switch-over times and to prevent that the
         standby node takes actions prematurely."
    DEFVAL { 3 }
    ::= { tnMcLagConfigEntry 4 }

tnMcLagConfigOperState OBJECT-TYPE
    SYNTAX     INTEGER {
                   inService    (0),
                   outOfService (1)
    }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigOperState indicates the operational
         status of this multi-chassis LAG peer."
    ::= { tnMcLagConfigEntry 5 }

tnMcLagConfigPeerLastStateChge OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigPeerLastStateChge indicates the sysUpTime
         at the time of the last operational state  change for this
         multi-chassis LAG peer.

         If no changes were made since the last re-initialization
         of the local network management subsystem, then this object contains
         a zero value."
    ::= { tnMcLagConfigEntry 6 }


-- ------------------------------------------------
-- tnMcLagConfigLagTable table
-- ------------------------------------------------

tnMcLagConfigLagTableLastChanged OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagTableLastChanged indicates the
         sysUpTime at the time of the last modification of an entry in the
         tnMcLagConfigLagTable.

         If no changes were made to the table since the last re-initialization
         of the local network management subsystem, then this object
         contains a zero value."
    ::= { tnMcRedundancyObjs 7 }

tnMcLagConfigLagTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxMcLagConfigLagEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnMcLagConfigLagTable has an entry for each lag that
         participates in a multi-chassis configuration for the indicated peer."
    ::= { tnMcRedundancyObjs 8 }

tnMcLagConfigLagEntry OBJECT-TYPE
    SYNTAX     TmnxMcLagConfigLagEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents configuration data for a lag that
         participates in a multi-chassis configuration with a given peer.

         Rows can be created and deleted by the operator."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr, tnMcLagConfigLagId }
    ::= { tnMcLagConfigLagTable 1 }

TmnxMcLagConfigLagEntry ::= SEQUENCE
   {
       tnMcLagConfigLagId                    LAGInterfaceNumber,
       tnMcLagConfigLagLastChanged           TimeStamp,
       tnMcLagConfigLagRowStatus             RowStatus,
       tnMcLagConfigLaglacpKey               Unsigned32,
       tnMcLagConfigLagSystemId              OCTET STRING,
       tnMcLagConfigLagSystemPriority        Unsigned32,
       tnMcLagConfigLagRemoteLagId           LAGInterfaceNumber,
       tnMcLagConfigLagSrcBMacLSB            Unsigned32,
       tnMcLagConfigLagOperSrcBMacLSB        Unsigned32,
       tnMcLagConfigLagFlushEthRingOnActive  TmnxEnabledDisabled
   }

tnMcLagConfigLagId OBJECT-TYPE
    SYNTAX       LAGInterfaceNumber
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagId identifies the Link Aggregation
         Group on this system that is to form a mc-lag configuration with the
         indicated peer."
    ::= { tnMcLagConfigLagEntry 1 }

tnMcLagConfigLagLastChanged OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigLagLastChanged indicates the sysUpTime
         at the time of the last modification of this entry.

         If no changes were made to the entry since the last re-initialization
         of the local network management subsystem, then this object contains
         a zero value."
    ::= { tnMcLagConfigLagEntry 2 }

tnMcLagConfigLagRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigLagRowStatus specifies the row status of
         this row."
    ::= { tnMcLagConfigLagEntry 3 }

tnMcLagConfigLaglacpKey OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigLaglacpKey specifies a 16bit key that
         needs to be configured in the same manner on both sides of the mc-lag
         in order for the mc-lag to come up.

         The value of tnMcLagConfigLaglacpKey must be 0 when the value of
         tLagStandbySignaling of the corresponding LAG is 'powerOff (2)'.

         The value of tnMcLagConfigLaglacpKey cannot be 0 when the value of
         tLagStandbySignaling of the corresponding LAG is 'lacp (1)'."
    ::= { tnMcLagConfigLagEntry 4 }

tnMcLagConfigLagSystemId OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (6))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigLagSystemId specifies the system-id to be
         used in the context of mc-lag operation. The partner system will
         consider all ports using the same system-id, system priority and
         lacp-key as part of the same lag.

         In order to achieve this in mc-lag operation, both systems have to be
         configured with the same values.

         As long as the system does not have the connection with its
         redundant peer, it will use the locally defined value (chassis MAC
         address). After detecting a redundant node failure, the previously
         active system will keep on using the system-id configured here, while
         the standby system will switch to its locally defined value.

         The value of this object must be all zeroes when the value of
         tLagStandbySignaling of the corresponding LAG is 'powerOff (2)'.

         The value of this object cannot be all zeroes when the value of
         tLagStandbySignaling of the corresponding LAG is 'lacp (1)'."
    ::= { tnMcLagConfigLagEntry 5 }

tnMcLagConfigLagSystemPriority OBJECT-TYPE
    SYNTAX     Unsigned32 (0..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcLagConfigLagSystemPriority specifies the system
         priority to be used in the context of mc-lag.  The partner system will
         consider all ports using the same system-id, system priority and
         lacp-key as part of the same lag.

         In order to achieve this in mc-lag operation, both systems have to be
         configured with the same values.

         A low numeric value specifies a high system priority.

         The value of this object must be 0 when the value of
         tLagStandbySignaling of the corresponding LAG is 'powerOff (2)'.

         The value of this object cannot be 0 when the value of
         tLagStandbySignaling of the corresponding LAG is 'lacp (1)'."
    ::= { tnMcLagConfigLagEntry 6 }

tnMcLagConfigLagRemoteLagId OBJECT-TYPE
    SYNTAX       LAGInterfaceNumber
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagRemoteLagId specifies the Lag ID on the
         remote system.

         If not specified, the value of this object will be set to the value of
         tnMcLagConfigLagId."
    ::= { tnMcLagConfigLagEntry 7 }

tnMcLagConfigLagSrcBMacLSB OBJECT-TYPE
    SYNTAX       Unsigned32 (0|1..65535|4294967295)
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagSrcBMacLSB specifies the value of last
         16-bits of the MAC address used for all the traffic ingressing the
         MC-Lag links.

         The value '4294967295' indicates use of the lacp-key as source backbone
         MAC address LSB."
    DEFVAL { 0 }
    ::= { tnMcLagConfigLagEntry 8 }

tnMcLagConfigLagOperSrcBMacLSB OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagOperSrcBMacLSB indicates the operational
        value of last 16-bits of the MAC address used for all the traffic
        ingressing the MC-Lag links."
    ::= { tnMcLagConfigLagEntry 9 }

tnMcLagConfigLagFlushEthRingOnActive OBJECT-TYPE
    SYNTAX       TmnxEnabledDisabled
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagConfigLagFlushEthRingOnActive specifies whether
         or not to flush the ethernet rings to which the services that the LAG
         is part of are attached."
    DEFVAL { disabled }
    ::= { tnMcLagConfigLagEntry 10 }


-- ------------------------------------------------
-- tnMcLagInfoLagTable table
-- ------------------------------------------------

tnMcLagInfoLagTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxMcLagInfoLagEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnMcLagInfoLagTable has an entry for each lag that
         participates in a multi-chassis configuration for the indicated peer."
    ::= { tnMcRedundancyObjs 10 }

tnMcLagInfoLagEntry OBJECT-TYPE
    SYNTAX     TmnxMcLagInfoLagEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents operational data for a lag that
         participates in a multi-chassis configuration with a given peer.

         Rows are created or removed automatically by the system, each time
         a row is created or deleted in the tnMcLagConfigLagTable."
    AUGMENTS { tnMcLagConfigLagEntry }
    ::= { tnMcLagInfoLagTable 1 }

TmnxMcLagInfoLagEntry ::= SEQUENCE
   {
        tnMcLagActiveStandby          TruthValue,
        tnMcLagLacpIdInUse            TruthValue,
        tnMcLagExtendedTimeOut        TruthValue,
        tnMcLagSelectionLogic         DisplayString,
        tnMcLagConfigMismatchString   DisplayString,
        tnMcLagConfigMismatchFlags    BITS
   }

tnMcLagActiveStandby OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagActiveStandby indicates whether this mc-lag
         is active or standby.

         If the value of this object is 'true', this mc-lag is active."
    ::= { tnMcLagInfoLagEntry 1 }

tnMcLagLacpIdInUse OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLacpIdInUse indicates whether or not
         the mc-lag values (i.e. system-id, system priority and lacp-key)
         are advertised to the Lacp peer.

         If the value of this object is 'true', the mc-lag values
         are advertised. Otherwise the normal lag values are advertised."
    ::= { tnMcLagInfoLagEntry 2 }

tnMcLagExtendedTimeOut OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagExtendedTimeOut indicates whether or not
         the system is using the value of tnMcLagConfigHoldOnNgbrFailure.

         If this is 'true', the system is temporarily using a larger value
         than the value configured in tnMcLagConfigHoldOnNgbrFailure."
    ::= { tnMcLagInfoLagEntry 3 }

tnMcLagSelectionLogic OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagSelectionLogic is a printable character string
         which contains information about the multi-chassis selection logic."
    ::= { tnMcLagInfoLagEntry 4 }

tnMcLagConfigMismatchString OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagConfigMismatchString is a printable character
         string which contains information about the multi-chassis configuration
         mismatch."
    ::= { tnMcLagInfoLagEntry 5 }

tnMcLagConfigMismatchFlags OBJECT-TYPE
    SYNTAX      BITS {
                    lagIsNotMultiChassis(0),
                    localRemoteLagIdMismatch(1),
                    lagSelectionCriteriaMismatch(2),
                    lagEncapsulationMismatch(3),
                    mcLacpkeyMismatch(4),
                    mcSystemPriorityMismatch(5),
                    mcSystemIdMismatch(6)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagConfigMismatchFlags indicates the operational
         status of the multi-chassis configuration.

         lagIsNotMultiChassis(0)            The lag is not multi-chassis on
                                            the peer.

         localRemoteLagIdMismatch(1)        Local - remote Lag ID mismatch with
                                            the peer.

         lagSelectionCriteriaMismatch(2)    LAG selection criteria mismatch
                                            with the peer.

         lagEncapsulationMismatch(3)        LAG Encapsulation mismatch with
                                            the peer.

         mcLacpkeyMismatch(4)               MC lacp-key mismatch with the peer.

         mcSystemPriorityMismatch(5)        MC system-priority mismatch with
                                            the peer.

         mcSystemIdMismatch(6)              MC system-id mismatch with the
                                            peer."
    ::= { tnMcLagInfoLagEntry 6 }


-- ------------------------------------------------
-- tnMcLagGlobalStats
-- ------------------------------------------------
tnMcLagGlobalStatsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TnMcLagGlobalStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnMcLagGlobalStatsTable has an entry for the stats of each lag that
         participates in a multi-chassis configuration for the indicated peer."
    ::= { tnMcRedundancyStatsObjs 20 }

tnMcLagGlobalStatsEntry OBJECT-TYPE
    SYNTAX     TnMcLagGlobalStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents stats data for a lag that
         participates in a multi-chassis configuration with a given peer.

         Rows are created or removed automatically by the system, each time
         a row is created or deleted in the tnMcLagConfigLagTable."
    INDEX { tnSysSwitchId }
    ::= { tnMcLagGlobalStatsTable 1 }

TnMcLagGlobalStatsEntry ::= SEQUENCE
   {
                tnMcLagStatsPktsRx                   Counter32,
                tnMcLagStatsPktsRxKeepalive          Counter32,
                tnMcLagStatsPktsRxConfig             Counter32,
                tnMcLagStatsPktsRxPeerConfig         Counter32,
                tnMcLagStatsPktsRxState              Counter32,
                tnMcLagStatsDropPktKpaliveTask       Counter32,
                tnMcLagStatsDropPktTooShort          Counter32,
                tnMcLagStatsDropPktVerifyFaild       Counter32,
                tnMcLagStatsDropTlvInvalidSize       Counter32,
                tnMcLagStatsDropOutOfSeq             Counter32,
                tnMcLagStatsDropUnknownTlv           Counter32,
                tnMcLagStatsDropTlvInvldLagId        Counter32,
                tnMcLagStatsDropMD5                  Counter32,
                tnMcLagStatsDropUnknownPeer          Counter32,
                tnMcLagStatsPktsTx                   Counter32,
                tnMcLagStatsPktsTxKeepalive          Counter32,
                tnMcLagStatsPktsTxConfig             Counter32,
                tnMcLagStatsPktsTxPeerConfig         Counter32,
                tnMcLagStatsPktsTxState              Counter32,
                tnMcLagStatsPktsTxFailed             Counter32
   }

tnMcLagStatsPktsRx OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsRx indicates how many MC-Lag control
         packets with valid authentication were received on this system."
    ::= { tnMcLagGlobalStatsEntry 1 }

tnMcLagStatsPktsRxKeepalive OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsRxKeepalive indicates how many valid
         MC-Lag control packets of type keepalive were received on this
         system."
    ::= { tnMcLagGlobalStatsEntry 2 }

tnMcLagStatsPktsRxConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsRxConfig indicates how many valid
         MC-Lag control packets indicating the lag configuration were
         received on this system."
    ::= { tnMcLagGlobalStatsEntry 3 }

tnMcLagStatsPktsRxPeerConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsRxPeerConfig indicates how many valid
         MC-Lag control packets indicating the peer configuration were
         received on this system."
    ::= { tnMcLagGlobalStatsEntry 4 }

tnMcLagStatsPktsRxState OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsRxState indicates how many valid
         MC-Lag control packets indicating the lag state were
         received on this system."
    ::= { tnMcLagGlobalStatsEntry 5 }

tnMcLagStatsDropPktKpaliveTask OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropPktKpaliveTask indicates how many
         MC-Lag control packets were dropped on this system because of invalid
         size, authentication or unknown peer."
    ::= { tnMcLagGlobalStatsEntry 6 }

tnMcLagStatsDropPktTooShort OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropPktTooShort indicates how many
         MC-Lag control packets were dropped on this system because the packet
         was too small."
    ::= { tnMcLagGlobalStatsEntry 7 }

tnMcLagStatsDropPktVerifyFaild OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropPktVerifyFaild indicates how many
         MC-Lag control packets were dropped on this system because of invalid
         formatting."
    ::= { tnMcLagGlobalStatsEntry 8 }

tnMcLagStatsDropTlvInvalidSize OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropTlvInvalidSize indicates how many
         MC-Lag control packets were dropped on this system because of invalid
         size."
    ::= { tnMcLagGlobalStatsEntry 9 }

tnMcLagStatsDropOutOfSeq OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropOutOfSeq indicates how many
         MC-Lag control packets were dropped on this system because they were
         out of sequence."
    ::= { tnMcLagGlobalStatsEntry 10 }

tnMcLagStatsDropUnknownTlv OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropUnknownTlv indicates how many
         MC-Lag control packets were dropped on this system because they
         contained an unknown TLV."
    ::= { tnMcLagGlobalStatsEntry 11 }

tnMcLagStatsDropTlvInvldLagId OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropTlvInvldLagId indicates how many
         MC-Lag control packets were dropped on this system because they
         refer to an invalid or non multi-chassis lag."
    ::= { tnMcLagGlobalStatsEntry 12 }

tnMcLagStatsDropMD5 OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropMD5 indicates how many
         MC-Lag control packets were dropped on this system because they
         failed MD5 authentication."
    ::= { tnMcLagGlobalStatsEntry 13 }

tnMcLagStatsDropUnknownPeer OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsDropUnknownPeer indicates how many
         MC-Lag control packets were dropped on this system because they
         are coming from an unknown peer."
    ::= { tnMcLagGlobalStatsEntry 14 }

tnMcLagStatsPktsTx OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTx indicates how many
         MC-Lag control packets were transmitted from this system."
    ::= { tnMcLagGlobalStatsEntry 15 }

tnMcLagStatsPktsTxKeepalive OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTxKeepalive indicates how many
         MC-Lag control packets were transmitted from this system of type
         keepalive."
    ::= { tnMcLagGlobalStatsEntry 16 }

tnMcLagStatsPktsTxConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTxConfig indicates how many
         MC-Lag control packets were transmitted from this system of type
         lag config."
    ::= { tnMcLagGlobalStatsEntry 17 }

tnMcLagStatsPktsTxPeerConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTxPeerConfig indicates how many
         MC-Lag control packets were transmitted from this system of type
         peer config."
    ::= { tnMcLagGlobalStatsEntry 18 }

tnMcLagStatsPktsTxState OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTxState indicates how many
         MC-Lag control packets were transmitted from this system of type
         lag state."
    ::= { tnMcLagGlobalStatsEntry 19 }

tnMcLagStatsPktsTxFailed OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagStatsPktsTxFailed indicates how many
         MC-Lag control packets failed to be transmitted."
    ::= { tnMcLagGlobalStatsEntry 20 }

-- ------------------------------------------------
-- tnMcLagPeerStatsTable table
-- ------------------------------------------------

tnMcLagPeerStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcLagPeerStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcLagPeerStatsTable has an entry for each multi-chassis peer
         configured on this system."
    ::= { tnMcRedundancyStatsObjs 21 }

tnMcLagPeerStatsEntry OBJECT-TYPE
    SYNTAX      TmnxMcLagPeerStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a collection of statistics for a
         multi-chassis peer.

         Entries cannot be created and deleted via SNMP SET operations."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr }
    ::= { tnMcLagPeerStatsTable 1 }

TmnxMcLagPeerStatsEntry ::= SEQUENCE
   {
        tnMcLagPeerStatsPktsRx            Counter32,
        tnMcLagPeerStatsPktsRxKpalive     Counter32,
        tnMcLagPeerStatsPktsRxConfig      Counter32,
        tnMcLagPeerStatsPktsRxPeerCfg     Counter32,
        tnMcLagPeerStatsPktsRxState       Counter32,
        tnMcLagPeerStatsDropStateDsbld    Counter32,
        tnMcLagPeerStatsDropPktTooShrt    Counter32,
        tnMcLagPeerStatsDropTlvInvldSz    Counter32,
        tnMcLagPeerStatsDropTlvInvldId    Counter32,
        tnMcLagPeerStatsDropOutOfSeq      Counter32,
        tnMcLagPeerStatsDropUnknownTlv    Counter32,
        tnMcLagPeerStatsDropMD5           Counter32,
        tnMcLagPeerStatsPktsTx            Counter32,
        tnMcLagPeerStatsPktsTxKpalive     Counter32,
        tnMcLagPeerStatsPktsTxPeerCfg     Counter32,
        tnMcLagPeerStatsPktsTxFailed      Counter32
   }

tnMcLagPeerStatsPktsRx OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsRx indicates how many valid MC-Lag
         control packets were received on this system from the peer."
    ::= { tnMcLagPeerStatsEntry 1 }

tnMcLagPeerStatsPktsRxKpalive OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsRxKpalive indicates how many valid
         MC-Lag control packets of type keepalive were received on this
         system from the peer."
    ::= { tnMcLagPeerStatsEntry 2 }

tnMcLagPeerStatsPktsRxConfig OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsRxConfig indicates how many valid
         MC-Lag control packets of type lag config were received on this
         system from the peer."
    ::= { tnMcLagPeerStatsEntry 3 }

tnMcLagPeerStatsPktsRxPeerCfg OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsRxPeerCfg indicates how many valid
         MC-Lag control packets of type peer config were received on this
         system from the peer."
    ::= { tnMcLagPeerStatsEntry 4 }

tnMcLagPeerStatsPktsRxState OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsRxState indicates how many valid
         MC-Lag control packets of type lag state were received on this
         system from the peer."
    ::= { tnMcLagPeerStatsEntry 5 }

tnMcLagPeerStatsDropStateDsbld OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropStateDsbld indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the peer was administratively disabled."
    ::= { tnMcLagPeerStatsEntry 6 }

tnMcLagPeerStatsDropPktTooShrt OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropPktTooShrt indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet was too short."
    ::= { tnMcLagPeerStatsEntry 7 }

tnMcLagPeerStatsDropTlvInvldSz OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropTlvInvldSz indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet size was invalid."
    ::= { tnMcLagPeerStatsEntry 8 }

tnMcLagPeerStatsDropTlvInvldId OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropTlvInvldId indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet referred to an invalid or non multi-chassis lag."
    ::= { tnMcLagPeerStatsEntry 9 }

tnMcLagPeerStatsDropOutOfSeq OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropOutOfSeq indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet was out of sequence."
    ::= { tnMcLagPeerStatsEntry 10 }

tnMcLagPeerStatsDropUnknownTlv OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropUnknownTlv indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet contained an unknown TLV."
    ::= { tnMcLagPeerStatsEntry 11 }

tnMcLagPeerStatsDropMD5 OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsDropMD5 indicates how many
         MC-Lag control packets were dropped on this system from the peer
         because the packet failed MD5 authentication."
    ::= { tnMcLagPeerStatsEntry 12 }

tnMcLagPeerStatsPktsTx OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsTx indicates how many
         MC-Lag control packets were transmitted from this system to the peer."
    ::= { tnMcLagPeerStatsEntry 13 }

tnMcLagPeerStatsPktsTxKpalive OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsTxKpalive indicates how many
         MC-Lag control packets of type keepalive were transmitted from
         this system to the peer."
    ::= { tnMcLagPeerStatsEntry 14 }

tnMcLagPeerStatsPktsTxPeerCfg OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsTxPeerCfg indicates how many
         MC-Lag control packets of type peer config were transmitted from
         this system to the peer."
    ::= { tnMcLagPeerStatsEntry 15 }

tnMcLagPeerStatsPktsTxFailed OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcLagPeerStatsPktsTxFailed indicates how many
         MC-Lag control packets failed to be transmitted from
         this system to the peer."
    ::= { tnMcLagPeerStatsEntry 16 }


-- ------------------------------------------------
-- tnMcLagLagStatsTable table
-- ------------------------------------------------

tnMcLagLagStatsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxMcLagLagStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tnMcLagLagStatsTable has an entry for each lag that
         participates in a multi-chassis configuration for the indicated peer."
    ::= { tnMcRedundancyStatsObjs 22 }

tnMcLagLagStatsEntry OBJECT-TYPE
    SYNTAX     TmnxMcLagLagStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents a collection of statistics for a lag that
         participates in a multi-chassis configuration with a given peer.

         Entries cannot be created and deleted via SNMP SET operations."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr, tnMcLagConfigLagId }
    ::= { tnMcLagLagStatsTable 1 }

TmnxMcLagLagStatsEntry ::= SEQUENCE
   {
       tnMcLagLagStatsPktsRxConfig    Counter32,
       tnMcLagLagStatsPktsRxState     Counter32,
       tnMcLagLagStatsPktsTxConfig    Counter32,
       tnMcLagLagStatsPktsTxState     Counter32,
       tnMcLagLagStatsPktsTxFailed    Counter32
   }

tnMcLagLagStatsPktsRxConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLagStatsPktsRxConfig indicates how many
         MC-Lag control packets of type lag config were received on this
         system from the peer for this lag."
    ::= { tnMcLagLagStatsEntry 1 }

tnMcLagLagStatsPktsRxState OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLagStatsPktsRxState indicates how many
         MC-Lag control packets of type lag state were received on this
         system from the peer for this lag."
    ::= { tnMcLagLagStatsEntry 2 }

tnMcLagLagStatsPktsTxConfig OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLagStatsPktsTxConfig indicates how many
         MC-Lag control packets of type lag config were sent on this
         system to the peer for this lag."
    ::= { tnMcLagLagStatsEntry 3 }

tnMcLagLagStatsPktsTxState OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLagStatsPktsTxState indicates how many
         MC-Lag control packets of type lag state were sent on this
         system to the peer for this lag."
    ::= { tnMcLagLagStatsEntry 4 }

tnMcLagLagStatsPktsTxFailed OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tnMcLagLagStatsPktsTxFailed indicates how many
         MC-Lag control packets failed to be transmitted on this
         system to the peer for this lag."
    ::= { tnMcLagLagStatsEntry 5 }


-- ------------------------------------------------
-- tnMcPeerSyncStatsTable table
-- ------------------------------------------------

tnMcPeerSyncStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcPeerSyncStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcPeerSyncStatsTable has an entry for each multi-chassis
         peer synchronization protocol entry."
    ::= { tnMcRedundancyStatsObjs 23 }

tnMcPeerSyncStatsEntry    OBJECT-TYPE
    SYNTAX      TmnxMcPeerSyncStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a collection of statistics for a
         multi-chassis synchronization protocol entry.

         Entries cannot be created and deleted via SNMP SET operations."
    INDEX { tnSysSwitchId, tnMcPeerIpType, tnMcPeerIpAddr }
    ::= { tnMcPeerSyncStatsTable 1}

TmnxMcPeerSyncStatsEntry ::= SEQUENCE
    {
        tnMcPeerSyncPktsTxAll         Counter32,
        tnMcPeerSyncPktsTxHello       Counter32,
        tnMcPeerSyncPktsTxData        Counter32,
        tnMcPeerSyncPktsTxOther       Counter32,
        tnMcPeerSyncPktsTxErr         Counter32,
        tnMcPeerSyncPktsRxAll         Counter32,
        tnMcPeerSyncPktsRxHello       Counter32,
        tnMcPeerSyncPktsRxData        Counter32,
        tnMcPeerSyncPktsRxOther       Counter32,
        tnMcPeerSyncPktsRxErr         Counter32,
        tnMcPeerSyncPktsRxErrHeader   Counter32,
        tnMcPeerSyncPktsRxErrBody     Counter32,
        tnMcPeerSyncPktsRxErrSeqNum   Counter32
    }

tnMcPeerSyncPktsTxAll        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsTxAll indicates the total number
         of packets transmitted to the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 1 }

tnMcPeerSyncPktsTxHello        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsTxHello indicates the number of
         hello packets transmitted to the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 2 }

tnMcPeerSyncPktsTxData        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsTxData indicates the number of
         data packets transmitted to the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 3 }

tnMcPeerSyncPktsTxOther        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsTxOther indicates the number of all
         other packet types transmitted to the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 4 }

tnMcPeerSyncPktsTxErr        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsTxErr indicates the number of
         packet transmission errors."
    ::= { tnMcPeerSyncStatsEntry 5 }

tnMcPeerSyncPktsRxAll        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxAll indicates the total number
         of packets received from the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 6 }

tnMcPeerSyncPktsRxHello        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxHello indicates the number of
         hello packets received from the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 7 }

tnMcPeerSyncPktsRxData        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxData indicates the number of
         hello packets received from the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 8 }

tnMcPeerSyncPktsRxOther        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxOther indicates the number of all
         other packet types received from the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 9 }

tnMcPeerSyncPktsRxErr        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxErr indicates the number of
         erroneous packets received from the multi-chassis peer."
    ::= { tnMcPeerSyncStatsEntry 10 }

tnMcPeerSyncPktsRxErrHeader        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxErrHeader indicates the number
         of packets with header decode errors received from the multi-chassis
         peer."
    ::= { tnMcPeerSyncStatsEntry 11 }

tnMcPeerSyncPktsRxErrBody        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxErrBody indicates the number
         of packets with body decode errors received from the multi-chassis
         peer."
    ::= { tnMcPeerSyncStatsEntry 12 }

tnMcPeerSyncPktsRxErrSeqNum        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcPeerSyncPktsRxErrSeqNum indicates  the number
         of packets with sequence number errors received from the multi-chassis
         peer."
    ::= { tnMcPeerSyncStatsEntry 13 }

--
-- Dummy Scalars
--
tnMcRedundancyStatsScalar1 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A dummy scalar that satisfies a SNMP get request quickly when
         there is no 11QPE24 card provisioned.  Otherwise, it has to
         traverse the remaining 11QPE24 MIB to get to the next applicable
         item."
    ::= { tnMcRedundancyStatsObjs 101 }

tnMcRedundancyStatsScalar2 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "."
    ::= { tnMcRedundancyStatsObjs 102 }

-- ------------------------------------------------
-- tnMcsClientAppTable table
-- ------------------------------------------------

tnMcsClientAppTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxMcsClientAppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tnMcsClientAppTable has an entry for each application using
         the multi-chassis peer synchronization protocol configured on this
         system."
    ::= { tnMcRedundancyObjs 11 }

tnMcsClientAppEntry    OBJECT-TYPE
    SYNTAX      TmnxMcsClientAppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry represents a particular multi-chassis peer
         synchronization protocol application.

         Entries cannot be created and deleted via SNMP SET operations."
    INDEX {
        tnSysSwitchId,
        tnMcPeerIpType,
        tnMcPeerIpAddr,
        tnMcsClientApplication
        }
    ::= { tnMcsClientAppTable 1}

TmnxMcsClientAppEntry ::= SEQUENCE
    {
        tnMcsClientApplication        TmnxMcsClientApp,
        tnMcsClientNumEntries         Counter32,
        tnMcsClientLclDeletedEntries  Counter32,
        tnMcsClientAlarmedEntries     Counter32,
        tnMcsClientRemNumEntries      Counter32,
        tnMcsClientRemLclDelEntries   Counter32,
        tnMcsClientRemAlarmedEntries  Counter32
    }

tnMcsClientApplication        OBJECT-TYPE
    SYNTAX      TmnxMcsClientApp
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientApplication indicates the type of
         application using multi-chassis synchronization."
    ::= { tnMcsClientAppEntry 1 }

tnMcsClientNumEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientNumEntries indicates the total number of
         entries in the MCS database per multi-chassis peer for a particular
         application."
    ::= { tnMcsClientAppEntry 2 }

tnMcsClientLclDeletedEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientLclDeletedEntries indicates the number
         of locally deleted entries in the MCS database per multi-chassis
         peer for a particular application. Locally deleted entries are
         entries that are not being used by the local MCS client application."
    ::= { tnMcsClientAppEntry 3 }

tnMcsClientAlarmedEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientAlarmedEntries indicates the number of
         alarmed entries in the MCS database per multi-chassis peer for a
         particular application. Entries with an alarm are entries that are
         not being used by the local client application due to resource
         constraints."
    ::= { tnMcsClientAppEntry 4 }

tnMcsClientRemNumEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientRemNumEntries indicates the total number of
         entries in the MCS database on the multi-chassis peer for a particular
         application."
    ::= { tnMcsClientAppEntry 5 }

tnMcsClientRemLclDelEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientRemLclDelEntries indicates the number
         of locally deleted entries in the MCS database ont he multi-chassis
         peer for a particular application. Locally deleted entries are
         entries that are not being used by the remote MCS client application."
    ::= { tnMcsClientAppEntry 6 }

tnMcsClientRemAlarmedEntries        OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tnMcsClientRemAlarmedEntries indicates the number of
         alarmed entries in the MCS database on the multi-chassis peer for a
         particular application. Entries with an alarm are entries that are
         not being used by the remote client application due to resource
         constraints."
    ::= { tnMcsClientAppEntry 7 }


-- ---------------------------------------------------------------------
-- tnMcDomainTable
-- ---------------------------------------------------------------------

tnMcDomainTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF TmnxMcDomainEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "A table that contains multi-chassis domain information."
    ::= { tnMcRedundancyObjs 91 }

tnMcDomainEntry OBJECT-TYPE
    SYNTAX          TmnxMcDomainEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "Multi-chassis domain information."
    INDEX           { tnSysSwitchId, tnMcDomainId }
    ::= { tnMcDomainTable 1 }

TmnxMcDomainEntry ::=
    SEQUENCE {
        tnMcDomainId           Integer32,
        tnMcDomainRowStatus    RowStatus,
        tnMcDomainDescription  TItemDescription,
        tnMcDomainSrcIpType    InetAddressType,
        tnMcDomainSrcIpAddr    InetAddress,
        tnMcDomainSrcIpMask    InetAddressPrefixLength,
        tnMcDomainSvcName      TNamedItemOrEmpty
    }

tnMcDomainId OBJECT-TYPE
    SYNTAX     Integer32 (0|1..250)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainId specifies the ID of the multi-chassis domain."
    ::= { tnMcDomainEntry 1 }

tnMcDomainRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainRowStatus specifies the row status of this row."
    ::= { tnMcDomainEntry 2 }

tnMcDomainDescription OBJECT-TYPE
    SYNTAX     TItemDescription
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainDescription specifies the description of
         the multi-chassis domain."
    DEFVAL      { ''H }
    ::= { tnMcDomainEntry 3 }

tnMcDomainSrcIpType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainSrcIpType specifies the source address type of
         the multi-chassis domain."
    DEFVAL      { unknown }
    ::= { tnMcDomainEntry 4 }

tnMcDomainSrcIpAddr OBJECT-TYPE
    SYNTAX     InetAddress (SIZE (0|4))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainSrcIpAddr specifies the source address of
         the multi-chassis domain."
    ::= { tnMcDomainEntry 5 }

tnMcDomainSrcIpMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainSrcIpMask specifies the source address mask of
         the multi-chassis domain."
    DEFVAL      { 24 }
    ::= { tnMcDomainEntry 6 }

 tnMcDomainSvcName OBJECT-TYPE
    SYNTAX     TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS     current
    DESCRIPTION
        "The value of tnMcDomainSvcName specifies the name of the service
         binding to the multi-chassis domain."
    DEFVAL      { ''H }
    ::= { tnMcDomainEntry 7 }

END
