ADTRAN-GENMUXPONDER-MIB

-- TITLE:     The ADTRAN Muxponder MIB
-- PRODUCT:   Muxponder Products
-- VERSION:   1.3
-- DATE:      04/06/11
-- AUTHOR:    Jim Vance

-- This MIB defines the object identifiers (OIDs) for the
-- ADTRAN GENMUXPONDER MIB objects

-- HISTORY:
-- 06/02/2010 jv   STATUS: PRELIMINARY.
-- 11/04/2010 bcp  Added the following peer information OIDs under adGenMuxPPhysIfProvTable
--                 adGenMuxPPeerIpAddress, adGenMuxPPeerChassisId, adGenMuxPPeerPortId
-- 11/19/2010 BDB  Added tables to support LAG (link aggregation group).
-- 12/07/2010 BDB  Updates to LAG tables resulting from MIB approval meeting:
--                 1) Added MaxNum and CurrentNum of ports to LAG prov table.
--                 2) Changed index of portmap create error table to LAG IF index.
--                 3) Added new table, PortStatus, to indicate the LAG group
--                    for each port (if any).
-- 01/19/2011 jv   Added adGenMuxPProtGroupSwitchCommands, adGenMuxPProtGroupWorkEntityStatus,
--                 adGenMuxPProtGroupProtectEntityStatus, adGenMuxPProtGroupRevertiveEnable,
--                 and adGenMuxPProtGroupWaitToRestoreTime.
-- 02/02/2011 bcp  Added tables for Muxponder Timing provisioning and status.
--                 Added alarms for Muxponder Timing.
-- 03/03/2011 jv   Added adGenMuxPFacilityLoopbackEnable, adGenMuxPFacilityLoopbackTimeout,
--                 adGenMuxPFacilityLoopbackTimeRemaining, adGenMuxPTerminalLoopbackEnable,
--                 adGenMuxPTerminalLoopbackTimeout, and adGenMuxPTerminalLoopbackTimeRemaining.
--                 DO NOT ADD REVISION INFORMATION HERE.
-- ******************************************************************************************
DEFINITIONS ::= BEGIN

--==================================================================================================================

IMPORTS

   adGenMuxPonder,
   adGenMuxPonderID        FROM ADTRAN-SHARED-CND-SYSTEM-MIB

   InterfaceIndex,
   ifIndex,
   InterfaceIndexOrZero    FROM IF-MIB

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

   adGenSlotInfoIndex      FROM ADTRAN-GENSLOT-MIB

   GenSystemInterfaceType  FROM ADTRAN-SHARED-CND-SYSTEM-TC-MIB

   sysName                 FROM SNMPv2-MIB

   adTrapInformSeqNum      FROM ADTRAN-GENTRAPINFORM-MIB

   adTAeSCUTrapAlarmLevel  FROM ADTRAN-TAeSCUEXT1-MIB

   IpAddress,
   TimeTicks,
   OBJECT-TYPE,
   MODULE-IDENTITY,
   NOTIFICATION-TYPE,
   Integer32,
   Unsigned32               FROM SNMPv2-SMI;


   adGenMuxponderIdentity MODULE-IDENTITY
      LAST-UPDATED "201410170000Z"
      ORGANIZATION "Adtran, Inc."
      CONTACT-INFO
        "CND Tech Support
            Postal: ADTRAN, Inc.
                    901 Explorer Blvd.
                    Huntsville, AL  35806
                    Tel: +1 800 726-8663
                    Fax: +1 256 963 6217
                    E-mail: support@adtran.com"
      DESCRIPTION
         "This MIB defines the objects for the Muxponder MIB."

       REVISION "201410170000Z"
       DESCRIPTION  "Added adGenMuxPProtGroupWaitToRestoreRemainingTime to adGenMuxPProtGroupEntry
                     and adGenMuxPEthernetProtGroupWaitToRestoreRemainingTime to adGenMuxPEthernetProtGroupEntry."

       REVISION "201409220000Z"
       DESCRIPTION  "Added adGenMuxPMappingOperStatus and adGenMuxPMappingStatusString to adGenMuxPMappingTable"

       REVISION "201407010000Z"
       DESCRIPTION  "Added adGenMuxPLagGroupMinActLinkAlarmEnable to adGenMuxPLagGroupTable"

       REVISION "201406130000Z"
       DESCRIPTION  "Added adGenMuxPForwardingGroupLimitedEnable to adGenMuxPPhysIfProvTable"

       REVISION "201401160000Z"
       DESCRIPTION  "Modified descriptions for some Link Aggregation Group OIDs to clarify
                     and reconcile with actual operation.  No functional mib changes."
       REVISION "201307180000Z"
       DESCRIPTION  "Added adGenMuxPTimingSystemTimingType to adGenMuxPTimingProvTable"

       REVISION "201303200000Z"
       DESCRIPTION  "Added adGenMuxPProtectedPairEnable to adGenMuxPPhysIfProvTable"

       REVISION "201301140000Z"
       DESCRIPTION "Added a status of 'down' for all protection group entities."

       REVISION "201210250000Z"
              DESCRIPTION  "- Added adGenMuxPUPMClear and adGenMuxPUPMSet alarm.
              		        - Added fibreChannel4G, fibreChannel8G and fibreChannel10G to list
              		          of possible payload types for Muxponder."

       REVISION "201210160000Z"
       DESCRIPTION  "- Added adGenMuxPMultiProtGroupTable, adGenMuxPMultiProtGroupLastCreateErrorTable,
                       adGenMuxPMultiSonetProtPairTable, adGenMuxPMultiSonetProtPairLastCreateErrorTable,
                       adGenMuxPMultiEthernetProtPairTable, adGenMuxPMultiEthernetProtPairLastCreateErrorTable,
                       adGenMuxPMultiFibreChannelProtPairTable and adGenMuxPMultiFibreChannelProtPairLastCreateErrorTable.
                     - Added gmp(Generic Mapping Procedure) to the list of mapping types."

       REVISION "201209060000Z"
       DESCRIPTION  "- Revised description for adGenMuxPTimingPrimarySourceSelection & adGenMuxPTimingPrimarySourceInterface OIDs.
                     - Revised description for adGenMuxPTimingSecondarySourceSelection & adGenMuxPTimingSecondarySourceInterface OIDs."

       REVISION "201208210000Z"
       DESCRIPTION  "- Added adGenMuxPEthernetProtGroupTable, adGenMuxPEthernetProtGroupLastCreateErrorTable,
                       adGenMuxPProtGroupOperStatus and adGenMuxPProtGroupStatusString.
                     - Added online indication to PortStatus bit map in adGenMuxPIfStatusTable.
                     - Added interfaceFixed option to the adGenMuxPTimingPrimarySourceSelection and
                       adGenMuxPTimingSecondarySourceSelection OIDs for the adGenMuxPTimingProvTable.
                     - Added a new read-only OID adGenMuxPTimingLastError to the adGenMuxPTimingProvTable.
                     - Added yCable to the list of protection group types for SONET interfaces."

       REVISION "201205170000Z"
       DESCRIPTION  "Added adGenMuxPYCableEnable"

       REVISION "201203260000Z"
       DESCRIPTION  "Added gigabitEthernet, tenGigabitEthernet, fibreChannel1G and fibreChannel2G to list
       of possible payload types."

       REVISION "201202130000Z"
       DESCRIPTION  "Added adGenMuxPLFDSet, adGenMuxPLFDClear"

       REVISION "201201260000Z"
       DESCRIPTION  "Deprecate OIDs related to Peer and Physical Peer in favour of genPeerAdjacency.mi2"

       REVISION "201112200000Z"
       DESCRIPTION  "Deprecated adGenMuxPTimingReceiveSSMEnable. Added adGenMuxPTimingRevertiveSwitchType."

       REVISION "201110130000Z"
       DESCRIPTION  "Added adGenMuxPIfStatusTable, adGenMuxPMappingTable,
                     adGenMuxPPortMappingStatusTable and adGenMuxPPortCrossConnectStatusTable,
                     adGenMuxPMappingLastCreateErrorTable and OTN support."

       REVISION "201108150000Z"
       DESCRIPTION  "Added support for Sync-E Timing."

       REVISION "201106270000Z"
       DESCRIPTION  "Added Y-cable support to physical peer provisioning table."

      ::= { adGenMuxPonderID 1 }

   adGenMuxPPhysIfProv                    OBJECT IDENTIFIER ::= {adGenMuxPonder 1}
   adGenMuxPCrossConnectProv              OBJECT IDENTIFIER ::= {adGenMuxPonder 2}
   adGenMuxPProtGroupProv                 OBJECT IDENTIFIER ::= {adGenMuxPonder 3}
   adGenMuxPLagGroupProv                  OBJECT IDENTIFIER ::= {adGenMuxPonder 4}
   adGenMuxPTiming                        OBJECT IDENTIFIER ::= {adGenMuxPonder 5}
   adGenMuxPPhysPeerProv                  OBJECT IDENTIFIER ::= {adGenMuxPonder 6}
   adGenMuxPIfStatus                      OBJECT IDENTIFIER ::= {adGenMuxPonder 7}
   adGenMuxPMappingProv                   OBJECT IDENTIFIER ::= {adGenMuxPonder 8}
   adGenMuxPMultiProtGroupProv            OBJECT IDENTIFIER ::= {adGenMuxPonder 9}


   adGenMuxPTimingProv                    OBJECT IDENTIFIER ::= {adGenMuxPTiming 1}
   adGenMuxPTimingStatus                  OBJECT IDENTIFIER ::= {adGenMuxPTiming 2}
   adGenMuxPTimingAlarmPrefix             OBJECT IDENTIFIER ::= {adGenMuxPTiming 3}

   adGenMuxPTimingAlarms                  OBJECT IDENTIFIER ::= {adGenMuxPTimingAlarmPrefix 0}

   adGenMuxPAlarm                         OBJECT IDENTIFIER ::= {adGenMuxPonder 100}
   adGenMuxPAlarmEvents                   OBJECT IDENTIFIER ::= {adGenMuxPAlarm 0}
--==================================================================================================================

   MuxPPayloadTypes ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION "Possible payload types for muxponders."
      SYNTAX      INTEGER {
                           notApplicable(1),
                           sts1(2),
                           sts3c(3),
                           sts12c(4),
                           sts48c(5),
                           sts192c(6),
                           sonetLine(7),
                           vc3(8),
                           vc4(9),
                           vc4x4c(10),
                           vc4x16c(11),
                           vc4x64c(12),
                           sdhLine(13),
                           otnPort(14),
                           odu4(15),               -- ~100Gbps
                           odu3(16),               -- ~40Gbps
                           odu3e1(17),             -- ~40Gbps
                           odu3e2(18),             -- ~40Gbps
                           odu2(19),               -- ~10Gbps
                           odu2e(20),              -- ~10Gbps
                           odu2f(21),              -- ~10Gbps
                           odu1e(22),              -- ~10Gbps
                           odu1f(23),              -- ~10Gbps
                           odu1(24),               -- ~2.5Gbps
                           odu0(25),               -- ~1.25Gbps
                           oduflex(26),            -- Variable between ~1.25Gbps and ~100Gbps
                           timeslot(27),           -- ~155Mbps
                           gigabitEthernet(28),    -- ~1Gbps
                           tenGigabitEthernet(29), -- ~10Gbps
                           fibreChannel1G(30),     -- ~1.0625Gbps
                           fibreChannel2G(31),      -- ~2.125Gbps
                           fibreChannel4G(32),      -- ~4.25Gbps
                           fibreChannel8G(33),       -- ~8.50Gbps
                           fibreChannel10G(34)       -- ~10.518Gbps
                          }

  MuxPMapInterface ::= TEXTUAL-CONVENTION
      DISPLAY-HINT "1d 1d 1d 1d 1d 1d 1d 1d 2d"
      STATUS       current
      DESCRIPTION "An octet string used to uniquely identify a mappable interface.  A value of zero indicates
                   that there isn't any encapsulation at that level.
                   The Octet string is defined as follows:
                   OCTET Position             Represented Num                   Range   Bandwidth
                   1 (Most Significant Octet) Slot Num                          1-m                (m = num of slots in shelf)
                   2                          Port Type                         0-1                (0 = High Speed, 1 = Mid Speed)
                   3                          Port Num                          1-n                (n = num of ports on card)
                   4                          ODU4                              0-1     ~100  Gbps
                   5                          ODU3, ODU3e1, ODU3e2              0-2     ~40   Gbps
                   6                          ODU2, ODU2e, ODU2f, ODU1e, ODU1f  0-10    ~10   Gbps
                   7                          ODU1                              0-50    ~2.5  Gbps
                   8                          ODU0                              0-100   ~1.25 Gbps
                   9-10                       timeslot                          0-800   ~155  Mbps"
      SYNTAX       OCTET STRING (SIZE (10))


   EthernetPayloadTypes ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION "Possible payload types for Ethernet."
      SYNTAX      INTEGER {
                           notCompatible(1),       -- Not Compatible with Ethernet Payloads
                           gigabitEthernet(2),     -- ~1 Gbps
                           tenGigabitEthernet(3)   -- ~10 Gbps
                          }

   FibreChanPayloadTypes ::= TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION "Possible payload types for Fibre Channel."
      SYNTAX      INTEGER {
                           notCompatible(1),   -- Not Compatible with Fibre Channel Payloads
                           fibreChannel1G(2),  -- ~1.0625Gbps
                           fibreChannel2G(3),  -- ~2.125Gbps
                           fibreChannel4G(4),  -- ~4.25Gbps
                           fibreChannel8G(5),  -- ~8.50Gbps
                           fibreChannel10G(6)  -- ~10.518Gbps
                          }

-- *****************************************************************************
--
-- Muxponder Physical Interface Provision
--
-- *****************************************************************************
   adGenMuxPPhysIfProvTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPPhysIfProvEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Physical Interface provisioning table."
      ::= { adGenMuxPPhysIfProv 1 }

   adGenMuxPPhysIfProvEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPPhysIfProvEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Physical Interface provisioning table."
      INDEX  { ifIndex }
      ::= { adGenMuxPPhysIfProvTable 1 }

   AdGenMuxPPhysIfProvEntry ::=
      SEQUENCE {
         adGenMuxPPhysIfType
            GenSystemInterfaceType,
         adGenMuxPPeerIpAddress
            IpAddress,
         adGenMuxPPeerChassisId
            DisplayString,
         adGenMuxPPeerPortId
            DisplayString,
         adGenMuxPFacilityLoopbackEnable
            TruthValue,
         adGenMuxPFacilityLoopbackTimeout
            INTEGER,
         adGenMuxPFacilityLoopbackTimeRemaining
            DisplayString,
         adGenMuxPTerminalLoopbackEnable
            TruthValue,
         adGenMuxPTerminalLoopbackTimeout
            INTEGER,
         adGenMuxPTerminalLoopbackTimeRemaining
            DisplayString,
         adGenMuxPYCableEnable
            TruthValue,
         adGenMuxPProtectedPairEnable
            TruthValue,
         adGenMuxPForwardingGroupLimitedEnable
            TruthValue
      }

   adGenMuxPPhysIfType OBJECT-TYPE
      SYNTAX GenSystemInterfaceType
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
         "Control for setting the physical interface type.  The intial
         release of the Muxponder cards will only support the retrieval of
         this OID to determine the Interface type of a particular port.  In
         future releases some muxponder cards will allow ports to be provisioned
         to various Interface types."
      ::= { adGenMuxPPhysIfProvEntry 1 }

   adGenMuxPPeerIpAddress OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This variable is used to indicate the IP address of the peer device
          connected to the interface.

          This object is deprecated. Use OID adGenPeerAdjacencyLogicalIpAddress
          from ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysIfProvEntry 2 }

   adGenMuxPPeerChassisId OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to specify the chassis name of the peer device
          connected to the interface. It is recommended to use the peer device
          TID as the chassis name.

          This object is deprecated. Use OID adGenPeerAdjacencyLogicalChassisId
          from ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysIfProvEntry 3 }

   adGenMuxPPeerPortId OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to specify the port identification of the peer
          device connected to the interface. It is recommended to specify the
          interface type of the peer port along with the shelf/slot/port
          information for the peer device port identification string.

          Examples: gigabit-ethernet 1/0/1
                    muxponder-midpseed 1/5/10
                    muxponder-highspeed 1/5/2

          This object is deprecated. Use OID adGenPeerAdjacencyLogicalPortId
          from ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysIfProvEntry 4 }

    adGenMuxPFacilityLoopbackEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Enables/disables a facility loopback on the indexed port interface."
      ::= { adGenMuxPPhysIfProvEntry 5 }

    adGenMuxPFacilityLoopbackTimeout OBJECT-TYPE
       SYNTAX         INTEGER (1..9999)
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Used to specify a length of time in minutes before the facility loopback is
          automatically removed."
      ::= { adGenMuxPPhysIfProvEntry 6 }

    adGenMuxPFacilityLoopbackTimeRemaining OBJECT-TYPE
       SYNTAX         DisplayString (SIZE (1..8))
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Used to indicate the time remaining before the facility loopback is
          automatically removed.
          Format of string: hh:mm:ss"
      ::= { adGenMuxPPhysIfProvEntry 7 }

    adGenMuxPTerminalLoopbackEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Enables/disables a terminal loopback on the indexed port interface."
      ::= { adGenMuxPPhysIfProvEntry 8 }

    adGenMuxPTerminalLoopbackTimeout OBJECT-TYPE
       SYNTAX         INTEGER (1..9999)
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Used to specify a length of time in minutes before the terminal loopback is
          automatically removed."
      ::= { adGenMuxPPhysIfProvEntry 9 }

    adGenMuxPTerminalLoopbackTimeRemaining OBJECT-TYPE
       SYNTAX         DisplayString (SIZE (1..8))
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Used to indicate the time remaining before the terminal loopback is
          automatically removed.
          Format of string: hh:mm:ss"
      ::= { adGenMuxPPhysIfProvEntry 10 }

    adGenMuxPYCableEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Used to enable or disable the YCable support."
       DEFVAL { false }
       ::= { adGenMuxPPhysIfProvEntry 11 }

    adGenMuxPProtectedPairEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Used to enable or disable the use of a protected-pair to provide protection between a pair of interfaces."
       DEFVAL { false }
       ::= { adGenMuxPPhysIfProvEntry 12 }

    adGenMuxPForwardingGroupLimitedEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
          "Setting this value to True adds this port to a group of ports that are limited with respect to port forwarding.
           Ports within the limited forwarding group are not allowed to forward data to other ports in the group but may
           forward to ports that are outside the group.  Setting this value to False removes this port from the limited
           forwarding group, thus allowing forwarding to all other ports."
       DEFVAL { false }
       ::= { adGenMuxPPhysIfProvEntry 13 }


-- *****************************************************************************
--
-- Muxponder Cross-Connects
--
-- *****************************************************************************
   adGenMuxPCrossConnectTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPCrossConnectEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Cross-Connect table."
      ::= { adGenMuxPCrossConnectProv 1 }

   adGenMuxPCrossConnectEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPCrossConnectEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Cross-Connect table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenMuxPCrossConnectName }
      ::= { adGenMuxPCrossConnectTable 1 }

   AdGenMuxPCrossConnectEntry ::=
      SEQUENCE {
         adGenMuxPCrossConnectName
            DisplayString,
         adGenMuxPCrossConnectType
            INTEGER,
         adGenMuxPCrossConnectSrcType
            MuxPPayloadTypes,
         adGenMuxPCrossConnectSrcIfIndex
            InterfaceIndex,
         adGenMuxPCrossConnectDstType
            MuxPPayloadTypes,
         adGenMuxPCrossConnectDstIfIndex
            InterfaceIndex,
         adGenMuxPCrossConnectRowStatus
            RowStatus,
         adGenMuxPCrossConnectLastProvError
            DisplayString
      }

   adGenMuxPCrossConnectName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Cross-Connect name."
      ::= { adGenMuxPCrossConnectEntry 1 }

   adGenMuxPCrossConnectType OBJECT-TYPE
      SYNTAX INTEGER {
                       twoWay(1),
                       oneWay(2)
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Cross-Connect type."
      ::= { adGenMuxPCrossConnectEntry 2 }

   adGenMuxPCrossConnectSrcType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the source
         endpoint."
      ::= { adGenMuxPCrossConnectEntry 3 }

   adGenMuxPCrossConnectSrcIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the source endpoint."
      ::= { adGenMuxPCrossConnectEntry 4 }

   adGenMuxPCrossConnectDstType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the destination
         endpoint."
      ::= { adGenMuxPCrossConnectEntry 5 }

   adGenMuxPCrossConnectDstIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the destination endpoint."
      ::= { adGenMuxPCrossConnectEntry 6 }

   adGenMuxPCrossConnectRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Cross-Connect Row Status."
      ::= { adGenMuxPCrossConnectEntry 7 }

   adGenMuxPCrossConnectLastProvError OBJECT-TYPE
       SYNTAX         DisplayString
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPCrossConnectEntry 8 }



   adGenMuxPCrossConnectLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPCrossConnectLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Cross-Connect last create error table.
         Table that indicates the last error that occurred
         during creation of a cross-connect."
      ::= { adGenMuxPCrossConnectProv 2 }

   adGenMuxPCrossConnectLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPCrossConnectLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Cross-Connect Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPCrossConnectLastCreateErrorTable 1 }

   AdGenMuxPCrossConnectLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPCrossConnectLastCreateError
            DisplayString
      }

   adGenMuxPCrossConnectLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         cross-connect."
      ::= { adGenMuxPCrossConnectLastCreateErrorEntry 1 }

-- *****************************************************************************
--
-- Muxponder Port Cross-Connect Status Table
--
-- *****************************************************************************
   adGenMuxPPortCrossConnectStatusTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPPortCrossConnectStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Port Cross-Connect Status table."
      ::= { adGenMuxPCrossConnectProv 3 }

   adGenMuxPPortCrossConnectStatusEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPPortCrossConnectStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Port Cross-Connect Status table."
      INDEX  { ifIndex, adGenMuxPPortCrossConnectName }
      ::= { adGenMuxPPortCrossConnectStatusTable 1 }

   AdGenMuxPPortCrossConnectStatusEntry ::=
      SEQUENCE {
         adGenMuxPPortCrossConnectName
            DisplayString,
         adGenMuxPPortCrossConnectStatus
            INTEGER
      }

   adGenMuxPPortCrossConnectName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "Cross-Connect name."
      ::= { adGenMuxPPortCrossConnectStatusEntry 1 }

   adGenMuxPPortCrossConnectStatus OBJECT-TYPE
      SYNTAX INTEGER {
                      source(1),
                      destination(2),
                      sourceAndDestination(3)
                     }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This OID indicates whether this port is defined as a source, destination or both for
         this cross-connect."
      ::= { adGenMuxPPortCrossConnectStatusEntry 2 }




-- *****************************************************************************
--
-- Muxponder Protection Groups
--
-- *****************************************************************************
   adGenMuxPProtGroupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Protection Group table.  This table is used
         to create protection groups out of two interfaces."
      ::= { adGenMuxPProtGroupProv 1 }

   adGenMuxPProtGroupEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Protection Group table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenMuxPProtGroupName }
      ::= { adGenMuxPProtGroupTable 1 }

   AdGenMuxPProtGroupEntry ::=
      SEQUENCE {
         adGenMuxPProtGroupName
            DisplayString,
         adGenMuxPProtGroupType
            INTEGER,
         adGenMuxPProtGroupWorkingType
            MuxPPayloadTypes,
         adGenMuxPProtGroupWorkingIfIndex
            InterfaceIndex,
         adGenMuxPProtGroupProtectingType
            MuxPPayloadTypes,
         adGenMuxPProtGroupProtectingIfIndex
            InterfaceIndex,
         adGenMuxPProtGroupRowStatus
            RowStatus,
         adGenMuxPProtGroupLastProvError
            DisplayString,
         adGenMuxPProtGroupWorkIsOnline
            TruthValue,
         adGenMuxPProtGroupSwitchCommands
            INTEGER,
         adGenMuxPProtGroupWorkEntityStatus
            INTEGER,
         adGenMuxPProtGroupProtectEntityStatus
            INTEGER,
         adGenMuxPProtGroupRevertiveEnable
            TruthValue,
         adGenMuxPProtGroupWaitToRestoreTime
            INTEGER,
         adGenMuxPProtGroupTxK1Request
            INTEGER,
         adGenMuxPProtGroupTxK1RequestChannel
            INTEGER,
         adGenMuxPProtGroupTxK2BridgeChannel
            INTEGER,
         adGenMuxPProtGroupTxK2APSArchitecture
            INTEGER,
         adGenMuxPProtGroupTxK2APSMode
            INTEGER,
         adGenMuxPProtGroupRxK1Request
            INTEGER,
         adGenMuxPProtGroupRxK1RequestChannel
            INTEGER,
         adGenMuxPProtGroupRxK2BridgeChannel
            INTEGER,
         adGenMuxPProtGroupRxK2APSArchitecture
            INTEGER,
         adGenMuxPProtGroupRxK2APSMode
            INTEGER,
         adGenMuxPProtGroupOperStatus
            INTEGER,
         adGenMuxPProtGroupStatusString
            DisplayString,
         adGenMuxPProtGroupWaitToRestoreRemainingTime
            Unsigned32
      }

   adGenMuxPProtGroupName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Protection Group name."
      ::= { adGenMuxPProtGroupEntry 1 }

   adGenMuxPProtGroupType OBJECT-TYPE
      SYNTAX INTEGER {
                       upsr(1),           -- Unidirectional Path Switched Ring
                       terminalUniDir(2), -- Unidirectional Port Switched
                       terminalBiDir(3),  -- Bidirectional Port Switched
                       yCable(4)          -- The transmitter of the working and protect interfaces are connected via Y-Cable
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Protection Group type."
      ::= { adGenMuxPProtGroupEntry 2 }

   adGenMuxPProtGroupWorkingType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the working
         entity."
      ::= { adGenMuxPProtGroupEntry 3 }

   adGenMuxPProtGroupWorkingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the working entity."
      ::= { adGenMuxPProtGroupEntry 4 }

   adGenMuxPProtGroupProtectingType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the protecting
         entity."
      ::= { adGenMuxPProtGroupEntry 5 }

   adGenMuxPProtGroupProtectingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the protecting entity."
      ::= { adGenMuxPProtGroupEntry 6 }

   adGenMuxPProtGroupRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Protection Group Row Status."
      ::= { adGenMuxPProtGroupEntry 7 }

   adGenMuxPProtGroupLastProvError OBJECT-TYPE
       SYNTAX         DisplayString
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPProtGroupEntry 8 }

   adGenMuxPProtGroupWorkIsOnline OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Indicates whether or not the working-entity is online.  If not,
          the protect-entity is online."
      ::= { adGenMuxPProtGroupEntry 9 }

   adGenMuxPProtGroupSwitchCommands OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),                 -- Clear/Idle
                               manualSwitchToWork(2),    -- Manual Switch to Working-Entity
                               manualSwitchToProt(3),    -- Manual Switch to Protect-Entity
                               forceSwitchToWork(4),     -- Force Switch to Working-Entity
                               forceSwitchToProt(5),     -- Force Switch to Protect-Entity
                               lockout(6)                -- Lockout
                              }
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Protection Group Switch Commands."
      ::= { adGenMuxPProtGroupEntry 10 }

   adGenMuxPProtGroupWorkEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Working Entity Signal Status."
      ::= { adGenMuxPProtGroupEntry 11 }

   adGenMuxPProtGroupProtectEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Protect Entity Signal Status."
      ::= { adGenMuxPProtGroupEntry 12 }

    adGenMuxPProtGroupRevertiveEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Enables/disables revertive switching for this protection group."
      ::= { adGenMuxPProtGroupEntry 13 }

    adGenMuxPProtGroupWaitToRestoreTime OBJECT-TYPE
       SYNTAX         INTEGER (1..20)
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Wait to restore time(in minutes)."
      ::= { adGenMuxPProtGroupEntry 14 }

    adGenMuxPProtGroupTxK1Request OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        noRequest(2),
                        doNotRevert(3),
                        reverseRequest(4),
                        waitToRestore(5),
                        manualSwitch(6),
                        signalDegrade(7),
                        signalFail(8),
                        forceSwitch(9),
                        lockout(10),
                        reserved(11),
                        notSupported(12)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K1 byte Request."
        ::= { adGenMuxPProtGroupEntry 15 }

    adGenMuxPProtGroupTxK1RequestChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K1 byte Request Channel."
        ::= { adGenMuxPProtGroupEntry 16 }

    adGenMuxPProtGroupTxK2BridgeChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte Bridge Channel."
        ::= { adGenMuxPProtGroupEntry 17 }

    adGenMuxPProtGroupTxK2APSArchitecture OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        notProtected(2),
                        onePlusOne(3),
                        oneToOne(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte APS Architecture."
        ::= { adGenMuxPProtGroupEntry 18 }

    adGenMuxPProtGroupTxK2APSMode OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        unidirectional(2),
                        bidirectional(3),
                        aisL(4),
                        rdiL(5),
                        msAis(6),  -- SDH
                        msRdi(7),  -- SDH
                        reserved(8)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte APS Mode."
        ::= { adGenMuxPProtGroupEntry 19 }

    adGenMuxPProtGroupRxK1Request OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        noRequest(2),
                        doNotRevert(3),
                        reverseRequest(4),
                        waitToRestore(5),
                        manualSwitch(6),
                        signalDegrade(7),
                        signalFail(8),
                        forceSwitch(9),
                        lockout(10),
                        reserved(11),
                        notSupported(12)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K1 byte Request.  If notAvailable is returned, then the following OIDs are not valid:
                adGenMuxPProtGroupRxK1RequestChannel, adGenMuxPProtGroupRxK2BridgeChannel,
                adGenMuxPProtGroupRxK2APSArchitecture, and adGenMuxPProtGroupRxK2APSMode."
        ::= { adGenMuxPProtGroupEntry 20 }

    adGenMuxPProtGroupRxK1RequestChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K1 byte Request Channel."
        ::= { adGenMuxPProtGroupEntry 21 }

    adGenMuxPProtGroupRxK2BridgeChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte Bridge Channel."
        ::= { adGenMuxPProtGroupEntry 22 }

    adGenMuxPProtGroupRxK2APSArchitecture OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        notProtected(2),
                        onePlusOne(3),
                        oneToOne(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte APS Architecture."
        ::= { adGenMuxPProtGroupEntry 23 }

    adGenMuxPProtGroupRxK2APSMode OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        unidirectional(2),
                        bidirectional(3),
                        aisL(4),
                        rdiL(5),
                        msAis(6),  -- SDH
                        msRdi(7),  -- SDH
                        reserved(8)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte APS Mode."
        ::= { adGenMuxPProtGroupEntry 24 }

   adGenMuxPProtGroupOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Protection Group.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPProtGroupStatusString is used to indicate why the  operational status
          is 'down'."
      ::= { adGenMuxPProtGroupEntry 25 }

   adGenMuxPProtGroupStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the protection group.  Indicates
          why the protection group is down.  If protection group is up,
          then a blank string will be returned."
      ::= { adGenMuxPProtGroupEntry 26 }

   adGenMuxPProtGroupWaitToRestoreRemainingTime OBJECT-TYPE
       SYNTAX         Unsigned32(0..1200)
       UNITS          "seconds"
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The remaining time(in seconds) to restore the entity when wait to restore is enabled."
      ::= { adGenMuxPProtGroupEntry 27 }


   adGenMuxPProtGroupLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Protection Group Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a protection group."
      ::= { adGenMuxPProtGroupProv 2 }

   adGenMuxPProtGroupLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Protection Group Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPProtGroupLastCreateErrorTable 1 }

   AdGenMuxPProtGroupLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPProtGroupLastCreateError
            DisplayString
      }

   adGenMuxPProtGroupLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection group."
      ::= { adGenMuxPProtGroupLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Ethernet Protection Groups
--
-- *****************************************************************************

   adGenMuxPEthernetProtGroupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPEthernetProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Ethernet Protection Group table.  This table is used
         to create protection groups between two Ethernet interfaces."
      ::= { adGenMuxPProtGroupProv 3 }

   adGenMuxPEthernetProtGroupEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPEthernetProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Ethernet Protection Group table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenMuxPEthernetProtGroupName }
      ::= { adGenMuxPEthernetProtGroupTable 1 }

   AdGenMuxPEthernetProtGroupEntry ::=
      SEQUENCE {
         adGenMuxPEthernetProtGroupName
            DisplayString,
         adGenMuxPEthernetProtGroupType
            INTEGER,
         adGenMuxPEthernetProtGroupWorkingType
            EthernetPayloadTypes,
         adGenMuxPEthernetProtGroupWorkingIfIndex
            InterfaceIndex,
         adGenMuxPEthernetProtGroupProtectingType
            EthernetPayloadTypes,
         adGenMuxPEthernetProtGroupProtectingIfIndex
            InterfaceIndex,
         adGenMuxPEthernetProtGroupRowStatus
            RowStatus,
         adGenMuxPEthernetProtGroupLastProvError
            DisplayString,
         adGenMuxPEthernetProtGroupOperStatus
            INTEGER,
         adGenMuxPEthernetProtGroupStatusString
            DisplayString,
         adGenMuxPEthernetProtGroupWorkIsOnline
            TruthValue,
         adGenMuxPEthernetProtGroupSwitchCommands
            INTEGER,
         adGenMuxPEthernetProtGroupWorkEntityStatus
            INTEGER,
         adGenMuxPEthernetProtGroupProtectEntityStatus
            INTEGER,
         adGenMuxPEthernetProtGroupRevertiveEnable
            TruthValue,
         adGenMuxPEthernetProtGroupWaitToRestoreTime
            INTEGER,
         adGenMuxPEthernetProtGroupWaitToRestoreRemainingTime
            Unsigned32
      }

   adGenMuxPEthernetProtGroupName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Protection Group name."
      ::= { adGenMuxPEthernetProtGroupEntry 1 }

   adGenMuxPEthernetProtGroupType OBJECT-TYPE
      SYNTAX INTEGER {
                       yCable(1)  -- The transmitter of the working and protect interfaces are connected via Y-Cable
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Protection Group type."
      ::= { adGenMuxPEthernetProtGroupEntry 2 }

   adGenMuxPEthernetProtGroupWorkingType OBJECT-TYPE
      SYNTAX EthernetPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the working entity."
      ::= { adGenMuxPEthernetProtGroupEntry 3 }

   adGenMuxPEthernetProtGroupWorkingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the working entity."
      ::= { adGenMuxPEthernetProtGroupEntry 4 }

   adGenMuxPEthernetProtGroupProtectingType OBJECT-TYPE
      SYNTAX EthernetPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the protecting entity."
      ::= { adGenMuxPEthernetProtGroupEntry 5 }

   adGenMuxPEthernetProtGroupProtectingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the protecting entity."
      ::= { adGenMuxPEthernetProtGroupEntry 6 }

   adGenMuxPEthernetProtGroupRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Protection Group Row Status."
      ::= { adGenMuxPEthernetProtGroupEntry 7 }

   adGenMuxPEthernetProtGroupLastProvError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPEthernetProtGroupEntry 8 }

   adGenMuxPEthernetProtGroupOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Protection Group.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPEthernetProtGroupStatusString is used to indicate why the operational
          status is 'down'."
      ::= { adGenMuxPEthernetProtGroupEntry 9 }

   adGenMuxPEthernetProtGroupStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the protection group.  Indicates
          why the protection group is down.  If protection group is up,
          then a blank string will be returned."
      ::= { adGenMuxPEthernetProtGroupEntry 10 }

   adGenMuxPEthernetProtGroupWorkIsOnline OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Indicates whether or not the working-entity is online.  If not,
          the protect-entity is online."
      ::= { adGenMuxPEthernetProtGroupEntry 11 }

   adGenMuxPEthernetProtGroupSwitchCommands OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),                 -- Clear/Idle
                               manualSwitchToWork(2),    -- Manual Switch to Working-Entity
                               manualSwitchToProt(3),    -- Manual Switch to Protect-Entity
                               forceSwitchToWork(4),     -- Force Switch to Working-Entity
                               forceSwitchToProt(5),     -- Force Switch to Protect-Entity
                               lockout(6)                -- Lockout
                              }
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Protection Group Switch Commands."
      ::= { adGenMuxPEthernetProtGroupEntry 12 }

   adGenMuxPEthernetProtGroupWorkEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Working Entity Signal Status."
      ::= { adGenMuxPEthernetProtGroupEntry 13 }

   adGenMuxPEthernetProtGroupProtectEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Protect Entity Signal Status."
      ::= { adGenMuxPEthernetProtGroupEntry 14 }

    adGenMuxPEthernetProtGroupRevertiveEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Enables/disables revertive switching for this protection group."
      ::= { adGenMuxPEthernetProtGroupEntry 15 }

    adGenMuxPEthernetProtGroupWaitToRestoreTime OBJECT-TYPE
       SYNTAX         INTEGER (1..20)
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Wait to restore time(in minutes)."
      ::= { adGenMuxPEthernetProtGroupEntry 16 }

    adGenMuxPEthernetProtGroupWaitToRestoreRemainingTime OBJECT-TYPE
       SYNTAX         Unsigned32(0..1200)
       UNITS          "seconds"
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "The remaining time(in seconds) to restore the entity when wait to restore is enabled."
      ::= { adGenMuxPEthernetProtGroupEntry 17 }

-- *****************************************************************************
--
-- Ethernet Protection Groups Last Create Error Table
--
-- *****************************************************************************

   adGenMuxPEthernetProtGroupLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPEthernetProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Ethernet Protection Group Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a protection group."
      ::= { adGenMuxPProtGroupProv 4 }

   adGenMuxPEthernetProtGroupLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPEthernetProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Ethernet Protection Group Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPEthernetProtGroupLastCreateErrorTable 1 }

   AdGenMuxPEthernetProtGroupLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPEthernetProtGroupLastCreateError
            DisplayString
      }

   adGenMuxPEthernetProtGroupLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection group."
      ::= { adGenMuxPEthernetProtGroupLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Link Aggregation Group
--
-- *****************************************************************************
adGenMuxPLagGroupTable         OBJECT-TYPE
          SYNTAX         SEQUENCE OF AdGenMuxPLagGroupEntry
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "The Link Aggregation Group table."
          ::= { adGenMuxPLagGroupProv 1}

adGenMuxPLagGroupEntry         OBJECT-TYPE
          SYNTAX         AdGenMuxPLagGroupEntry
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "An entry in the Link Aggregation Group table.
            The indexing is per the LAG interface index.
            The IANA type is linegroup (210)."
          INDEX { ifIndex }
          ::= { adGenMuxPLagGroupTable 1 }

   AdGenMuxPLagGroupEntry    ::= SEQUENCE  {
        adGenMuxPLagGroupRowStatus             RowStatus,
        adGenMuxPLagGroupOperStatus            INTEGER,
        adGenMuxPLagGroupNumber                Integer32,
        adGenMuxPLagGroupName                  DisplayString,
        adGenMuxPLagGroupMaxNumCfgLinks        Integer32,
        adGenMuxPLagGroupNumCfgLinks           Integer32,
        adGenMuxPLagGroupMinNumActLinks        Integer32,
        adGenMuxPLagGroupNumActLinks           Integer32,
        adGenMuxPLagGroupLastChange            TimeTicks,
        adGenMuxPLagGroupLastError             DisplayString,
        adGenMuxPLagGroupMinActLinkAlarmEnable TruthValue
   }

adGenMuxPLagGroupRowStatus  OBJECT-TYPE
          SYNTAX         RowStatus
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "This object is used to create a new row or modify or delete an
            existing row in this table. Setting this value to 'active'
            indicates that the LAG is administratively In-Service.
            Setting this value to 'notInService' indicates that the
            LAG is administratively 'Out-Of-Service'"
          ::= { adGenMuxPLagGroupEntry 1 }

adGenMuxPLagGroupOperStatus    OBJECT-TYPE
        SYNTAX   INTEGER {
           up(1),
           down(2)
           }
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The current operational status of the local end of the LAG."
          ::= { adGenMuxPLagGroupEntry 2 }

adGenMuxPLagGroupNumber OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The LAG number n, where n is between 1 and the maximum number
            of LAG groups."
          ::= { adGenMuxPLagGroupEntry 3 }

adGenMuxPLagGroupName OBJECT-TYPE
          SYNTAX         DisplayString(SIZE (1..50))
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "The textual name given to this LAG."
          ::= { adGenMuxPLagGroupEntry 4 }

adGenMuxPLagGroupMaxNumCfgLinks OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "The maximum number of ports that may be configured
            on this LAG group."
          ::= { adGenMuxPLagGroupEntry 5 }

adGenMuxPLagGroupNumCfgLinks OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The actual number of ports configured on this LAG group."
          ::= { adGenMuxPLagGroupEntry 6 }

adGenMuxPLagGroupMinNumActLinks OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "The minimum number of active port links that have
            to be mapped to this LAG before the OperStatus
            of the LAG can be declared 'up'.
            If the active number ever drops below this number
            then the LAG will enter an OperStatus of 'down'"
          ::= { adGenMuxPLagGroupEntry 7 }

adGenMuxPLagGroupNumActLinks OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The actual number of active port links that are 'up'."
          ::= { adGenMuxPLagGroupEntry 8 }

adGenMuxPLagGroupLastChange OBJECT-TYPE
          SYNTAX         TimeTicks
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The value of sysUpTime at the time this
            LAG group entered its current operational state."
          ::= { adGenMuxPLagGroupEntry 9 }

adGenMuxPLagGroupLastError OBJECT-TYPE
          SYNTAX         DisplayString
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The string describing the last error experienced."
          ::= { adGenMuxPLagGroupEntry 10 }

adGenMuxPLagGroupMinActLinkAlarmEnable OBJECT-TYPE
          SYNTAX         TruthValue
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "Enable or disable the minimum active links alarm for this link aggregation group."
          DEFVAL {true}
          ::= { adGenMuxPLagGroupEntry 11 }



-- *****************************************************************************
--
-- Lag Group Last Create Error table
--
-- *****************************************************************************
   adGenMuxPLagGroupLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPLagGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder LAG Group Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a LAG group."
      ::= { adGenMuxPLagGroupProv 2}

   adGenMuxPLagGroupLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPLagGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder LAG Group Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPLagGroupLastCreateErrorTable 1 }

   AdGenMuxPLagGroupLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPLagGroupLastCreateError   DisplayString
      }

   adGenMuxPLagGroupLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a LAG."
      ::= { adGenMuxPLagGroupLastCreateErrorEntry 1 }




-- *****************************************************************************
--
-- Link Aggregation Group Port Map
--
-- *****************************************************************************
adGenMuxPLagPortMapTable OBJECT-TYPE
          SYNTAX         SEQUENCE OF AdGenMuxPLagPortMapEntry
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "Row creation adds/maps a physical port to a LAG."
          ::= { adGenMuxPLagGroupProv 3 }

 adGenMuxPLagPortMapEntry OBJECT-TYPE
          SYNTAX       AdGenMuxPLagPortMapEntry
          MAX-ACCESS   not-accessible
          STATUS       current
          DESCRIPTION
           "An entry in the Port Map table.
            This entry associates one port with a LAG.
            Indexing is via LAG interface index and faceplate
            port interface index."
        INDEX { ifIndex, adGenMuxPLagPortMapPort }
          ::= { adGenMuxPLagPortMapTable 1 }

     AdGenMuxPLagPortMapEntry ::= SEQUENCE {
          adGenMuxPLagPortMapPort                InterfaceIndex,
          adGenMuxPLagPortMapRowStatus           RowStatus,
          adGenMuxPLagPortMapOperStatus          INTEGER,
          adGenMuxPLagPortMapLagNumber           Integer32,
          adGenMuxPLagPortMapPortNumber          Integer32,
          adGenMuxPLagPortMapLastChange          TimeTicks,
          adGenMuxPLagPortMapLastError           DisplayString
          }

adGenMuxPLagPortMapPort  OBJECT-TYPE
          SYNTAX         InterfaceIndex
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "Faceplate port interface index."
          ::= { adGenMuxPLagPortMapEntry 1 }

adGenMuxPLagPortMapRowStatus  OBJECT-TYPE
          SYNTAX         RowStatus
          MAX-ACCESS     read-create
          STATUS         current
          DESCRIPTION
           "This object is used to create a new row or delete an
            existing row in this table. Setting this value to createAndGo
            adds the port to the LAG.  Setting this value to destroy
            removes the port from the LAG (and the table row).  Ports that
            are members of a LAG return a value of active when read.
            The value of this object does not affect the physical port."
          ::= { adGenMuxPLagPortMapEntry 2 }

adGenMuxPLagPortMapOperStatus    OBJECT-TYPE
        SYNTAX   INTEGER {
           up(1),
           down(2)
           }
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The current operational status of the LAG-Port mapping
            indicating if the physical port is actively participating
            in the LAG. This can be down if the row status of the LAG
            is down, or the physical port is down."
          ::= { adGenMuxPLagPortMapEntry 3}

adGenMuxPLagPortMapLagNumber OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The LAG number n, where n is between 1 and the maximum number
            of LAG groups."
          ::= { adGenMuxPLagPortMapEntry 4}

adGenMuxPLagPortMapPortNumber OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The faceplate port number n, where n is between 1 and the number
            of faceplate ports."
          ::= { adGenMuxPLagPortMapEntry 5}

adGenMuxPLagPortMapLastChange    OBJECT-TYPE
          SYNTAX         TimeTicks
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The value of sysUpTime at the time this LAG-Port mapping entered
           its current operational state."
          ::= { adGenMuxPLagPortMapEntry 6 }

adGenMuxPLagPortMapLastError OBJECT-TYPE
          SYNTAX         DisplayString
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The string describing the last error experienced."
          ::= { adGenMuxPLagPortMapEntry 7 }


-- *****************************************************************************
--
-- Lag Port map Last Create Error table
--
-- *****************************************************************************
   adGenMuxPLagPortMapLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPLagPortMapLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
        "The Muxponder LAG-Port Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a LAG-Port map."
      ::= { adGenMuxPLagGroupProv 4}

   adGenMuxPLagPortMapLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPLagPortMapLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder LAG-Port Last Create Error table.
          The table is indexed by the LAG group for which the port create failed."
      INDEX  { ifIndex }
      ::= { adGenMuxPLagPortMapLastCreateErrorTable 1 }

   AdGenMuxPLagPortMapLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPLagPortMapLastCreateError   DisplayString
      }

   adGenMuxPLagPortMapLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a LAG."
      ::= { adGenMuxPLagPortMapLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Link Port Status Table
--
-- *****************************************************************************
adGenMuxPLagPortStatusTable         OBJECT-TYPE
          SYNTAX         SEQUENCE OF AdGenMuxPLagPortStatusEntry
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "Displays the status of the available ports in the system,
                 including which LAG group (if any) a port is associated."
          ::= { adGenMuxPLagGroupProv 5}

adGenMuxPLagPortStatusEntry         OBJECT-TYPE
          SYNTAX         AdGenMuxPLagPortStatusEntry
          MAX-ACCESS     not-accessible
          STATUS         current
          DESCRIPTION
           "An entry in the Port Status table.
                 Each entry is represents one port."
          INDEX { ifIndex }
          ::= { adGenMuxPLagPortStatusTable 1 }

   AdGenMuxPLagPortStatusEntry    ::= SEQUENCE  {
        adGenMuxPLagPortStatusLagIfIndex         Integer32,
        adGenMuxPLagPortStatusOperStatus         INTEGER
   }

adGenMuxPLagPortStatusLagIfIndex OBJECT-TYPE
          SYNTAX         Integer32
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The ifIndex value of the LAG group of which this
                 port is apart. A value of '0' indicates that the port
            is currently not mapped to any LAG group.  IANA type
            should be linegroup(210)."
          ::= { adGenMuxPLagPortStatusEntry 1 }


adGenMuxPLagPortStatusOperStatus    OBJECT-TYPE
        SYNTAX   INTEGER {
           up(1),
           down(2)
           }
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
           "The current operational status of the LAG-Port mapping
            indicating if the physical port is actively participating
            in the LAG. This can be down if the row status of the LAG
            is down, or the physical port is down.
            This status should match the adGenMuxPLagPortMapOperStatus
            of the corresponding row in the adGenMuxPLagPortMapTable."
          ::= { adGenMuxPLagPortStatusEntry 2 }


-- *****************************************************************************
--
-- Muxponder Timing Provisioning Table
--
-- *****************************************************************************
   adGenMuxPTimingProvTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF AdGenMuxPTimingProvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The Muxponder Timing provisioning table."
      ::= { adGenMuxPTimingProv 1 }

   adGenMuxPTimingProvEntry OBJECT-TYPE
      SYNTAX      AdGenMuxPTimingProvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "An entry in the Muxponder Timing provisioning table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPTimingProvTable 1 }

   AdGenMuxPTimingProvEntry ::=
      SEQUENCE {
         adGenMuxPTimingPrimarySourceSelection          INTEGER,
         adGenMuxPTimingPrimarySourceInterface          InterfaceIndexOrZero,
         adGenMuxPTimingSecondarySourceSelection        INTEGER,
         adGenMuxPTimingSecondarySourceInterface        InterfaceIndexOrZero,
         adGenMuxPTimingAlarmEnablePrimaryFailed        TruthValue,
         adGenMuxPTimingAlarmEnableSecondaryFailed      TruthValue,
         adGenMuxPTimingAlarmEnableHoldover             TruthValue,
         adGenMuxPTimingReceiveSSMEnable                INTEGER,
         adGenMuxPTimingForceClockFailover              INTEGER,
         adGenMuxPTimingRevertiveSwitchType             INTEGER,
         adGenMuxPTimingLastError                       DisplayString,
         adGenMuxPTimingSystemTimingType                INTEGER
      }

   adGenMuxPTimingPrimarySourceSelection OBJECT-TYPE
       SYNTAX     INTEGER {
                           system(1),
                           interface(2),
                           interfaceFixed(3)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The timing source selection for the primary timing source. If the timing
          source selection is an Interface or InterfaceFixed, the interface index
          must be provisioned using the adGenMuxPTimingPrimarySourceInterface OID.
          The timing source selection options are:

          system(1)         - When this option is selected, timing is derived from the system.

          interface(2)      - When this option is selected as a timing source on a standalone card,
                              timing is derived from the specified interface. When specified for a
                              redundant pair of cards, timing is derived from the online interface
                              and timing source will move during a failover event.

          interfaceFixed(3) - When this option is selected as a timing source on a standalone card
                              or a redundant pair of cards, timing is derived from the specified interface.
                              The timing source remains fixed and will not move during a failover event."
      ::= { adGenMuxPTimingProvEntry 1 }

   adGenMuxPTimingPrimarySourceInterface OBJECT-TYPE
      SYNTAX      InterfaceIndexOrZero
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The interface index for the primary timing source. If the primary timing source
          selection is an Interface or InterfaceFixed, set this variable to the interface
          index from where the timing will be derived. This variable is ignored when timing
          is derived from the system."
      ::= { adGenMuxPTimingProvEntry 2 }

   adGenMuxPTimingSecondarySourceSelection OBJECT-TYPE
       SYNTAX     INTEGER {
                           system(1),
                           interface(2),
                           interfaceFixed(3)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The timing source selection for the secondary timing source. If the timing
          source selection is an Interface or InterfaceFixed, the interface index
          must be provisioned using the adGenMuxPTimingSecondarySourceInterface OID.
          The timing source selection options are:

          system(1)         - When this option is selected, timing is derived from the system.

          interface(2)      - When this option is selected as a timing source on a standalone card,
                              timing is derived from the specified interface. When specified for a
                              redundant pair of cards, timing is derived from the online interface
                              and timing source will move during a failover event.

          interfaceFixed(3) - When this option is selected as a timing source on a standalone card
                              or a redundant pair of cards, timing is derived from the specified interface.
                              The timing source remains fixed and will not move during a failover event."
      ::= { adGenMuxPTimingProvEntry 3 }

   adGenMuxPTimingSecondarySourceInterface OBJECT-TYPE
      SYNTAX      InterfaceIndexOrZero
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "The interface index for the secondary timing source. If the secondary timing source
          selection is an Interface or InterfaceFixed, set this variable to the interface
          index from where the timing will be derived. This variable is ignored when timing
          is derived from the system."
      ::= { adGenMuxPTimingProvEntry 4 }

   adGenMuxPTimingAlarmEnablePrimaryFailed OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This variable indicates the primary timing source failed alarm flag.
          Setting  this variable to true will generate an alarm when the primary
          timing source fails."
      ::= { adGenMuxPTimingProvEntry 5 }

   adGenMuxPTimingAlarmEnableSecondaryFailed OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This variable indicates the secondary timing source failed alarm flag.
          Setting  this variable to true will generate an alarm when the secondary
          timing source fails."
      ::= { adGenMuxPTimingProvEntry 6 }

   adGenMuxPTimingAlarmEnableHoldover OBJECT-TYPE
      SYNTAX      TruthValue
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This variable indicates the holdover alarm flag. Setting this variable
          to true will generate an alarm when both the primary and secondary
          timing source fails and the system switches to internal timing."
      ::= { adGenMuxPTimingProvEntry 7 }

   adGenMuxPTimingReceiveSSMEnable OBJECT-TYPE
      SYNTAX      INTEGER {
                           enable(1),
                           disable(2)
                          }
      MAX-ACCESS  read-write
      STATUS      deprecated
      DESCRIPTION
         "This variable indicates the clock selection process as described in
         ITU-T standard G.781 section 5.12.

         If set to enable, then the incoming SSM messages are enabled for clock
         selection (not applicable if clock source is System). The selected
         clock's incoming SSM is passed through as the global TX SSM.

         If set to disable, then the incoming SSM messages are ignored for clock
         selection. The global TX SSM in this case is Unknown.

         This object is deprecated. Use adGenMuxPTimingRevertiveSwitchType instead."
      DEFVAL { disable }
      ::= { adGenMuxPTimingProvEntry 8 }

   adGenMuxPTimingForceClockFailover    OBJECT-TYPE
      SYNTAX     INTEGER {
                          failOver(1),
                          notAvailable(2)
                         }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "Writing 1 to this object will cause the clock source to failover."
      ::= { adGenMuxPTimingProvEntry 9 }

   adGenMuxPTimingRevertiveSwitchType OBJECT-TYPE
      SYNTAX      INTEGER {
                           ssm(1),
                           none(2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This variable indicates the clock selection process as described in
         ITU-T standard G.781 section 5.12.

         If set to ssm, then the incoming SSM messages are enabled for clock
         selection (not applicable if clock source is System). The selected
         clock's incoming SSM is passed through as the global TX SSM.

         If set to none, then the incoming SSM messages are ignored for clock
         selection. The global TX SSM in this case is Unknown."
      ::= { adGenMuxPTimingProvEntry 10 }

   adGenMuxPTimingLastError OBJECT-TYPE
      SYNTAX         DisplayString
      MAX-ACCESS     read-only
      STATUS         current
      DESCRIPTION
         "The string describing the last error experienced during provisioning changes."
      ::= { adGenMuxPTimingProvEntry 11 }

   adGenMuxPTimingSystemTimingType OBJECT-TYPE
      SYNTAX      INTEGER {
                           none(1),
                           loopA(2),
                           loopB(3)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This variable indicates the type of the system timing generated by the module.
          If set to loopA/loopB, the module will provide packet based timing references
          to the system. The module can only be configured to provide either loopA or
          loopB timing reference and not both.

          Some access modules can provide card level packet based timing reference to
          the system. These reference sources are referred as Loop A and Loop B packet
          references. Only two such sources, Loop A and Loop B, should exist within the
          system at any given time.

          The source(s) for the card level timing is provisioned on each access module
          that desires to provide timing. Separate OIDs are used for this provisioning.

          The phase difference between the system backplane timing and the card timing
          reference is then computed by the detector hardware. The access module reads
          the phase difference value from the detector and formats a timing packet for
          transmission to the system."

      DEFVAL  { none }
      ::= { adGenMuxPTimingProvEntry 12 }

-- *****************************************************************************
--
-- Muxponder Timing Port Provisioning Table
--
-- *****************************************************************************
   adGenMuxPTimingProvPortTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF AdGenMuxPTimingProvPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The Muxponder Timing port provisioning table."
      ::= { adGenMuxPTimingProv 2 }

   adGenMuxPTimingProvPortEntry OBJECT-TYPE
      SYNTAX      AdGenMuxPTimingProvPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "An entry in the Muxponder Timing port provisioning table."
      INDEX  { ifIndex }
      ::= { adGenMuxPTimingProvPortTable 1 }

   AdGenMuxPTimingProvPortEntry ::=
      SEQUENCE {
         adGenMuxPTimingTransmitSSMEnable       INTEGER,
         adGenMuxPTimingEsmcType                INTEGER
      }

   adGenMuxPTimingTransmitSSMEnable OBJECT-TYPE
      SYNTAX      INTEGER {
                           enable(1),
                           disable(2)
                          }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This object indicates if SSM transmission is enabled/disabled on a port."
      DEFVAL { disable }
      ::= { adGenMuxPTimingProvPortEntry 1 }

   adGenMuxPTimingEsmcType OBJECT-TYPE
      SYNTAX     INTEGER {
                          syncEECOption1(1),
                          syncEECOption2(2)
                         }
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "This object is applicable only to SyncE interfaces.

         This variable indicates the ESMC type(EEC options) selected for the port.
         The EEC (Ethernet Equipment Clock) options are for Synchronous Ethernet devices
         and define the requirements for clocks, e.g. bandwidth, frequency accuracy,
         holdover and noise generation.

         Two options are defined:
         EEC-Option 1: Designed to interwork with network optimized for the 2048 kbit/s hierarchy.

         EEC-Option 2: Designed to interwork with network optimized for the 1544 kbit/s hierarchy."
      DEFVAL { syncEECOption2 }
      ::= { adGenMuxPTimingProvPortEntry 2 }

-- *****************************************************************************
--
-- Muxponder Timing Status Table
--
-- *****************************************************************************
   adGenMuxPTimingStatusTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF AdGenMuxPTimingStatusEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "The Muxponder Timing status table."
      ::= { adGenMuxPTimingStatus 1 }

   adGenMuxPTimingStatusEntry OBJECT-TYPE
      SYNTAX      AdGenMuxPTimingStatusEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "An entry in the Muxponder Timing status table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPTimingStatusTable 1 }

   AdGenMuxPTimingStatusEntry ::=
      SEQUENCE {
         adGenMuxPTimingCurrentSourceType               INTEGER,
         adGenMuxPTimingPrimarySourceHealth             INTEGER,
         adGenMuxPTimingSecondarySourceHealth           INTEGER,
         adGenMuxPTimingPrimarySourceRxSSM              DisplayString,
         adGenMuxPTimingSecondarySourceRxSSM            DisplayString,
         adGenMuxPTimingTxSSM1                          DisplayString,
         adGenMuxPTimingTxSSM2                          DisplayString
      }

   adGenMuxPTimingCurrentSourceType OBJECT-TYPE
      SYNTAX      INTEGER {
                           primary(1),
                           secondary(2),
                           internal(3)
                          }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Displays which timing source is currently in use by the system."
      ::= { adGenMuxPTimingStatusEntry 1 }

   adGenMuxPTimingPrimarySourceHealth OBJECT-TYPE
      SYNTAX      INTEGER {
                           up(1),
                           down(2)
                          }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Displays the health of the primary timing source."
      ::= { adGenMuxPTimingStatusEntry 2 }

   adGenMuxPTimingSecondarySourceHealth OBJECT-TYPE
      SYNTAX      INTEGER {
                           up(1),
                           down(2)
                          }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "Displays the health of the secondary timing source."
      ::= { adGenMuxPTimingStatusEntry 3 }

   adGenMuxPTimingPrimarySourceRxSSM  OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
                 "This variable indicates the SSM value received by the primary clock source."
      ::= { adGenMuxPTimingStatusEntry 4 }

   adGenMuxPTimingSecondarySourceRxSSM  OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
                 "This variable indicates the SSM value received by the secondary clock source."
          ::= { adGenMuxPTimingStatusEntry 5 }

   adGenMuxPTimingTxSSM1  OBJECT-TYPE
      SYNTAX      DisplayString
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "This variable indicates the SSM value transmitted by E1 Optimized(SDH) or
         SyncE EEC-Option 1 ports."
          ::= { adGenMuxPTimingStatusEntry 6 }

   adGenMuxPTimingTxSSM2  OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
         "This variable indicates the SSM value transmitted by T1 Optimized(SONET) or
         SyncE EEC-Option 2 ports."
          ::= { adGenMuxPTimingStatusEntry 7 }


-- *****************************************************************************
--
-- Muxponder Physical Peer Provisioning Table
--
-- *****************************************************************************
adGenMuxPPhysPeerProvTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPPhysPeerProvEntry
      MAX-ACCESS  not-accessible
      STATUS  deprecated
      DESCRIPTION
         "The Muxponder Physical Peer Provisioning table. This table is used to
         configure physical port connection information of bi-directional ports.

         This table is deprecated. Use adGenPeerAdjacencyPhysicalTable in
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB for configuring physical peer."
      ::= { adGenMuxPPhysPeerProv 1 }

   adGenMuxPPhysPeerProvEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPPhysPeerProvEntry
      MAX-ACCESS  not-accessible
      STATUS  deprecated
      DESCRIPTION
         "An entry in the Muxponder Physical Peer Provisioning table."
      INDEX  { ifIndex }
      ::= { adGenMuxPPhysPeerProvTable 1 }

   AdGenMuxPPhysPeerProvEntry ::=
      SEQUENCE {
         adGenMuxPPhysPeerOneIpAddressTx
            IpAddress,
         adGenMuxPPhysPeerOneIpAddressRx
            IpAddress,
         adGenMuxPPhysPeerOneChassisIdTx
            DisplayString,
         adGenMuxPPhysPeerOneChassisIdRx
            DisplayString,
         adGenMuxPPhysPeerOnePortIdTx
            DisplayString,
         adGenMuxPPhysPeerOnePortIdRx
            DisplayString,
         adGenMuxPPhysPeerTwoIpAddressTx
            IpAddress,
         adGenMuxPPhysPeerTwoIpAddressRx
            IpAddress,
         adGenMuxPPhysPeerTwoChassisIdTx
            DisplayString,
         adGenMuxPPhysPeerTwoChassisIdRx
            DisplayString,
         adGenMuxPPhysPeerTwoPortIdTx
            DisplayString,
         adGenMuxPPhysPeerTwoPortIdRx
            DisplayString
      }

   adGenMuxPPhysPeerOneIpAddressTx OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This variable is used to indicate the IP address of the peer device connected
         to the Transmit component of a bi-directional interface.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOneIpAddressTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 1 }

   adGenMuxPPhysPeerOneIpAddressRx OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This variable is used to indicate the IP address of the peer device connected
         to the Receive component of a bi-directional interface.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOneIpAddressRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 2 }

   adGenMuxPPhysPeerOneChassisIdTx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to indicate the chassis name of the peer device connected
         to the Transmit component of a bi-directional interface. It is recommended to use
         the peer device TID as the chassis name.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOneChassisIdTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 3 }

   adGenMuxPPhysPeerOneChassisIdRx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to indicate the chassis name of the peer device connected
         to the Receive component of a bi-directional interface. It is recommended to use
         the peer device TID as the chassis name.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOneChassisIdRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 4 }

   adGenMuxPPhysPeerOnePortIdTx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to specify the port identification of the peer device connected
         to the Transmit component of a bi-directional interface. It is recommended to specify
         the interface type of the peer port along with the shelf/slot/port information for the
         peer device port identification string.

         Examples: gigabit-ethernet 1/0/1
                    passive-optical 1/5.1/2
                    muxponder-midpseed 1/5/10
                    muxponder-highspeed 1/5/2

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOnePortIdTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 5 }

   adGenMuxPPhysPeerOnePortIdRx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This string is used to specify the port identification of the peer device connected
         to the Receive component of a bi-directional interface. It is recommended to specify
         the interface type of the peer port along with the shelf/slot/port information for the
         peer device port identification string.

         Examples: gigabit-ethernet 1/0/1
                    passive-optical 1/5.1/2
                    muxponder-midpseed 1/5/10
                    muxponder-highspeed 1/5/2

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalOnePortIdRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 6 }

   adGenMuxPPhysPeerTwoIpAddressTx OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable. This variable is used to indicate the IP address of the peer device
         connected to the Transmit component of a bi-directional interface.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoIpAddressTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 7 }

   adGenMuxPPhysPeerTwoIpAddressRx OBJECT-TYPE
      SYNTAX IpAddress
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable.This variable is used to indicate the IP address of the peer device
         connected to the Receive component of a bi-directional interface.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoIpAddressRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 8 }

   adGenMuxPPhysPeerTwoChassisIdTx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable. This string is used to indicate the chassis name of the peer device
         connected to the Transmit component of a bi-directional interface. It is recommended
         to use the peer device TID as the chassis name.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoChassisIdTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 9 }

   adGenMuxPPhysPeerTwoChassisIdRx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable. This string is used to indicate the chassis name of the peer device
         connected to the Receive component of a bi-directional interface. It is recommended
         to use the peer device TID as the chassis name.

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoChassisIdRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 10 }

   adGenMuxPPhysPeerTwoPortIdTx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable. This string is used to specify the port identification of the peer device
         connected to the Transmit component of a bi-directional interface.  It is recommended to
         specify the interface type of the peer port along with the shelf/slot/port information for
         the peer device port identification string.

         Examples: gigabit-ethernet 1/0/1
                    passive-optical 1/5.1/2
                    muxponder-midpseed 1/5/10
                    muxponder-highspeed 1/5/2

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoPortIdTx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 11 }

   adGenMuxPPhysPeerTwoPortIdRx OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-write
      STATUS deprecated
      DESCRIPTION
         "This object is applicable only when two peer devices are connected to the interface
         using a Y-cable. This string is used to specify the port identification of the peer device
         connected to the Receive component of a bi-directional interface.  It is recommended to
         specify the interface type of the peer port along with the shelf/slot/port information for
         the peer device port identification string.

         Examples: gigabit-ethernet 1/0/1
                    passive-optical 1/5.1/2
                    muxponder-midpseed 1/5/10
                    muxponder-highspeed 1/5/2

         This object is deprecated. Use OID adGenPeerAdjacencyPhysicalTwoPortIdRx from
         ADTRAN-GENERIC-PEER-ADJACENCY-MIB instead."
      ::= { adGenMuxPPhysPeerProvEntry 12 }


-- *****************************************************************************
--
-- Muxponder Interface Status
--
-- *****************************************************************************
   adGenMuxPIfStatusTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPIfStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Interface status table."
      ::= { adGenMuxPIfStatus 1 }

   adGenMuxPIfStatusEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPIfStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Interface status table."
      INDEX  { ifIndex }
      ::= { adGenMuxPIfStatusTable 1 }

   AdGenMuxPIfStatusEntry ::=
      SEQUENCE {
         adGenMuxPInterfacePortStatus
            BITS,
         adGenMuxPInterfacePortProtGrpName
            DisplayString
      }

    adGenMuxPInterfacePortStatus    OBJECT-TYPE
       SYNTAX BITS {
                   fault(0),
                   superordinateFault(1),
                   subordinateFault(2),
                   superordinateUnassigned(3),
                   subordinateInserviceOrMaintenance(4),
                   protected(5),
                   superordinateProtected(6),
                   subordinateProtected(7),
                   mapped(8),
                   reserved1(9),
                   subordinateMapped(10),
                   crossconnected(11),
                   reserved2(12),
                   subordinateCrossConnected(13),
                   online(14)
                  }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
              "Port status.
              The bit positions are:
               0 - this interface is in fault
               1 - at least one superordinate interface or equipment is in fault
               2 - at least one subordinate interface is in fault
               3 - superordinate interface or equipment is unassigned
               4 - at least one subordinate interface is Inservice or Maintenance
               5 - protected - This interface is part of a protection group
               6 - at least one superordinate interface is part of a protection group
               7 - at least one subordinate interface is part of a protection group
               8 - mapped - This interface is part of at least one mapping
               9 - reserved
              10 - at least one subordinate interface is mapped
              11 - cross-connected - This interface is part of at least one cross-connect
              12 - reserved
              13 - at least one subordinate interface is cross-connected
              14 - online - This interface is providing service"
       ::= { adGenMuxPIfStatusEntry 1 }

    adGenMuxPInterfacePortProtGrpName OBJECT-TYPE
       SYNTAX DisplayString (SIZE (1..50))
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The name of the protection group for this port.  If this port is not part of a
          protection group, this field will be blank."
       ::= { adGenMuxPIfStatusEntry 2 }



-- *****************************************************************************
--
-- Muxponder Mappings
--
-- *****************************************************************************
   adGenMuxPMappingTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMappingEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Mapping table."
      ::= { adGenMuxPMappingProv 1 }

   adGenMuxPMappingEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMappingEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Mapping table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenMuxPMappingName }
      ::= { adGenMuxPMappingTable 1 }

   AdGenMuxPMappingEntry ::=
      SEQUENCE {
         adGenMuxPMappingName
            DisplayString,
         adGenMuxPMappingType
            INTEGER,
         adGenMuxPMappingDirection
            INTEGER,
         adGenMuxPMappingSrcType
            MuxPPayloadTypes,
         adGenMuxPMappingSrcInterface
            MuxPMapInterface,
         adGenMuxPMappingDstType
            MuxPPayloadTypes,
         adGenMuxPMappingDstInterface
            MuxPMapInterface,
         adGenMuxPMappingRowStatus
            RowStatus,
         adGenMuxPMappingLastProvError
            DisplayString,
         adGenMuxPMappingOperStatus
            INTEGER,
         adGenMuxPMappingStatusString
            DisplayString
      }

   adGenMuxPMappingName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Mapping name."
      ::= { adGenMuxPMappingEntry 1 }

   adGenMuxPMappingType OBJECT-TYPE
      SYNTAX INTEGER {
                       bitTransparentSynchronous(1),
                       bitTransparentAsynchronous(2),
                       gfpfNontransparent(3),
                       gfpfSemitransparent(4),
                       gfptTransparent(5),
                       wis(6), -- WAN Interface Sublayer
                       passthrough(7),
                       crossconnect(8),
                       gmp(9)  -- Generice Mapping Procedure
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Mapping type."
      ::= { adGenMuxPMappingEntry 2 }

   adGenMuxPMappingDirection OBJECT-TYPE
      SYNTAX INTEGER {
                       twoWay(1),
                       oneWay(2)
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Mapping direction."
      ::= { adGenMuxPMappingEntry 3 }

   adGenMuxPMappingSrcType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the source
         endpoint."
      ::= { adGenMuxPMappingEntry 4 }

   adGenMuxPMappingSrcInterface OBJECT-TYPE
      SYNTAX MuxPMapInterface
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The interface of the source endpoint."
      ::= { adGenMuxPMappingEntry 5 }

   adGenMuxPMappingDstType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the destination
         endpoint."
      ::= { adGenMuxPMappingEntry 6 }

   adGenMuxPMappingDstInterface OBJECT-TYPE
      SYNTAX MuxPMapInterface
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The interface of the destination endpoint."
      ::= { adGenMuxPMappingEntry 7 }

   adGenMuxPMappingRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Mapping Row Status."
      ::= { adGenMuxPMappingEntry 8 }

   adGenMuxPMappingLastProvError OBJECT-TYPE
       SYNTAX         DisplayString
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPMappingEntry 9 }

   adGenMuxPMappingOperStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                             up(1),
                             down(2)
                           }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "Operation Status of the Mapping.  This operational status
          indicates whether or not the provisioning necessary for a mapping
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the source or destination interfaces.
          adGenMuxPMappingStatusString is used to indicate why the operational status
          is 'down'."
      ::= { adGenMuxPMappingEntry 10 }

   adGenMuxPMappingStatusString OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
          "The status string for the mapping.  Indicates
          why the mapping is down.  If the mapping is up,
          then a blank string will be returned."
      ::= { adGenMuxPMappingEntry 11 }


-- *****************************************************************************
--
-- Muxponder Mapping Last Create Error Table
--
-- *****************************************************************************
   adGenMuxPMappingLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMappingLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Mapping last create error table.
         Table that indicates the last error that occurred
         during creation of a mapping."
      ::= { adGenMuxPMappingProv 2 }

   adGenMuxPMappingLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMappingLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Mapping Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPMappingLastCreateErrorTable 1 }

   AdGenMuxPMappingLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPMappingLastCreateError
            DisplayString
      }

   adGenMuxPMappingLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         mapping."
      ::= { adGenMuxPMappingLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Muxponder Mapping Status Table
--
-- *****************************************************************************
   adGenMuxPPortMappingStatusTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPPortMappingStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Muxponder Port Mapping Status table."
      ::= { adGenMuxPMappingProv 3 }

   adGenMuxPPortMappingStatusEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPPortMappingStatusEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Muxponder Port Mapping Status table."
      INDEX  { ifIndex, adGenMuxPPortMappingName }
      ::= { adGenMuxPPortMappingStatusTable 1 }

   AdGenMuxPPortMappingStatusEntry ::=
      SEQUENCE {
         adGenMuxPPortMappingName
            DisplayString,
         adGenMuxPPortMappingStatus
            INTEGER
      }

   adGenMuxPPortMappingName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "Mapping name."
      ::= { adGenMuxPPortMappingStatusEntry 1 }

   adGenMuxPPortMappingStatus OBJECT-TYPE
      SYNTAX INTEGER {
                      source(1),
                      destination(2),
                      sourceAndDestination(3)
                     }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This OID indicates whether this port is defined as a source, destination or both for
         this mapping."
      ::= { adGenMuxPPortMappingStatusEntry 2 }


-- *****************************************************************************
--
-- Multi Protection Groups
--
-- *****************************************************************************

   adGenMuxPMultiProtGroupTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Protection Group table.  This table is used
         to create multi protection groups.  A multi-protection group
         defines a set of protection pairs in which their switching logic
         is linked causing them to all switch at the same time.  Each
         protection pair must be redundant(the working-entity and protect-
         entity are on different cards) and mapped to a timeslot within the
         same high-speed ODU1."
      ::= { adGenMuxPMultiProtGroupProv 1 }

   adGenMuxPMultiProtGroupEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiProtGroupEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Protection Group table."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenMuxPMultiProtGroupName }
      ::= { adGenMuxPMultiProtGroupTable 1 }

   AdGenMuxPMultiProtGroupEntry ::=
      SEQUENCE {
         adGenMuxPMultiProtGroupName
            DisplayString,
         adGenMuxPMultiProtGroupRowStatus
            RowStatus,
         adGenMuxPMultiProtGroupLastProvError
            DisplayString,
         adGenMuxPMultiProtGroupOperStatus
            INTEGER,
         adGenMuxPMultiProtGroupStatusString
            DisplayString,
         adGenMuxPMultiProtGroupWorkIsOnline
            TruthValue,
         adGenMuxPMultiProtGroupSwitchCommands
            INTEGER,
         adGenMuxPMultiProtGroupRevertiveEnable
            TruthValue,
         adGenMuxPMultiProtGroupWaitToRestoreTime
            INTEGER
      }

   adGenMuxPMultiProtGroupName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Multi Protection Group name."
      ::= { adGenMuxPMultiProtGroupEntry 1 }

   adGenMuxPMultiProtGroupRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi Protection Group Row Status."
      ::= { adGenMuxPMultiProtGroupEntry 2 }

   adGenMuxPMultiProtGroupLastProvError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPMultiProtGroupEntry 3 }

   adGenMuxPMultiProtGroupOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Multi Protection Group.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPMultiProtGroupStatusString is used to indicate why the operational
          status is 'down'."
      ::= { adGenMuxPMultiProtGroupEntry 4 }

   adGenMuxPMultiProtGroupStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the multi protection group.  Indicates
          why the protection group is down.  If protection group is up,
          then a blank string will be returned."
      ::= { adGenMuxPMultiProtGroupEntry 5 }

   adGenMuxPMultiProtGroupWorkIsOnline OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Indicates whether or not the working-entity is online.  If not,
          the protect-entity is online."
      ::= { adGenMuxPMultiProtGroupEntry 6 }

   adGenMuxPMultiProtGroupSwitchCommands OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),                 -- Clear/Idle
                               manualSwitchToWork(2),    -- Manual Switch to Working-Entity
                               manualSwitchToProt(3),    -- Manual Switch to Protect-Entity
                               forceSwitchToWork(4),     -- Force Switch to Working-Entity
                               forceSwitchToProt(5),     -- Force Switch to Protect-Entity
                               lockout(6)                -- Lockout
                              }
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Multi Protection Group Switch Commands."
      ::= { adGenMuxPMultiProtGroupEntry 7 }

    adGenMuxPMultiProtGroupRevertiveEnable OBJECT-TYPE
       SYNTAX         TruthValue
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Enables/disables revertive switching for this multi protection group."
      ::= { adGenMuxPMultiProtGroupEntry 8 }

    adGenMuxPMultiProtGroupWaitToRestoreTime OBJECT-TYPE
       SYNTAX         INTEGER (1..20)
       MAX-ACCESS     read-create
       STATUS         current
       DESCRIPTION
          "Wait to restore time(in minutes)."
      ::= { adGenMuxPMultiProtGroupEntry 9 }

-- *****************************************************************************
--
-- Multi Protection Groups Last Create Error Table
--
-- *****************************************************************************

   adGenMuxPMultiProtGroupLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Protection Group Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a multi protection group."
      ::= { adGenMuxPMultiProtGroupProv 2 }

   adGenMuxPMultiProtGroupLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiProtGroupLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Protection Group Last Create Error table."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenMuxPMultiProtGroupLastCreateErrorTable 1 }

   AdGenMuxPMultiProtGroupLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPMultiProtGroupLastCreateError
            DisplayString
      }

   adGenMuxPMultiProtGroupLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection group."
      ::= { adGenMuxPMultiProtGroupLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Multi Sonet Protection Pair
--
-- *****************************************************************************
   adGenMuxPMultiSonetProtPairTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiSonetProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi SONET Protection Pair table.  This table is used
         to create multi protection pairs out of two SONET interfaces."
      ::= { adGenMuxPMultiProtGroupProv 3 }

   adGenMuxPMultiSonetProtPairEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiSonetProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi SONET Protection Pair table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName, IMPLIED adGenMuxPMultiSonetProtPairName }
      ::= { adGenMuxPMultiSonetProtPairTable 1 }

   AdGenMuxPMultiSonetProtPairEntry ::=
      SEQUENCE {
         adGenMuxPMultiSonetProtPairName
            DisplayString,
         adGenMuxPMultiSonetProtPairType
            INTEGER,
         adGenMuxPMultiSonetProtPairWorkingType
            MuxPPayloadTypes,
         adGenMuxPMultiSonetProtPairWorkingIfIndex
            InterfaceIndex,
         adGenMuxPMultiSonetProtPairProtectingType
            MuxPPayloadTypes,
         adGenMuxPMultiSonetProtPairProtectingIfIndex
            InterfaceIndex,
         adGenMuxPMultiSonetProtPairRowStatus
            RowStatus,
         adGenMuxPMultiSonetProtPairLastProvError
            DisplayString,
         adGenMuxPMultiSonetProtPairWorkEntityStatus
            INTEGER,
         adGenMuxPMultiSonetProtPairProtectEntityStatus
            INTEGER,
         adGenMuxPMultiSonetProtPairTxK1Request
            INTEGER,
         adGenMuxPMultiSonetProtPairTxK1RequestChannel
            INTEGER,
         adGenMuxPMultiSonetProtPairTxK2BridgeChannel
            INTEGER,
         adGenMuxPMultiSonetProtPairTxK2APSArchitecture
            INTEGER,
         adGenMuxPMultiSonetProtPairTxK2APSMode
            INTEGER,
         adGenMuxPMultiSonetProtPairRxK1Request
            INTEGER,
         adGenMuxPMultiSonetProtPairRxK1RequestChannel
            INTEGER,
         adGenMuxPMultiSonetProtPairRxK2BridgeChannel
            INTEGER,
         adGenMuxPMultiSonetProtPairRxK2APSArchitecture
            INTEGER,
         adGenMuxPMultiSonetProtPairRxK2APSMode
            INTEGER,
         adGenMuxPMultiSonetProtPairOperStatus
            INTEGER,
         adGenMuxPMultiSonetProtPairStatusString
            DisplayString
      }

   adGenMuxPMultiSonetProtPairName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Multi SONET Protection Pair name."
      ::= { adGenMuxPMultiSonetProtPairEntry 1 }

   adGenMuxPMultiSonetProtPairType OBJECT-TYPE
      SYNTAX INTEGER {
                       terminalUniDir(1), -- Unidirectional Port Switched
                       yCable(2)          -- The transmitter of the working and protect interfaces are connected via Y-Cable
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi SONET Protection Pair type."
      ::= { adGenMuxPMultiSonetProtPairEntry 2 }

   adGenMuxPMultiSonetProtPairWorkingType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the working
         entity."
      ::= { adGenMuxPMultiSonetProtPairEntry 3 }

   adGenMuxPMultiSonetProtPairWorkingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the working entity."
      ::= { adGenMuxPMultiSonetProtPairEntry 4 }

   adGenMuxPMultiSonetProtPairProtectingType OBJECT-TYPE
      SYNTAX MuxPPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "This is used to indicate the payload type of the protecting
         entity."
      ::= { adGenMuxPMultiSonetProtPairEntry 5 }

   adGenMuxPMultiSonetProtPairProtectingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the protecting entity."
      ::= { adGenMuxPMultiSonetProtPairEntry 6 }

   adGenMuxPMultiSonetProtPairRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Protection Pair Row Status."
      ::= { adGenMuxPMultiSonetProtPairEntry 7 }

   adGenMuxPMultiSonetProtPairLastProvError OBJECT-TYPE
       SYNTAX         DisplayString
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPMultiSonetProtPairEntry 8 }

   adGenMuxPMultiSonetProtPairWorkEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Working Entity Signal Status."
      ::= { adGenMuxPMultiSonetProtPairEntry 9 }

   adGenMuxPMultiSonetProtPairProtectEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Protect Entity Signal Status."
      ::= { adGenMuxPMultiSonetProtPairEntry 10 }

    adGenMuxPMultiSonetProtPairTxK1Request OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        noRequest(2),
                        doNotRevert(3),
                        reverseRequest(4),
                        waitToRestore(5),
                        manualSwitch(6),
                        signalDegrade(7),
                        signalFail(8),
                        forceSwitch(9),
                        lockout(10),
                        reserved(11),
                        notSupported(12)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K1 byte Request."
        ::= { adGenMuxPMultiSonetProtPairEntry 11 }

    adGenMuxPMultiSonetProtPairTxK1RequestChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K1 byte Request Channel."
        ::= { adGenMuxPMultiSonetProtPairEntry 12 }

    adGenMuxPMultiSonetProtPairTxK2BridgeChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte Bridge Channel."
        ::= { adGenMuxPMultiSonetProtPairEntry 13 }

    adGenMuxPMultiSonetProtPairTxK2APSArchitecture OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        notProtected(2),
                        onePlusOne(3),
                        oneToOne(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte APS Architecture."
        ::= { adGenMuxPMultiSonetProtPairEntry 14 }

    adGenMuxPMultiSonetProtPairTxK2APSMode OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        unidirectional(2),
                        bidirectional(3),
                        aisL(4),
                        rdiL(5),
                        msAis(6),  -- SDH
                        msRdi(7),  -- SDH
                        reserved(8)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Transmit K2 byte APS Mode."
        ::= { adGenMuxPMultiSonetProtPairEntry 15 }

    adGenMuxPMultiSonetProtPairRxK1Request OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        noRequest(2),
                        doNotRevert(3),
                        reverseRequest(4),
                        waitToRestore(5),
                        manualSwitch(6),
                        signalDegrade(7),
                        signalFail(8),
                        forceSwitch(9),
                        lockout(10),
                        reserved(11),
                        notSupported(12)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K1 byte Request.  If notAvailable is returned, then the following OIDs are not valid:
                adGenMuxPSonetProtPairRxK1RequestChannel, adGenMuxPSonetProtPairRxK2BridgeChannel,
                adGenMuxPSonetProtPairRxK2APSArchitecture, and adGenMuxPSonetProtPairRxK2APSMode."
        ::= { adGenMuxPMultiSonetProtPairEntry 16 }

    adGenMuxPMultiSonetProtPairRxK1RequestChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K1 byte Request Channel."
        ::= { adGenMuxPMultiSonetProtPairEntry 17 }

    adGenMuxPMultiSonetProtPairRxK2BridgeChannel OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        protect(2),
                        working(3),
                        invalid(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte Bridge Channel."
        ::= { adGenMuxPMultiSonetProtPairEntry 18 }

    adGenMuxPMultiSonetProtPairRxK2APSArchitecture OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        notProtected(2),
                        onePlusOne(3),
                        oneToOne(4)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte APS Architecture."
        ::= { adGenMuxPMultiSonetProtPairEntry 19 }

    adGenMuxPMultiSonetProtPairRxK2APSMode OBJECT-TYPE
        SYNTAX INTEGER {
                        notAvailable(1),
                        unidirectional(2),
                        bidirectional(3),
                        aisL(4),
                        rdiL(5),
                        msAis(6),  -- SDH
                        msRdi(7),  -- SDH
                        reserved(8)
                       }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Receive K2 byte APS Mode."
        ::= { adGenMuxPMultiSonetProtPairEntry 20 }

   adGenMuxPMultiSonetProtPairOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Protection Pair.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPSonetProtPairStatusString is used to indicate why the  operational status
          is 'down'."
      ::= { adGenMuxPMultiSonetProtPairEntry 21 }

   adGenMuxPMultiSonetProtPairStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the protection pair.  Indicates
          why the protection pair is down.  If protection pair is up,
          then a blank string will be returned."
      ::= { adGenMuxPMultiSonetProtPairEntry 22 }


-- *****************************************************************************
--
-- Multi Sonet Protection Pair Last Create Error
--
-- *****************************************************************************

   adGenMuxPMultiSonetProtPairLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiSonetProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi SONET Protection Pair Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a protection pair."
      ::= { adGenMuxPMultiProtGroupProv 4 }

   adGenMuxPMultiSonetProtPairLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiSonetProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi SONET Protection Pair Last Create Error table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName }
      ::= { adGenMuxPMultiSonetProtPairLastCreateErrorTable 1 }

   AdGenMuxPMultiSonetProtPairLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPMultiSonetProtPairLastCreateError
            DisplayString
      }

   adGenMuxPMultiSonetProtPairLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection pair."
      ::= { adGenMuxPMultiSonetProtPairLastCreateErrorEntry 1 }


-- *****************************************************************************
--
-- Multi Ethernet Protection Pairs
--
-- *****************************************************************************

   adGenMuxPMultiEthernetProtPairTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiEthernetProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Ethernet Protection Pair table.  This table is used
         to create protection pairs between two Ethernet interfaces."
      ::= { adGenMuxPMultiProtGroupProv 5 }

   adGenMuxPMultiEthernetProtPairEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiEthernetProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Ethernet Protection Pair table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName, IMPLIED adGenMuxPMultiEthernetProtPairName }
      ::= { adGenMuxPMultiEthernetProtPairTable 1 }

   AdGenMuxPMultiEthernetProtPairEntry ::=
      SEQUENCE {
         adGenMuxPMultiEthernetProtPairName
            DisplayString,
         adGenMuxPMultiEthernetProtPairType
            INTEGER,
         adGenMuxPMultiEthernetProtPairWorkingType
            EthernetPayloadTypes,
         adGenMuxPMultiEthernetProtPairWorkingIfIndex
            InterfaceIndex,
         adGenMuxPMultiEthernetProtPairProtectingType
            EthernetPayloadTypes,
         adGenMuxPMultiEthernetProtPairProtectingIfIndex
            InterfaceIndex,
         adGenMuxPMultiEthernetProtPairRowStatus
            RowStatus,
         adGenMuxPMultiEthernetProtPairLastProvError
            DisplayString,
         adGenMuxPMultiEthernetProtPairOperStatus
            INTEGER,
         adGenMuxPMultiEthernetProtPairStatusString
            DisplayString,
         adGenMuxPMultiEthernetProtPairWorkEntityStatus
            INTEGER,
         adGenMuxPMultiEthernetProtPairProtectEntityStatus
            INTEGER
      }

   adGenMuxPMultiEthernetProtPairName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Multi Protection Pair name."
      ::= { adGenMuxPMultiEthernetProtPairEntry 1 }

   adGenMuxPMultiEthernetProtPairType OBJECT-TYPE
      SYNTAX INTEGER {
                       yCable(1)  -- The transmitter of the working and protect interfaces are connected via Y-Cable
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi Protection Pair type."
      ::= { adGenMuxPMultiEthernetProtPairEntry 2 }

   adGenMuxPMultiEthernetProtPairWorkingType OBJECT-TYPE
      SYNTAX EthernetPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the working entity."
      ::= { adGenMuxPMultiEthernetProtPairEntry 3 }

   adGenMuxPMultiEthernetProtPairWorkingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the working entity."
      ::= { adGenMuxPMultiEthernetProtPairEntry 4 }

   adGenMuxPMultiEthernetProtPairProtectingType OBJECT-TYPE
      SYNTAX EthernetPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the protecting entity."
      ::= { adGenMuxPMultiEthernetProtPairEntry 5 }

   adGenMuxPMultiEthernetProtPairProtectingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the protecting entity."
      ::= { adGenMuxPMultiEthernetProtPairEntry 6 }

   adGenMuxPMultiEthernetProtPairRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi Ethernet Protection Pair Row Status."
      ::= { adGenMuxPMultiEthernetProtPairEntry 7 }

   adGenMuxPMultiEthernetProtPairLastProvError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPMultiEthernetProtPairEntry 8 }

   adGenMuxPMultiEthernetProtPairOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Multi Ethernet Protection Pair.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPMultiEthernetProtPairStatusString is used to indicate why the operational
          status is 'down'."
      ::= { adGenMuxPMultiEthernetProtPairEntry 9 }

   adGenMuxPMultiEthernetProtPairStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the protection pair.  Indicates
          why the protection pair is down.  If protection pair is up,
          then a blank string will be returned."
      ::= { adGenMuxPMultiEthernetProtPairEntry 10 }

   adGenMuxPMultiEthernetProtPairWorkEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Working Entity Signal Status."
      ::= { adGenMuxPMultiEthernetProtPairEntry 11 }

   adGenMuxPMultiEthernetProtPairProtectEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Protect Entity Signal Status."
      ::= { adGenMuxPMultiEthernetProtPairEntry 12 }

-- *****************************************************************************
--
-- Multi Ethernet Protection Pairs Last Create Error Table
--
-- *****************************************************************************

   adGenMuxPMultiEthernetProtPairLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiEthernetProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Ethernet Protection Pair Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a protection pair."
      ::= { adGenMuxPMultiProtGroupProv 6 }

   adGenMuxPMultiEthernetProtPairLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiEthernetProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Ethernet Protection Pair Last Create Error table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName }
      ::= { adGenMuxPMultiEthernetProtPairLastCreateErrorTable 1 }

   AdGenMuxPMultiEthernetProtPairLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPMultiEthernetProtPairLastCreateError
            DisplayString
      }

   adGenMuxPMultiEthernetProtPairLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection pair."
      ::= { adGenMuxPMultiEthernetProtPairLastCreateErrorEntry 1 }

-- *****************************************************************************
--
-- Multi Fibre Channel Protection Pairs
--
-- *****************************************************************************

   adGenMuxPMultiFibreChannelProtPairTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiFibreChannelProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Ethernet Protection Pair table.  This table is used
         to create protection pairs between two Fibre Channel interfaces."
      ::= { adGenMuxPMultiProtGroupProv 7 }

   adGenMuxPMultiFibreChannelProtPairEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiFibreChannelProtPairEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Fibre Channel Protection Pair table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName, IMPLIED adGenMuxPMultiFibreChannelProtPairName }
      ::= { adGenMuxPMultiFibreChannelProtPairTable 1 }

   AdGenMuxPMultiFibreChannelProtPairEntry ::=
      SEQUENCE {
         adGenMuxPMultiFibreChannelProtPairName
            DisplayString,
         adGenMuxPMultiFibreChannelProtPairType
            INTEGER,
         adGenMuxPMultiFibreChannelProtPairWorkingType
            FibreChanPayloadTypes,
         adGenMuxPMultiFibreChannelProtPairWorkingIfIndex
            InterfaceIndex,
         adGenMuxPMultiFibreChannelProtPairProtectingType
            FibreChanPayloadTypes,
         adGenMuxPMultiFibreChannelProtPairProtectingIfIndex
            InterfaceIndex,
         adGenMuxPMultiFibreChannelProtPairRowStatus
            RowStatus,
         adGenMuxPMultiFibreChannelProtPairLastProvError
            DisplayString,
         adGenMuxPMultiFibreChannelProtPairOperStatus
            INTEGER,
         adGenMuxPMultiFibreChannelProtPairStatusString
            DisplayString,
         adGenMuxPMultiFibreChannelProtPairWorkEntityStatus
            INTEGER,
         adGenMuxPMultiFibreChannelProtPairProtectEntityStatus
            INTEGER
      }

   adGenMuxPMultiFibreChannelProtPairName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..50))
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
         "Multi Protection Pair name."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 1 }

   adGenMuxPMultiFibreChannelProtPairType OBJECT-TYPE
      SYNTAX INTEGER {
                       yCable(1)  -- The transmitter of the working and protect interfaces are connected via Y-Cable
                     }
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi Protection Pair type."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 2 }

   adGenMuxPMultiFibreChannelProtPairWorkingType OBJECT-TYPE
      SYNTAX FibreChanPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the working entity."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 3 }

   adGenMuxPMultiFibreChannelProtPairWorkingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the working entity."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 4 }

   adGenMuxPMultiFibreChannelProtPairProtectingType OBJECT-TYPE
      SYNTAX FibreChanPayloadTypes
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The payload type of the protecting entity."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 5 }

   adGenMuxPMultiFibreChannelProtPairProtectingIfIndex OBJECT-TYPE
      SYNTAX InterfaceIndex
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "The IfIndex of the protecting entity."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 6 }

   adGenMuxPMultiFibreChannelProtPairRowStatus OBJECT-TYPE
      SYNTAX RowStatus
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
         "Multi Fibre Channel Protection Pair Row Status."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 7 }

   adGenMuxPMultiFibreChannelProtPairLastProvError OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "This string describes the last error experienced
           for this particular entry in the table."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 8 }

   adGenMuxPMultiFibreChannelProtPairOperStatus OBJECT-TYPE
       SYNTAX INTEGER {
                        up(1),
                        down(2)
                      }
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "Operational Status of the Multi Fibre Channel Protection Pair.  This operational status
          indicates whether or not the provisioning necessary for protection switching
          to function properly has been adequately provisioned.  It is not affected by
          by faults/degrades on the working or protecting interfaces.
          adGenMuxPMultiFibreChannelProtPairStatusString is used to indicate why the operational
          status is 'down'."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 9 }

   adGenMuxPMultiFibreChannelProtPairStatusString OBJECT-TYPE
       SYNTAX DisplayString
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
          "The status string for the protection pair.  Indicates
          why the protection pair is down.  If protection pair is up,
          then a blank string will be returned."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 10 }

   adGenMuxPMultiFibreChannelProtPairWorkEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Working Entity Signal Status."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 11 }

   adGenMuxPMultiFibreChannelProtPairProtectEntityStatus OBJECT-TYPE
       SYNTAX         INTEGER {
                               clear(1),           -- Signal is clear.  No faults.
                               signalFaulty(2),    -- Signal is faulty
                               signalDegraded(3),  -- Signal is degraded
                               down(4)             -- Administratively down
                              }
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
          "Protect Entity Signal Status."
      ::= { adGenMuxPMultiFibreChannelProtPairEntry 12 }

-- *****************************************************************************
--
-- Multi Fibre Channel Protection Pairs Last Create Error Table
--
-- *****************************************************************************

   adGenMuxPMultiFibreChannelProtPairLastCreateErrorTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenMuxPMultiFibreChannelProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Multi Fibre Channel Protection Pair Last Create Error table.
         This table is used to indicate the last error that occurred
         during creation of a protection pair."
      ::= { adGenMuxPMultiProtGroupProv 8 }

   adGenMuxPMultiFibreChannelProtPairLastCreateErrorEntry OBJECT-TYPE
      SYNTAX  AdGenMuxPMultiFibreChannelProtPairLastCreateErrorEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Multi Fibre Channel Protection Pair Last Create Error table."
      INDEX  { adGenSlotInfoIndex, adGenMuxPMultiProtGroupName }
      ::= { adGenMuxPMultiFibreChannelProtPairLastCreateErrorTable 1 }

   AdGenMuxPMultiFibreChannelProtPairLastCreateErrorEntry ::=
      SEQUENCE {
         adGenMuxPMultiFibreChannelProtPairLastCreateError
            DisplayString
      }

   adGenMuxPMultiFibreChannelProtPairLastCreateError OBJECT-TYPE
      SYNTAX DisplayString
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "The last error that occurred during the creation of a
         protection pair."
      ::= { adGenMuxPMultiFibreChannelProtPairLastCreateErrorEntry 1 }

-- *****************************************************************************
--
-- Muxponder Timing Alarms
--
-- *****************************************************************************
   adGenMuxPTimingPriSrcFailClear  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the primary timing source alarm has cleared."

         --#TYPE         "Status - Primary Timing Src Alarm Clear"
         --#SUMMARY      "Muxponder Timing: Timing Source Cleared"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     MINOR
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 2 }

   adGenMuxPTimingPriSrcFailSet  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the primary timing source has failed."

         --#TYPE         "Status - Primary Timing Src Alarm Active"
         --#SUMMARY      "Muxponder Timing: Timing Source Failure"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     MINOR
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 3 }

   adGenMuxPTimingSecSrcFailClear  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the secondary timing source alarm has cleared."

         --#TYPE         "Status - Secondary Timing Src Alarm Clear"
         --#SUMMARY      "Muxponder Timing: Timing Source Cleared"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     MINOR
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 4 }

   adGenMuxPTimingSecSrcFailSet  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the secondary timing source has failed."

         --#TYPE         "Status - Secondary Timing Src Alarm Active"
         --#SUMMARY      "Muxponder Timing: Timing Source Failure"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     MINOR
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 5 }

   adGenMuxPTimingHoldoverClear  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the holdover timing source alarm has cleared."

         --#TYPE         "Status - Holdover Timing Src Alarm Clear"
         --#SUMMARY      "Muxponder Timing: Timing Source Cleared"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     WARNING
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 6 }

   adGenMuxPTimingHoldoverSet  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel
              }
        STATUS  current
        DESCRIPTION
           "Indicates that the holdover timing source is used."

         --#TYPE         "Status - Holdover Timing Src Alarm Active"
         --#SUMMARY      "Muxponder Timing: Timing Source Failure"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     WARNING
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPTimingAlarms 7 }

-- *****************************************************************************
--
-- Muxponder GFP
--
-- *****************************************************************************
   adGenMuxPLFDClear  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adGenMuxPMappingType
              }
        STATUS  current
        DESCRIPTION
           "Indicates thatLoss of Frame Delineation Alarm is cleared."

         --#TYPE         "Status - Alarm Clear"
         --#SUMMARY      "Loss of Frame Delineation(LFD) Alarm cleared"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     CRITICAL
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPAlarmEvents 1 }

   adGenMuxPLFDSet  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adGenMuxPMappingType
              }
        STATUS  current
        DESCRIPTION
           "Indicates that Loss of Frame Delineation Alarm is set."

         --#TYPE         "Status - Alarm Active"
         --#SUMMARY      "Loss of Frame Delineation(LFD) Alarm Set"
         --#SUMMARY      "Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     CRITICAL
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPAlarmEvents 2 }

   adGenMuxPUPMClear  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel,
                adGenMuxPMappingType
              }
        STATUS  current
        DESCRIPTION
           "Indicates that wrong GFP mapping(OPU2/ OTU2)  of 8G/10G fibre channel is cleared."

         --#TYPE         "Status - Alarm Clear"
         --#SUMMARY      "wrong GFP mapping(OPU2/ OTU2)  of 8G/10G fibre channel Alarm cleared"
         --#SUMMARY      "Cleared at Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     CRITICAL
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPAlarmEvents 3 }

   adGenMuxPUPMSet  NOTIFICATION-TYPE
      OBJECTS {
                adTrapInformSeqNum,
                sysName,
                adGenSlotInfoIndex,
                adTAeSCUTrapAlarmLevel,
                adGenMuxPMappingType
              }
        STATUS  current
        DESCRIPTION
           "Indicates that wrong GFP mapping(OPU2/ OTU2) of 8G/10G fibre channel is detected."

         --#TYPE         "Status - Alarm Active"
         --#SUMMARY      "wrong GFP mapping(OPU2/ OTU2) of 8G/10G fibre channel is detected"
         --#SUMMARY      "Detected at Shelf: %s Slot: %d"
         --#ARGUMENTS    {1, 2}
         --#SEVERITY     CRITICAL
         --#GENERIC      6
         --#CATEGORY     "Error Events"
         --#SOURCE_ID    "A"
         --#TIMEINDEX    0
      ::= { adGenMuxPAlarmEvents 4 }


END
