TROPIC-VWMMS-MIB DEFINITIONS ::= BEGIN

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

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY,
    NOTIFICATION-TYPE, Counter32, Counter64,
    Integer32, Unsigned32                       FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DateAndTime,
    DisplayString, MacAddress, RowStatus,
    TimeInterval, TruthValue                    FROM SNMPv2-TC
    MODULE-COMPLIANCE, NOTIFICATION-GROUP,
    OBJECT-GROUP                                FROM SNMPv2-CONF
    SnmpAdminString                             FROM SNMP-FRAMEWORK-MIB
    InetAddress, InetAddressPrefixLength,
    InetAddressType, InetPortNumber             FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero,
    ifEntry, ifIndex                            FROM IF-MIB
    ItuPerceivedSeverity                        FROM ITU-ALARM-TC-MIB
    tnVwmMsMIB, tnVwmMsModules,
    tropicEmptyCard, tropicEmptyShelf           FROM TROPIC-GLOBAL-REG
    TnCondition, TnSfpType, TnCommand           FROM TROPIC-TC
    tnGenericTrapSeqNumber,
    tnGenericTrapObject,
    tnGenericTrapObjectInstance,
    tnGenericTrapTime, tnGenericTrapCategory,
    tnGenericTrapDateAndTime,
    tnGenericTrapConfigurationChangeCounter     FROM TROPIC-GENERIC-NOTIFICATION-MIB
    tnTrapCategory, tnTrapDescr, tnTrapData,
    tnTrapTime                                  FROM TROPIC-NOTIFICATION-MIB
    TropicSwControl,
    TropicSwLastOperationStatus                 FROM TROPIC-SOFTWARE-MIB
    VlanIdOrNone                                FROM IEEE8021-CFM-MIB
    tnUserEntry                                 FROM TROPIC-USERMGMT-MIB;

tnVwmMsMibModule MODULE-IDENTITY
    LAST-UPDATED    "201905130000Z"
    ORGANIZATION    "Nokia"
    CONTACT-INFO    "Nokia
                     Attn: Jeff Donnelly
                     600 Mountain Avenue
                     New Providence, NJ 07974

                     Phone: +1 732 221 6408
                     Email: jeff.donnelly@nokia.com"

    DESCRIPTION "The VWM Managed Solution MIB."

    REVISION    "201905130000Z"
    DESCRIPTION "Renamed tnVwmMsShelfR910Compliance into tnVwmMsShelfR901Compliance.
                 Renamed tnVwmMsIfR910Compliance into tnVwmMsIfR901Compliance.
                 Removed support of tnVwmMsCard2Group and tnVwmMsSfp4Group.
                 Added tnVwmMsSfpProfileGroup.
                 Added tnVwmMsShelfCard2Compliance, tnVwmMsIfSfp4Compliance and
                 tnVwmMsIfSfpProfilesPnCompliance.
                 Corrected enumeration value names of tnVwmMsIfOtdrMode."

    REVISION    "201904300000Z"
    DESCRIPTION "Corrected DISPLAY-HINT of TropicVwmMsDcmInsertionLoss,
                 TropicVwmMsDcmInsertionLossSlope, TropicVwmMsDcmLatencyMismatch,
                 TropicVwmMsDcmPmd and TropicVwmMsDcmSize.
                 Added support for OTDR : tables tnVwmMsIfOtdrTable and
                 tnVwmMsIfOtdrResultTable, object tnVwmMsSfpInfoOtdrCapable.
                 Updated tnVwmMsSfpProfilePnCreateDeleteProfileIndex DESCRIPTION."

    REVISION    "201904120000Z"
    DESCRIPTION "Renamed tnVwmMsDmSmLmCardTable into tnVwmMsDcmLmCardTable,
                 and tnVwmMsDmSmLmCardGroup into tnVwmMsDcmLmCardGroup.
                 Added bObsaiLosCa(7) to TropicVwmMsCADefectBits."

    REVISION    "201903080000Z"
    DESCRIPTION "Added tnVwmMsDmSmLmCardTable and related syntaxes.
                 Added tnVwmMsShelfTypeString.
                 Made tnVwmMsShelfPresentType deprecated.
                 Added tnVwmMsSfpInfoSIC to tnVwmMsSfpInfoTable.
                 Added tnVwmMsCardFwVersion to tnVwmMsCardTable.
                 Added SFP Profiles Part Number objects :
                  - tnVwmMsSfpProfilePnRateTable
                  - tnVwmMsSfpProfilePnRateCapabilityTable
                  - tnVwmMsSfpProfilePnCreateDeleteProfileIndex
                  - tnVwmMsSfpProfilePnCreateDeletePn
                  - tnVwmMsSfpProfilePnCreateRate"

    REVISION    "201811150000Z"
    DESCRIPTION "Enhanced tnVwmMsSfpInfoLinkType syntax with values
                 link62um5CoreFibreOM1(5), link50umCoreFibreOM2(6),
                 link50umCoreFibreOM3(7) and link50umCoreFibreOM4(8).
                 Enhanced tnVwmMsSfpInfoLinkLengthUnits syntax with values
                 unitsM2(2) and unitsM100(100).
                 Increased TropicVwmMsSfpLinkLength syntax from 5 to 6 octets."

    REVISION    "201811060000Z"
    DESCRIPTION "Enhanced the description of tnVwmMsOpsOsmDsvAvailabilityStatus, and
                 listing more objects to which its value applies."

    REVISION    "201809050000Z"
    DESCRIPTION "Added support for log transfer objects.
                 Added tnVwmMsCdrChannelUsedForMgmt.
                 Added SFP Profile support:
                  - TropicVwmMsSfpProfileIndexType, TropicVwmMsMnemonicIndexType
                  - tnVwmMsSfpProfileTable, tnVwmMsSfpProfileRateTable and
                    tnVwmMsShelfSfpProfileTable
                 Added 'setByProfile' CDR channel rate, and related capability bit."

    REVISION    "201808290000Z"
    DESCRIPTION "Added OTU-2 CDR channel rate and rate capability.
                 Added support for tnVwmMsUserTable.
                 Increased maximum length of TropicVwmMsCardCustomerInvField to 46 octets."

    REVISION    "201807100000Z"
    DESCRIPTION "Corrected description of tnVwmMsUserDataVlanId.
                 Modified SYNTAX of tnVwmMsIfMonitorTargetIf to InterfaceIndexOrZero.
                 Updated description of TropicVwmMsCdrChannelRate.
                 Added bOprCa(6) to TropicVwmMsCADefectBits."

    REVISION    "201806220000Z"
    DESCRIPTION "Redefined tnVwmMsAmplifierPortConfigTable and tnVwmMsAmplifierPortInfoTable,
                 added tnVwmMsAmplifierPortPumpInfoTable.
                 Renamed tnVwmMsSfd10InsertionLossTable into tnVwmMsSfd10InventoryTable,
                 and added objects. Renamed tnVwmMsSfd10InsertionLossGroup into
                 tnVwmMsSfd10InventoryGroup."

    REVISION    "201806060000Z"
    DESCRIPTION "Added tnVwmMsAmplifierPortConfigTable, tnVwmMsAmplifierPortInfoTable
                 and tnVwmMsAmplifierCardTable.
                 Added tnVwmMsIfCapability to tnVwmMsIfTable.
                 Added tnVwmMsOpticalPortConfigTable and tnVwmMsOpticalPortInfoTable.
                 Added tnVwmMsIfEthFecHistoryStatsTable.
                 Added tnVwmMsSfd10InsertionLossTable."

    REVISION    "201806010000Z"
    DESCRIPTION "Added tnVwmMsCdrChannelLabel, tnVwmMsCdrChannelActualRate and
                 tnVwmMsCdrChannelRateCapability to tnVwmMsCdrChannelTable.
                 Made tnVwmMsCdrChannelIf1 and tnVwmMsCdrChannelIf2 writable."

    REVISION    "201805050000Z"
    DESCRIPTION "Added userdata to tnVwmMsIfRole.
                 Added tnVwmMsUserDataIfTable and tnVwmMsUserDataTpidTable.
                 Updated descriptions for tnVwmMsTlu9mIfPmTable, indicating
                 it is not solely for TLU-9M units."

    REVISION    "201802231200Z"
    DESCRIPTION "Updated the contact info."

    REVISION    "201802110000Z"
    DESCRIPTION "Modified description of tnVwmMsOpsOsmPselSwitchCommand and
                 tnVwmMsOpsOsmPserSwitchCommand.
                 Clarified the descriptions of tnVwmMsOpsOsmExternalCommand,
                 tnVwmMsOpsOsmPselState, tnVwmMsOpsOsmPselExternalCommand,
                 tnVwmMsOpsOsmPserState and tnVwmMsOpsOsmPserExternalCommand."

    REVISION    "201801150000Z"
    DESCRIPTION "Updated description of tnVwmMsSfpInfoFrequencyGrid to reflect
                 MHz instead of GHz granularity."

    REVISION    "201712140000Z"
    DESCRIPTION "Added RX and TX power level objects to tnVwmMsPmudTable.
                 Added tnVwmMsTlu9mIfActualPmMode to tnVwmMsTlu9mIfPmTable.
                 Added tnVwmMsOpsOsmPserPmudGroupTable, and creation/deletion
                 notifications.
                 Added tnVwmMsOpsOsmPserPmudGroup to tnVwmMsOpsOsmPserTable.
                 Change unit of TropicVwmMsSignalAttenuation from tenths of dB
                 into hundredths of dB (mB).
                 Added tnVwmMsOpsOsmDsvInsertionLossTable,
                 tnVwmMsPmudInsertionLossTable, tnVwmMsSfd96InsertionLossTable,
                 tnVwmMsBmupInsertionLossTable and tnVwmMsInsertionLossGroup.
                 Additions for eVoa Control Loop in tnVwmMsPmudTable :
                  - tnVwmMsPmudEVoaControlBandInLine1Out
                  - tnVwmMsPmudEVoaControlBandInLine2Out
                  - tnVwmMsPmudActualEVoaBandInLine1Out
                  - tnVwmMsPmudActualEVoaBandInLine2Out
                  - tnVwmMsPmudLossRefBand1InOmdOut
                  - tnVwmMsPmudLossRefBand2InOmdOut"

    REVISION    "201711230000Z"
    DESCRIPTION "Added tnVwmMsIfTerminalLoopback to tnVwmMsIfLoopbackTable.
                 Added tnVwmMsTlu9mSlotPmTable, tnVwmMsTlu9mIfPmTable and
                 tnVwmMsIfPmThresholdsTable.
                 Added tnVwmMsIfOptPwrThresholdsTable.
                 Extended tnVwmMsSfpInfoTable with data for tunable SFPs.
                 Value of tnVwmMsSfpInfoWavelength is now in picometers.
                 Enhance tnVwmMsPmudTable and tnVwmMsOpsOsmDsvTable for
                 manual selector configuration.
                 Renamed syntax TropicVwmMsPmudBandSelection into (semantically
                 identical) syntax TropicVwmMsPmudSelectorPosition.
                 Renamed tnVwmMsOpsOsmPserPmudBandSelection into
                 tnVwmMsOpsOsmPserPmudSelectorPosition."

    REVISION    "201711010000Z"
    DESCRIPTION "Change SYNTAX of tnVwmMsPrbsTestIfIndex to InterfaceIndexOrZero.
                 Replaced TropicVwmMsSnmpPortNumberType by InetPortNumber from
                 the INET-ADDRESS-MIB.
                 Added tnVwmMsOpsOsmDsvThresholdSigOut and
                 tnVwmMsOpsOsmDsvAvailabilityStatus to tnVwmMsOpsOsmDsvTable."

    REVISION    "201710020000Z"
    DESCRIPTION "Extended TropicVwmMsSfpTxFrequency TEXTUAL-CONVENTION with
                 additional values to support 96 DWDM (tunable) channels.
                 Added tnVwmMsOpsOsmPselTable, tnVwmMsOpsOsmPserTable,
                 tnVwmMsOpsOsmDsvTable and tnVwmMsPmudTable.
                 Added cpriRate8(8) to TropicVwmMsCdrChannelRate."

    REVISION    "201706280000Z"
    DESCRIPTION "Marked tnVwmMsPmonNotificationsGroup , tnVwmMsPmonCompliance,
                 tnVwmMsSecurityNotificationsGroup and tnVwmMsSecurityCompliance
                 obsolete. Added tnVwmMsPmonR840Compliance.
                 Added tnVwmMsSfpInfoMnemonic and tnVwmMsSfpInfoAcronymCode."

    REVISION    "201706160000Z"
    DESCRIPTION "Added tnVwmMsShelfCreationNotif, tnVwmMsShelfDeletionNotif,
                 tnVwmMsSnmpTrapDestCreationNotif, tnVwmMsSnmpTrapDestDeletionNotif,
                 tnVwmMsOpsPaeCreationNotif, tnVwmMsOpsPaeDeletionNotif.
                 Obsoleted tnVwmMsPmBinsRolledOverNotif, tnVwmMsSecurityFileNameNotif.

                 Added tnVwmMsIfPcsHistoryStatsTable."

    REVISION    "201703200000Z"
    DESCRIPTION "Modified definition of tnVwmMsShelfLampTest.
                 Added HFC (Hybrid Fiber Coax) values to TropicVwmMsCdrChannelRate."

    REVISION    "201701130000Z"
    DESCRIPTION "Added object to support OPS Protection Audit Entity
                 functionality: tnVwmMsOpsPaeTable.
                 Added object to support LOS propagation :
                 tnVwmMsIfLosPropagationTable.
                 Added L1 Topology Discovery objects : tnVwmMsShelfLatitude,
                 tnVwmMsShelfLongitude and tnVwmMsShelfAltitude."

    REVISION    "201612150000Z"
    DESCRIPTION "Added object to support interface monitoring functionality:
                 tnVwmMsIfMonitorTable.
                 Added attribute to support slot assignment status in
                 tnVwmMsSlotTable.
                 Added tnVwmMsOpsOsmTable for OPS protection switch support.
                 Added tnVwmMsCraftIpTable for Craft port IP communication.
                 Added tnVwmMsOpsCardTable for OPS card inventory data."

    REVISION    "201611040000Z"
    DESCRIPTION "Added objects to support Maintenance Software download:
                 tnVwmMsMtSoftwareLoad, tnVwmMsMtSoftwareShelfLoad,
                 tnVwmMsMtSoftwareShelfActivate, tnVwmMsMtSoftwareShelfAbort,
                 tnVwmMsMtSoftwareShelfStatusTable, tnVwmMsMtSoftwareRemove,
                 tnVwmMsMtSoftwareTable."

    REVISION    "201610070000Z"
    DESCRIPTION "Obsoleted tnVwmMsPowerIfTable, tnVwmMsPowerIfGroup and
                 tnVwmMsIfCompliance.
                 Added tnVwmMsPwrIfTable and tnVwmMsPwrIfGroup.

                 Added tnVwmMsSfpTxFrequency to tnVwmMsSfpTable."

    REVISION    "201609260000Z"
    DESCRIPTION "Added description for fixed values of tnVwmMsShelfManagementMode
                 and tnVwmMsShelfDbSyncDirection of the managing OSU.

                 Added tnVwmMsDdmDataTable for DDM Data retrieval.

                 Added objects to support PRBS test features:
                 tnVwmMsPrbsTestIfIndex, tnVwmMsPrbsTestStartAutoStop,
                 tnVwmMsPrbsTestStartAutoStopDuration, tnVwmMsPrbsTestStop,
                 tnVwmMsPrbsTestResultTable, tnVwmMsIfLoopbackTable.

                 Added tnVwmMsIfRole to tnVwmMsIfEntry.
                 Added tnVwmMsRflmIfTable.

                 Added 10GbE to TropicVwmMsCdrChannelRate.

                 Added TropicVwmMsShelfSynchState.
                 Added tnVwmMsShelfSynchState object to TnVwmMsShelfEntry."

    REVISION    "201608010000Z"
    DESCRIPTION "Added tnVwmMsShelfIsdTable."

    REVISION    "201607070000Z"
    DESCRIPTION "Modified syntax of tnVwmMsIfOptHistoryStatsIfOptHigh,
                 tnVwmMsIfOptHistoryStatsIfOptAverage,
                 tnVwmMsIfOptHistoryStatsIfOptLow,
                 tnVwmMsIfOptHistoryStatsIfOprHigh,
                 tnVwmMsIfOptHistoryStatsIfOprAverage,
                 tnVwmMsIfOptHistoryStatsIfOprLow from Unsigned32 to Integer32
                 in order to express the values in mBm."

    REVISION    "201606160000Z"
    DESCRIPTION "Updated description of tnVwmMsSfpInfoPhysicalIdentifier.

                 Added definitions to support Performance Monitoring File
                 Transfers :
                  - Scalar objects tnVwmMsSysDiscoveryServerAddrType and
                    tnVwmMsSysDiscoveryServerAddr to support IPv4 and IPv6
                  - Tables tnVwmMsIfEthHistoryStatsTable,
                           tnVwmMsIfOptHistoryStatsTable
                  - Notifications tnVwmMsPmBinsRolledOverNotif and
                    tnVwmMsSecurityFileNameNotif"

    REVISION    "201605310000Z"
    DESCRIPTION "Added tnVwmMsShelfRestart objects.
                 Added TropicVwmMsAvailabilityStatus,
                 removed TropicVwmMsInventoryStatus.
                 Added tnVwmMsExtAnalogIf,tnVwmMsExtAnalogIfInfo,
                 tnVwmMsExtCtrlOutputIf objects."

    REVISION    "201605130000Z"
    DESCRIPTION "Changed tnVwmMsSystemIpV4ActualGateway to read-only.
                 Changed default value of tnVwmMsFaultAlarmClearTime to 100.
                 DEFVAL of tnVwmMsShelfProgrammedType is tropicEmptyShelf.
                 Added tnVwmMsShelfNextFreeIndex and tnVwmMsShelvesNumber."

    REVISION    "201604120000Z"
    DESCRIPTION "Added tnVwmMsIfPortLabel and tnVwmMsExtAlmIfTable.
                 Added tnVwmMsSnmp, tnVwmMsFault, tnVwmMsDatabase,
                 tnVwmMsSoftware, tnVwmMsTime and tnVwmMsSystemIp objects.
                 Added tnVwmMsAgentCapability.
                 Updated description of tnVwmMsCardInvStatus."

    REVISION    "201602241200Z"
    DESCRIPTION "Initial version."

    ::= { tnVwmMsModules 1 }

-- -------------------------------------------------
-- Groups in the VWMMS MIB Module
-- -------------------------------------------------

tnVwmMsEquipment               OBJECT IDENTIFIER ::= { tnVwmMsMIB 1 }
tnVwmMsEquipmentNotifications  OBJECT IDENTIFIER ::= { tnVwmMsEquipment 0 }
tnVwmMsEquipmentObjects        OBJECT IDENTIFIER ::= { tnVwmMsEquipment 1 }
tnVwmMsEquipmentConformance    OBJECT IDENTIFIER ::= { tnVwmMsEquipment 2 }
tnVwmMsEquipmentCompliances    OBJECT IDENTIFIER ::= { tnVwmMsEquipmentConformance 1 }
tnVwmMsEquipmentGroups         OBJECT IDENTIFIER ::= { tnVwmMsEquipmentConformance 2 }

tnVwmMsInterface               OBJECT IDENTIFIER ::= { tnVwmMsMIB 2 }
tnVwmMsInterfaceNotifications  OBJECT IDENTIFIER ::= { tnVwmMsInterface 0 }
tnVwmMsInterfaceObjects        OBJECT IDENTIFIER ::= { tnVwmMsInterface 1 }
tnVwmMsInterfaceConformance    OBJECT IDENTIFIER ::= { tnVwmMsInterface 2 }
tnVwmMsInterfaceCompliances    OBJECT IDENTIFIER ::= { tnVwmMsInterfaceConformance 1 }
tnVwmMsInterfaceGroups         OBJECT IDENTIFIER ::= { tnVwmMsInterfaceConformance 2 }

tnVwmMsSnmp                    OBJECT IDENTIFIER ::= { tnVwmMsMIB 3 }
tnVwmMsSnmpNotifications       OBJECT IDENTIFIER ::= { tnVwmMsSnmp 0 }
tnVwmMsSnmpObjects             OBJECT IDENTIFIER ::= { tnVwmMsSnmp 1 }
tnVwmMsSnmpConformance         OBJECT IDENTIFIER ::= { tnVwmMsSnmp 2 }
tnVwmMsSnmpCompliances         OBJECT IDENTIFIER ::= { tnVwmMsSnmpConformance 1 }
tnVwmMsSnmpGroups              OBJECT IDENTIFIER ::= { tnVwmMsSnmpConformance 2 }

tnVwmMsFault                   OBJECT IDENTIFIER ::= { tnVwmMsMIB 4 }
tnVwmMsFaultObjects            OBJECT IDENTIFIER ::= { tnVwmMsFault 1 }
tnVwmMsFaultConformance        OBJECT IDENTIFIER ::= { tnVwmMsFault 2 }
tnVwmMsFaultCompliances        OBJECT IDENTIFIER ::= { tnVwmMsFaultConformance 1 }
tnVwmMsFaultGroups             OBJECT IDENTIFIER ::= { tnVwmMsFaultConformance 2 }

tnVwmMsDatabase                OBJECT IDENTIFIER ::= { tnVwmMsMIB 5 }
tnVwmMsDatabaseObjects         OBJECT IDENTIFIER ::= { tnVwmMsDatabase 1 }
tnVwmMsDatabaseConformance     OBJECT IDENTIFIER ::= { tnVwmMsDatabase 2 }
tnVwmMsDatabaseCompliances     OBJECT IDENTIFIER ::= { tnVwmMsDatabaseConformance 1 }
tnVwmMsDatabaseGroups          OBJECT IDENTIFIER ::= { tnVwmMsDatabaseConformance 2 }

tnVwmMsSoftware                OBJECT IDENTIFIER ::= { tnVwmMsMIB 6 }
tnVwmMsSoftwareObjects         OBJECT IDENTIFIER ::= { tnVwmMsSoftware 1 }
tnVwmMsSoftwareConformance     OBJECT IDENTIFIER ::= { tnVwmMsSoftware 2 }
tnVwmMsSoftwareCompliances     OBJECT IDENTIFIER ::= { tnVwmMsSoftwareConformance 1 }
tnVwmMsSoftwareGroups          OBJECT IDENTIFIER ::= { tnVwmMsSoftwareConformance 2 }

tnVwmMsTime                    OBJECT IDENTIFIER ::= { tnVwmMsMIB 7 }
tnVwmMsTimeObjects             OBJECT IDENTIFIER ::= { tnVwmMsTime 1 }
tnVwmMsTimeConformance         OBJECT IDENTIFIER ::= { tnVwmMsTime 2 }
tnVwmMsTimeCompliances         OBJECT IDENTIFIER ::= { tnVwmMsTimeConformance 1 }
tnVwmMsTimeGroups              OBJECT IDENTIFIER ::= { tnVwmMsTimeConformance 2 }

tnVwmMsSystemIp                OBJECT IDENTIFIER ::= { tnVwmMsMIB 8 }
tnVwmMsSystemIpObjects         OBJECT IDENTIFIER ::= { tnVwmMsSystemIp 1 }
tnVwmMsSystemIpConformance     OBJECT IDENTIFIER ::= { tnVwmMsSystemIp 2 }
tnVwmMsSystemIpCompliances     OBJECT IDENTIFIER ::= { tnVwmMsSystemIpConformance 1 }
tnVwmMsSystemIpGroups          OBJECT IDENTIFIER ::= { tnVwmMsSystemIpConformance 2 }

tnVwmMsSysDiscovery            OBJECT IDENTIFIER ::= { tnVwmMsMIB 9 }
tnVwmMsSysDiscoveryObjects     OBJECT IDENTIFIER ::= { tnVwmMsSysDiscovery 1 }
tnVwmMsSysDiscoveryConformance OBJECT IDENTIFIER ::= { tnVwmMsSysDiscovery 2 }
tnVwmMsSysDiscoveryCompliances OBJECT IDENTIFIER ::= { tnVwmMsSysDiscoveryConformance 1 }
tnVwmMsSysDiscoveryGroups      OBJECT IDENTIFIER ::= { tnVwmMsSysDiscoveryConformance 2 }

tnVwmMsPmon                    OBJECT IDENTIFIER ::= { tnVwmMsMIB 10 }
tnVwmMsPmonNotifications       OBJECT IDENTIFIER ::= { tnVwmMsPmon 0 }
tnVwmMsPmonObjects             OBJECT IDENTIFIER ::= { tnVwmMsPmon 1 }
tnVwmMsPmonConformance         OBJECT IDENTIFIER ::= { tnVwmMsPmon 2 }
tnVwmMsPmonCompliances         OBJECT IDENTIFIER ::= { tnVwmMsPmonConformance 1 }
tnVwmMsPmonGroups              OBJECT IDENTIFIER ::= { tnVwmMsPmonConformance 2 }

tnVwmMsSecurity                OBJECT IDENTIFIER ::= { tnVwmMsMIB 11 }
tnVwmMsSecurityNotifications   OBJECT IDENTIFIER ::= { tnVwmMsSecurity 0 }
tnVwmMsSecurityConformance     OBJECT IDENTIFIER ::= { tnVwmMsSecurity 2 }
tnVwmMsSecurityCompliances     OBJECT IDENTIFIER ::= { tnVwmMsSecurityConformance 1 }
tnVwmMsSecurityGroups          OBJECT IDENTIFIER ::= { tnVwmMsSecurityConformance 2 }

tnVwmMsOps                     OBJECT IDENTIFIER ::= { tnVwmMsMIB 12 }
tnVwmMsOpsNotifications        OBJECT IDENTIFIER ::= { tnVwmMsOps 0 }
tnVwmMsOpsObjects              OBJECT IDENTIFIER ::= { tnVwmMsOps 1 }
tnVwmMsOpsConformance          OBJECT IDENTIFIER ::= { tnVwmMsOps 2 }
tnVwmMsOpsCompliances          OBJECT IDENTIFIER ::= { tnVwmMsOpsConformance 1 }
tnVwmMsOpsGroups               OBJECT IDENTIFIER ::= { tnVwmMsOpsConformance 2 }

tnVwmMsUser                    OBJECT IDENTIFIER ::= { tnVwmMsMIB 13 }
tnVwmMsUserNotifications       OBJECT IDENTIFIER ::= { tnVwmMsUser 0 }
tnVwmMsUserObjects             OBJECT IDENTIFIER ::= { tnVwmMsUser 1 }
tnVwmMsUserConformance         OBJECT IDENTIFIER ::= { tnVwmMsUser 2 }
tnVwmMsUserCompliances         OBJECT IDENTIFIER ::= { tnVwmMsUserConformance 1 }
tnVwmMsUserGroups              OBJECT IDENTIFIER ::= { tnVwmMsUserConformance 2 }

tnVwmMsTransferLog             OBJECT IDENTIFIER ::= { tnVwmMsMIB 14 }
tnVwmMsTransferLogObjects      OBJECT IDENTIFIER ::= { tnVwmMsTransferLog 1 }
tnVwmMsTransferLogConformance  OBJECT IDENTIFIER ::= { tnVwmMsTransferLog 2 }
tnVwmMsTransferLogCompliances  OBJECT IDENTIFIER ::= { tnVwmMsTransferLogConformance 1 }
tnVwmMsTransferLogGroups       OBJECT IDENTIFIER ::= { tnVwmMsTransferLogConformance 2 }

tnVwmMsAgentCapability         OBJECT IDENTIFIER ::= { tnVwmMsMIB 100 }

--------------------------------------------------------------------------------
-- Type Definitions
--------------------------------------------------------------------------------
TropicVwmMsAcronymCode ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "12a"
    STATUS         current
    DESCRIPTION    "Readable Acronym Code string."
    SYNTAX         OCTET STRING (SIZE(0..12))

TropicVwmMsAsapIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for Alarm Severity Assignment Profiles (ASAPs)."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsAvailabilityStatus ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "The availability status."
    SYNTAX         INTEGER {
                       available(1),
                       unavailable(2)
                   }

TropicVwmMsCADefectBits ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Type defining defects contributing to Consequent Actions.
                    Bit value 1 implies the defect contribution is enabled."
    SYNTAX         BITS {
                       bLolCa(0),
                       bCpriLosCa(1),
                       bCpriLofCa(2),
                       bLssCa(3),
                       bHiserCa(4),
                       bLfiCa(5),
                       bOprCa(6),
                       bObsaiLosCa(7)
                   }

TropicVwmMsCardCLEICode ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "10a"
    STATUS         current
    DESCRIPTION    "Readable Card CLEI Code string."
    SYNTAX         OCTET STRING (SIZE(0..10))

TropicVwmMsCardCompanyIdentifier ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable Card Company Identifier string."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsCardCustomerInvField ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "46a"
    STATUS         current
    DESCRIPTION    "Readable Card Customer Inventory Field string."
    SYNTAX         OCTET STRING (SIZE(0..46))

TropicVwmMsCardDate ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "6a"
    STATUS         current
    DESCRIPTION    "Readable Card Date string.
                    Format is yymmdd (yy=year, mm=month, dd=day)."
    SYNTAX         OCTET STRING (SIZE(0..6))

TropicVwmMsCardFactoryIdentifier ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable Card Factory Identifier string."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsCardPartNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "14a"
    STATUS         current
    DESCRIPTION    "Readable Card (Unit and SW) Part Number string."
    SYNTAX         OCTET STRING (SIZE(0..14))

TropicVwmMsCardSerialNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "18a"
    STATUS         current
    DESCRIPTION    "Readable Card Serial Number string."
    SYNTAX         OCTET STRING (SIZE(0..18))

TropicVwmMsCdrChannelIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for CDR Channels."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsCdrChannelLabel ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "20a"
    STATUS         current
    DESCRIPTION    "CDR Channel Label string."
    SYNTAX         OCTET STRING (SIZE(0..20))

TropicVwmMsCdrChannelRate ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "CDR Channel rates. Value unknown(100) cannot be configured."
    SYNTAX         INTEGER {
                       auto(0),
                       cpriRate1(1),
                       cpriRate2(2),
                       cpriRate3(3),
                       cpriRate4(4),
                       cpriRate5(5),
                       cpriRate6(6),
                       cpriRate7(7),
                       cpriRate8(8),
                       cpriRate10(10),
                       obsaiRate1(11),
                       obsaiRate2(12),
                       obsaiRate4(13),
                       obsaiRate8(14),
                       gbe1(21),
                       gbe10(22),
                       gbe25(23),
                       hfc2G125(31),
                       hfc3G1(32),
                       hfc3G1875(33),
                       hfc4G25(34),
                       otu2(36),
                       unknown(100),
                       setByProfile(101)
                   }

TropicVwmMsCdrChannelRateCapabilityBits ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Type reflecting support for CDR Channel rates.
                    Bit value 1 implies support for the rate."
    SYNTAX         BITS {
                       bAuto(0),
                       bCpriRate1(1),
                       bCpriRate2(2),
                       bCpriRate3(3),
                       bCpriRate4(4),
                       bCpriRate5(5),
                       bCpriRate6(6),
                       bCpriRate7(7),
                       bCpriRate8(8),
                       bCpriRate10(10),
                       bObsaiRate1(11),
                       bObsaiRate2(12),
                       bObsaiRate4(13),
                       bObsaiRate8(14),
                       bGbe1(15),
                       bGbe10(16),
                       bGbe25(17),
                       bHfc2G125(18),
                       bHfc3G1(19),
                       bHfc3G1875(20),
                       bHfc4G25(21),
                       bOtu2(22),
                       bSetByProfile(23)
                   }

TropicVwmMsConnectionState ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Connection state of an RMU shelf with the OSU.

                   For the OSU the connection state is not applicable."
    SYNTAX         INTEGER {
                       connStateNotAppl(0),
                       connected(1),
                       notConnected(2)
                   }

TropicVwmMsDbSyncDirection ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "DB synchronization direction between OSU and RMU shelves.
                     - osuToRmu : Synchronize data from OSU to RMU.
                     - rmuToOsu : Synchronize data from RMU to OSU.

                   For the managing OSU the DB synchronization direction is
                   not applicable."
    SYNTAX         INTEGER {
                       osuToRmu(1),
                       rmuToOsu(2)
                   }

TropicVwmMsDcmDispersionFiberLength ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "2a"
    STATUS         current
    DESCRIPTION    "Readable string for dispersion fiber length inside DCM
                    module (unit: km)."
    SYNTAX         OCTET STRING (SIZE(0..2))

TropicVwmMsDcmDispersionFit ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "40a"
    STATUS         current
    DESCRIPTION    "Readable DCM dispersion fit string. The format is
                    [+-]x.xxxE[+-]xx[+-]x.xxxE[+-]xx[+-]x.xxxE[+-]xx[+-]x.xxxE[+-]xx"
    SYNTAX         OCTET STRING (SIZE(0..40))

TropicVwmMsDcmFiberType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable DCM Fiber Type string."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsDcmInsertionLoss ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable DCM insertion loss string (unit: dB)."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsDcmInsertionLossSlope ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable DCM insertion loss slope string (unit: dB).
                    The format is [+-]x.x"
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsDcmLatencyMismatch ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable DCM Latency Mismatch string.
                    The format is [+-]x.x"
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsDcmPmd ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable DCM Polarization Mode Dispersion Type string
                    (unit: ps)."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsDcmSize ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "5a"
    STATUS         current
    DESCRIPTION    "Readable DCM transmission fiber length string (unit: km)."
    SYNTAX         OCTET STRING (SIZE(0..5))

TropicVwmMsDdmDataType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Types of Digital Diagnostics Monitoring (DDM) Data."
    SYNTAX         INTEGER {
                       ddmVoltage(1),
                       ddmTemperature(2),
                       ddmLaserBiasCurrent(3),
                       ddmTransmittedPower(4),
                       ddmReceivedPower(5)
                   }

TropicVwmMsEVoaControlMode ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Mode of eVoa attenuation control."
    SYNTAX         INTEGER {
                       manual(1),
                       auto(2)
                   }

TropicVwmMsExtAlmInterfaceActivePos ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Indicates when an external alarm interface is active.
                     - activeClose : interface is active when closed
                     - activeOpen  : interface is active when open."
    SYNTAX         INTEGER {
                       activeClose(1),
                       activeOpen(2)
                   }

TropicVwmMsExtAlmInterfaceIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for external alarm interfaces."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsExtAnalogInterfaceIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for external analog interfaces."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsExtAnalogIfDiffVoltageType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Differential voltage of an external analog interface expressed
                    in percentages.
                    When the voltage difference between the two pins of the interface
                    is negative, this is expressed in a negative percentage.
                    When the voltage difference between the two pins of the interface
                    is positive, this is expressed in a positive percentage.
                    0% is equivalent with 0 Volts."
    SYNTAX         Integer32 (-100..100)

TropicVwmMsExtCtrlOutputIfIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for external control output interfaces."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsFaultAlarmTime ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Alarm raise or clear persistence time, in deciseconds."
    SYNTAX         Unsigned32

TropicVwmMsFaultLocationType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Fault Location types."
    SYNTAX         INTEGER {
                       faultLocUnknown(0),
                       faultLocShelf(1),
                       faultLocSlot(2),
                       faultLocIntfDataPlane(3),
                       faultLocIntfManagementPlane(4),
                       faultLocPwrIntf(5),
                       faultLocExtAlmIntf(6)
                   }

TropicVwmMsFiberLength ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Fiber Length, in centimetres (0.01m)."
    SYNTAX         Unsigned32

TropicVwmMsIfCapabilityBits ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Type reflecting the capabilities of an interface to support
                    specific functionality.
                    Bit value 1 implies support."
    SYNTAX         BITS {
                       bIfTraffic(0),
                       bIfRoleRflm(1),
                       bIfRoleUserData(2),
                       bIfMonitoring(3)
                   }

TropicVwmMsIfMonitorMode ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Interface monitor mode."
    SYNTAX         INTEGER {
                        monIdle(0),
                        monListen(1),
                        monTapInsert(2),
                        monOsc(3),
                        monTerminate(4),
                        monTerminateTransparent(5)
                    }

TropicVwmMsIfOtdrMeasurementType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Types of OTDR measurement.
                    Value none(0) is a read-only value."
    SYNTAX         INTEGER {
                       none(0),
                       baseline(1),
                       current(2)
                   }

TropicVwmMsIsdId ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "ISD (Image System Database) identifier."
    SYNTAX         INTEGER {
                        isd0(1),
                        isd1(2)
                    }

TropicVwmMsIsdStatus ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "ISD status."
    SYNTAX         INTEGER {
                        isdActive(1),
                        isdInactive(2),
                        isdError(3),
                        isdSoak(4)
                    }

TropicVwmMsManagementMode ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "RMU Shelf Management Modes.
                     - standalone : The RMU is not managed by the OSU.
                     - managed    : The RMU is managed by the OSU.

                   For the managing OSU the management mode is not applicable."
    SYNTAX         INTEGER {
                       standalone(1),
                       managed(2)
                   }

TropicVwmMsMnemonic ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "8a"
    STATUS         current
    DESCRIPTION    "Readable Mnemonic string."
    SYNTAX         OCTET STRING (SIZE(0..8))

TropicVwmMsMnemonicIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for Mnemonics."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsNtpServerIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for NTP servers."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsOpsInventoryData ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "10a"
    STATUS         current
    DESCRIPTION    "Readable OPS Card inventory data string."
    SYNTAX         OCTET STRING (SIZE(0..10))

TropicVwmMsOpsOsmDsvSelectorPosition ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "OSM-DSV signal selector position."
    SYNTAX         INTEGER {
                       a(1),
                       b(2)
                   }

TropicVwmMsOpsOsmPowerHysteresis ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Power Hysteresis in tenths of dB."
    SYNTAX         Integer32

TropicVwmMsOpsOsmSwitchCommand ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "OPS OSM protection switch command values."
    SYNTAX         INTEGER {
                       clear(0),
                       forcedSwitchToWorker(1),
                       forcedSwitchToProtection(2),
                       manualSwitchToWorker(3),
                       manualSwitchToProtection(4)
                   }

TropicVwmMsOpsOsmSwitchCount ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "OSM switch count."
    SYNTAX         Unsigned32

TropicVwmMsOpsOsmTime ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "OSM timer values in milliseconds."
    SYNTAX         Unsigned32

TropicVwmMsOpsPaeStatus ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "OPS Protection Audit Entity status values."
    SYNTAX         INTEGER {
                       inactive(0),
                       init(1),
                       auditBlock(2),
                       loSync(3),
                       worker(4),
                       protection(5),
                       waitToRestore(6),
                       swToWorker(7),
                       swToProtection(8),
                       restoring(9)
                   }

TropicVwmMsOpticalPower ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Optical power in tenths of dBm."
    SYNTAX         Integer32

TropicVwmMsOpticalPowerThreshold ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Optical power threshold in tenths of dBm."
    SYNTAX         Integer32

TropicVwmMsPmonIntervalType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Performance Monitoring interval type."
    SYNTAX         INTEGER {
                       minutes15(1),
                       hours24(2)
                   }

TropicVwmMsPmudSelectorPosition ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "PMU-D band selector position."
    SYNTAX         INTEGER {
                       band1(1),
                       band2(2)
                   }

TropicVwmMsPortLabel ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "20a"
    STATUS         current
    DESCRIPTION    "Readable Port Label string."
    SYNTAX         OCTET STRING (SIZE(0..20))

TropicVwmMsPowerInterfaceIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for power interfaces."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsPrbsTestStatus ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "The status of the PRBS test."
    SYNTAX         INTEGER {
                        none(1),
                        active(2),
                        idle(3)
                    }

TropicVwmMsRestartCapabilityBits ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Restart capabilities."
    SYNTAX         BITS {
                       bWarmRestart(0),
                       bColdRestart(1)
                   }

TropicVwmMsRestartType ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "The type of restart."
    SYNTAX         INTEGER {
                        noCmd(1),
                        warm(2),
                        cold(3)
                    }

TropicVwmMsRflmLabel ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "64a"
    STATUS         current
    DESCRIPTION    "RFLM Interface Label string."
    SYNTAX         OCTET STRING (SIZE(0..64))

TropicVwmMsSfpAluPartNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "12a"
    STATUS         current
    DESCRIPTION    "Readable SFP Nokia Part Number string."
    SYNTAX         OCTET STRING (SIZE(0..12))

TropicVwmMsSfpAluSerialNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "18a"
    STATUS         current
    DESCRIPTION    "Readable SFP Nokia Serial Number string."
    SYNTAX         OCTET STRING (SIZE(0..18))

TropicVwmMsSfpCLEICode ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "10a"
    STATUS         current
    DESCRIPTION    "Readable SFP CLEI Code string."
    SYNTAX         OCTET STRING (SIZE(0..10))

TropicVwmMsSfpConnectorType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "Type of SFP connector."
    SYNTAX         OCTET STRING (SIZE(1))

TropicVwmMsSfpIcs ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "6a"
    STATUS         current
    DESCRIPTION    "Readable SFP Interchangeability Marker string."
    SYNTAX         OCTET STRING (SIZE(0..6))

TropicVwmMsSfpIdentifier ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "Type for the SFP identifier. The value is identical to
                    the first 2 bytes of the MSA (MultiSource Agreement)
                    page. The first byte indicates the identifier (Type of
                    serial transceiver) and the second byte indicates the
                    extended identifier."
    SYNTAX         OCTET STRING (SIZE(2))

TropicVwmMsSfpLinkLength ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "SFP link length."
    SYNTAX         OCTET STRING (SIZE(6))

TropicVwmMsSfpPartNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "16a"
    STATUS         current
    DESCRIPTION    "Readable SFP Part Number string."
    SYNTAX         OCTET STRING (SIZE(0..16))

TropicVwmMsSfpProfileIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for SFP Profiles."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsSfpProfileIndexTypeOrAll ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for SFP Profiles.
                     Value 0 indicates 'all'."
    SYNTAX         Unsigned32 (0..4294967295)

TropicVwmMsSfpRevisionNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "4a"
    STATUS         current
    DESCRIPTION    "Readable SFP Revision Number string."
    SYNTAX         OCTET STRING (SIZE(0..4))

TropicVwmMsSfpSIC ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "7a"
    STATUS         current
    DESCRIPTION    "Readable SFP Sales Item Code string."
    SYNTAX         OCTET STRING (SIZE(0..7))

TropicVwmMsSfpTransceiverCode ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "Type of SFP transceiver codes for electrical
                    or optical compatibility."
    SYNTAX         OCTET STRING (SIZE(8))

TropicVwmMsSfpTxFrequency ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Configurable frequency of a tunable SFP.

                    Each numerical value represents a transmission frequency.
                    A numerical value can be converted to the transmission
                    frequency in terahertz (THz) as follows:
                      THz = 100 + number/100
                    E.g. numerical value 9280 corresponds to 192.8 THz."
    SYNTAX         INTEGER {
                        sfpTxFreqNone(0),
                        sfpTxFreq9135(9135),
                        sfpTxFreq9140(9140),
                        sfpTxFreq9145(9145),
                        sfpTxFreq9150(9150),
                        sfpTxFreq9155(9155),
                        sfpTxFreq9160(9160),
                        sfpTxFreq9165(9165),
                        sfpTxFreq9170(9170),
                        sfpTxFreq9175(9175),
                        sfpTxFreq9180(9180),
                        sfpTxFreq9185(9185),
                        sfpTxFreq9190(9190),
                        sfpTxFreq9195(9195),
                        sfpTxFreq9200(9200),
                        sfpTxFreq9205(9205),
                        sfpTxFreq9210(9210),
                        sfpTxFreq9215(9215),
                        sfpTxFreq9220(9220),
                        sfpTxFreq9225(9225),
                        sfpTxFreq9230(9230),
                        sfpTxFreq9235(9235),
                        sfpTxFreq9240(9240),
                        sfpTxFreq9245(9245),
                        sfpTxFreq9250(9250),
                        sfpTxFreq9255(9255),
                        sfpTxFreq9260(9260),
                        sfpTxFreq9265(9265),
                        sfpTxFreq9270(9270),
                        sfpTxFreq9275(9275),
                        sfpTxFreq9280(9280),
                        sfpTxFreq9285(9285),
                        sfpTxFreq9290(9290),
                        sfpTxFreq9295(9295),
                        sfpTxFreq9300(9300),
                        sfpTxFreq9305(9305),
                        sfpTxFreq9310(9310),
                        sfpTxFreq9315(9315),
                        sfpTxFreq9320(9320),
                        sfpTxFreq9325(9325),
                        sfpTxFreq9330(9330),
                        sfpTxFreq9335(9335),
                        sfpTxFreq9340(9340),
                        sfpTxFreq9345(9345),
                        sfpTxFreq9350(9350),
                        sfpTxFreq9355(9355),
                        sfpTxFreq9360(9360),
                        sfpTxFreq9365(9365),
                        sfpTxFreq9370(9370),
                        sfpTxFreq9375(9375),
                        sfpTxFreq9380(9380),
                        sfpTxFreq9385(9385),
                        sfpTxFreq9390(9390),
                        sfpTxFreq9395(9395),
                        sfpTxFreq9400(9400),
                        sfpTxFreq9405(9405),
                        sfpTxFreq9410(9410),
                        sfpTxFreq9415(9415),
                        sfpTxFreq9420(9420),
                        sfpTxFreq9425(9425),
                        sfpTxFreq9430(9430),
                        sfpTxFreq9435(9435),
                        sfpTxFreq9440(9440),
                        sfpTxFreq9445(9445),
                        sfpTxFreq9450(9450),
                        sfpTxFreq9455(9455),
                        sfpTxFreq9460(9460),
                        sfpTxFreq9465(9465),
                        sfpTxFreq9470(9470),
                        sfpTxFreq9475(9475),
                        sfpTxFreq9480(9480),
                        sfpTxFreq9485(9485),
                        sfpTxFreq9490(9490),
                        sfpTxFreq9495(9495),
                        sfpTxFreq9500(9500),
                        sfpTxFreq9505(9505),
                        sfpTxFreq9510(9510),
                        sfpTxFreq9515(9515),
                        sfpTxFreq9520(9520),
                        sfpTxFreq9525(9525),
                        sfpTxFreq9530(9530),
                        sfpTxFreq9535(9535),
                        sfpTxFreq9540(9540),
                        sfpTxFreq9545(9545),
                        sfpTxFreq9550(9550),
                        sfpTxFreq9555(9555),
                        sfpTxFreq9560(9560),
                        sfpTxFreq9565(9565),
                        sfpTxFreq9570(9570),
                        sfpTxFreq9575(9575),
                        sfpTxFreq9580(9580),
                        sfpTxFreq9585(9585),
                        sfpTxFreq9590(9590),
                        sfpTxFreq9595(9595),
                        sfpTxFreq9600(9600),
                        sfpTxFreq9605(9605),
                        sfpTxFreq9610(9610)
                    }

TropicVwmMsSfpVendorDate ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "8a"
    STATUS         current
    DESCRIPTION    "Readable SFP Vendor Date string."
    SYNTAX         OCTET STRING (SIZE(0..8))

TropicVwmMsSfpVendorName ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "16a"
    STATUS         current
    DESCRIPTION    "Readable SFP Vendor Name string."
    SYNTAX         OCTET STRING (SIZE(0..16))

TropicVwmMsSfpVendorOUI ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "SFP Vendor OUI."
    SYNTAX         OCTET STRING (SIZE(3))

TropicVwmMsSfpVendorSerialNumber ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "16a"
    STATUS         current
    DESCRIPTION    "Readable SFP Vendor Serial Number string."
    SYNTAX         OCTET STRING (SIZE(0..16))

TropicVwmMsSfpVendorSpecific ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "1x:"
    STATUS         current
    DESCRIPTION    "SFP Vendor Specific Data."
    SYNTAX         OCTET STRING (SIZE(32))

TropicVwmMsShelfFreeIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Free index for shelf creation."
    SYNTAX         Unsigned32

TropicVwmMsShelfIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for shelves."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsShelfIndexTypeOrNone ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for shelves.
                    Value 0 indicates 'no shelf'/'none'."
    SYNTAX         Unsigned32 (0..4294967295)

TropicVwmMsShelfSynchState ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Shelf history PM data synchronization state."
    SYNTAX         INTEGER {
                        synchNotApplicable(0),
                        synching(1),
                        synchronized(2)
                    }

TropicVwmMsSignalAttenuation ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Signal attenuation, in hundredths of dB (mB)."
    SYNTAX         Unsigned32

TropicVwmMsSignalGainLoss ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Signal gain or loss, in hundredths of dB (mB)."
    SYNTAX         Integer32

TropicVwmMsSlotIndexType ::= TEXTUAL-CONVENTION
    DISPLAY-HINT   "d"
    STATUS         current
    DESCRIPTION    "Index for slots."
    SYNTAX         Unsigned32 (1..4294967295)

TropicVwmMsSlotAssignmentStatus ::= TEXTUAL-CONVENTION
    STATUS         current
    DESCRIPTION    "Slot assignment status."
    SYNTAX         INTEGER {
                        assigned(1),
                        auto(2)
                    }

--------------------------------------------------------------------------------
-- VWMMS Shelf Scalars
--------------------------------------------------------------------------------

tnVwmMsShelfNextFreeIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfFreeIndexType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the lowest value that can be used as index to
                    create an entry in tnVwmMsShelfTable."
    ::= { tnVwmMsEquipmentObjects 4 }

tnVwmMsShelvesNumber OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The number of entries in the tnVwmMsShelfTable."
    ::= { tnVwmMsEquipmentObjects 5 }

--------------------------------------------------------------------------------
-- VWMMS Shelf Table
--------------------------------------------------------------------------------

tnVwmMsShelfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsShelfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS shelf table."
    ::= { tnVwmMsEquipmentObjects 1 }

tnVwmMsShelfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsShelfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsShelfTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsShelfTable 1 }

TnVwmMsShelfEntry ::=
    SEQUENCE {
        tnVwmMsShelfIndex            TropicVwmMsShelfIndexType,
        tnVwmMsShelfName             SnmpAdminString,
        tnVwmMsShelfDescr            SnmpAdminString,
        tnVwmMsShelfProgrammedType   OBJECT IDENTIFIER,
        tnVwmMsShelfPresentType      OBJECT IDENTIFIER,
        tnVwmMsShelfLampTest         INTEGER,
        tnVwmMsShelfSerialNumber     SnmpAdminString,
        tnVwmMsShelfLocation         OCTET STRING,
        tnVwmMsShelfLocationCode     OCTET STRING,
        tnVwmMsShelfManagementMode   TropicVwmMsManagementMode,
        tnVwmMsShelfDbSyncDirection  TropicVwmMsDbSyncDirection,
        tnVwmMsShelfConnectionState  TropicVwmMsConnectionState,
        tnVwmMsShelfSynchState       TropicVwmMsShelfSynchState,
        tnVwmMsShelfLatitude         Integer32,
        tnVwmMsShelfLongitude        Integer32,
        tnVwmMsShelfAltitude         Integer32,
        tnVwmMsShelfTypeString       TropicVwmMsMnemonic
        }

tnVwmMsShelfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Shelf index number."
    ::= { tnVwmMsShelfEntry 1 }

tnVwmMsShelfName OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf name (an abbreviated description)."
    DEFVAL         { "" }
    ::= { tnVwmMsShelfEntry 2 }

tnVwmMsShelfDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..255))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf description."
    DEFVAL         { "" }
    ::= { tnVwmMsShelfEntry 3 }

tnVwmMsShelfProgrammedType OBJECT-TYPE
    SYNTAX         OBJECT IDENTIFIER
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Configured shelf type."
    DEFVAL         { tropicEmptyShelf }
    ::= { tnVwmMsShelfEntry 4 }

tnVwmMsShelfPresentType OBJECT-TYPE
    SYNTAX         OBJECT IDENTIFIER
    MAX-ACCESS     read-only
    STATUS         deprecated
    DESCRIPTION    "Present shelf type.
                    This object is deprecated and should not be used any more."
    ::= { tnVwmMsShelfEntry 5 }

tnVwmMsShelfLampTest OBJECT-TYPE
    SYNTAX         INTEGER {
                       inactive(1),
                       active(2)
                   }
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Status of the lamp (LED) test on the shelf.
                    When inactive(1) and set to active(2,) the test is started.
                    When active(2) and set to inactive(1), the test is stopped.
                    When set to its current value this is a NOP.

                    The test is stopped automatically by the NE after 30 seconds,
                    if not stopped manually before."
    DEFVAL         { inactive }
    ::= { tnVwmMsShelfEntry 6 }

tnVwmMsShelfSerialNumber OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..18))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf serial number."
    ::= { tnVwmMsShelfEntry 7 }

tnVwmMsShelfLocation OBJECT-TYPE
    SYNTAX         OCTET STRING(SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf location string."
    ::= { tnVwmMsShelfEntry 8 }

tnVwmMsShelfLocationCode OBJECT-TYPE
    SYNTAX         OCTET STRING(SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf location code string."
    ::= { tnVwmMsShelfEntry 9 }

tnVwmMsShelfManagementMode OBJECT-TYPE
    SYNTAX         TropicVwmMsManagementMode
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "RMU management mode.

                    This object is not applicable for the managing OSU,
                    and has fixed value standalone(1)."
    ::= { tnVwmMsShelfEntry 10 }

tnVwmMsShelfDbSyncDirection OBJECT-TYPE
    SYNTAX         TropicVwmMsDbSyncDirection
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "DB synchronization direction between RMU and OSU.

                    This object is not applicable for the managing OSU,
                    and has fixed value osuToRmu(1)."
    ::= { tnVwmMsShelfEntry 11 }

tnVwmMsShelfConnectionState OBJECT-TYPE
    SYNTAX         TropicVwmMsConnectionState
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Connection state of RMU with OSU.

                    This object is not applicable for the managing OSU,
                    and has fixed value connStateNotAppl(0)."
    ::= { tnVwmMsShelfEntry 12 }

tnVwmMsShelfSynchState OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfSynchState
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether history PM data of the shelf are being
                    synchronized with the OSU."
    ::= { tnVwmMsShelfEntry 13 }

tnVwmMsShelfLatitude OBJECT-TYPE
    SYNTAX         Integer32 (-90000000..90000000)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf latitude, in microdegrees, in the
                    WGS84 reference frame."
    ::= { tnVwmMsShelfEntry 14 }

tnVwmMsShelfLongitude OBJECT-TYPE
    SYNTAX         Integer32 (-180000000..180000000)
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf longitude, in microdegrees, in the
                    WGS84 reference frame."
    ::= { tnVwmMsShelfEntry 15 }

tnVwmMsShelfAltitude OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Shelf altitude, in metres, in the WGS84
                    reference frame."
    ::= { tnVwmMsShelfEntry 16 }

tnVwmMsShelfTypeString OBJECT-TYPE
      SYNTAX         TropicVwmMsMnemonic
      MAX-ACCESS     read-only
      STATUS         current
      DESCRIPTION    "Configured shelf type string."
      ::= { tnVwmMsShelfEntry 17 }

tnVwmMsShelfCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS Shelf (TROPIC-VWMMS-MIB, tnVwmMsShelfTable)
                 creation notification."
::= { tnVwmMsEquipmentNotifications 1 }

tnVwmMsShelfDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS Shelf (TROPIC-VWMMS-MIB, tnVwmMsShelfTable)
                 deletion notification."
::= { tnVwmMsEquipmentNotifications 2 }

--------------------------------------------------------------------------------
-- VWMMS Shelf Restart Table
--------------------------------------------------------------------------------

tnVwmMsShelfRestartTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsShelfRestartEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Shelf Restart table."
    ::= { tnVwmMsEquipmentObjects 6 }

tnVwmMsShelfRestartEntry OBJECT-TYPE
    SYNTAX         TnVwmMsShelfRestartEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsShelfRestartTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsShelfRestartTable 1 }

TnVwmMsShelfRestartEntry ::=
    SEQUENCE {
        tnVwmMsShelfRestart             TropicVwmMsRestartType,
        tnVwmMsShelfRestartCapability   TropicVwmMsRestartCapabilityBits
        }

tnVwmMsShelfRestart OBJECT-TYPE
    SYNTAX         TropicVwmMsRestartType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Shelf Restart."
    DEFVAL         { noCmd }
    ::= { tnVwmMsShelfRestartEntry 1 }

tnVwmMsShelfRestartCapability OBJECT-TYPE
    SYNTAX         TropicVwmMsRestartCapabilityBits
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Shelf Restart Capability."
    ::= { tnVwmMsShelfRestartEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Slot Table
--------------------------------------------------------------------------------

tnVwmMsSlotTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSlotEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS slot table."
    ::= { tnVwmMsEquipmentObjects 2 }

tnVwmMsSlotEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSlotEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSlotTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsSlotTable 1 }

TnVwmMsSlotEntry ::=
    SEQUENCE {
        tnVwmMsSlotIndex           TropicVwmMsSlotIndexType,
        tnVwmMsSlotProgrammedType  OBJECT IDENTIFIER,
        tnVwmMsSlotPresentType     OBJECT IDENTIFIER,
        tnVwmMsSlotAssignedStatus  TropicVwmMsSlotAssignmentStatus
        }

tnVwmMsSlotIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSlotIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Slot index number."
    ::= { tnVwmMsSlotEntry 1 }

tnVwmMsSlotProgrammedType OBJECT-TYPE
    SYNTAX         OBJECT IDENTIFIER
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Type of slot provisioned."
    DEFVAL         { tropicEmptyCard }
    ::= { tnVwmMsSlotEntry 2 }

tnVwmMsSlotPresentType OBJECT-TYPE
    SYNTAX         OBJECT IDENTIFIER
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Type of slot present."
    ::= { tnVwmMsSlotEntry 3 }

tnVwmMsSlotAssignedStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsSlotAssignmentStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Assigned status of the slot."
    ::= { tnVwmMsSlotEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS Card Table
--------------------------------------------------------------------------------

tnVwmMsCardTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS card table."
    ::= { tnVwmMsEquipmentObjects 3 }

tnVwmMsCardEntry OBJECT-TYPE
    SYNTAX         TnVwmMsCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsCardTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsCardTable 1 }

TnVwmMsCardEntry ::=
    SEQUENCE {
        tnVwmMsCardInvStatus       TropicVwmMsAvailabilityStatus,
        tnVwmMsCardCompanyID       TropicVwmMsCardCompanyIdentifier,
        tnVwmMsCardMnemonic        TropicVwmMsMnemonic,
        tnVwmMsCardCLEI            TropicVwmMsCardCLEICode,
        tnVwmMsCardUnitPartNumber  TropicVwmMsCardPartNumber,
        tnVwmMsCardSwPartNumber    TropicVwmMsCardPartNumber,
        tnVwmMsCardFactoryID       TropicVwmMsCardFactoryIdentifier,
        tnVwmMsCardSerialNumber    TropicVwmMsCardSerialNumber,
        tnVwmMsCardDate            TropicVwmMsCardDate,
        tnVwmMsCardCustInvField    TropicVwmMsCardCustomerInvField,
        tnVwmMsCardFwVersion       SnmpAdminString
        }

tnVwmMsCardInvStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card inventory availability status.
                    When the value of this object is unavailable(2),
                    the values of all other objects of the same table
                    row are not relevant."
    ::= { tnVwmMsCardEntry 1 }

tnVwmMsCardCompanyID OBJECT-TYPE
    SYNTAX         TropicVwmMsCardCompanyIdentifier
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card company identifier."
    ::= { tnVwmMsCardEntry 2 }

tnVwmMsCardMnemonic OBJECT-TYPE
    SYNTAX         TropicVwmMsMnemonic
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card mnemonic."
    ::= { tnVwmMsCardEntry 3 }

tnVwmMsCardCLEI OBJECT-TYPE
    SYNTAX         TropicVwmMsCardCLEICode
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card CLEI Code."
    ::= { tnVwmMsCardEntry 4 }

tnVwmMsCardUnitPartNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsCardPartNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card Unit (manufacturing) Part Number."
    ::= { tnVwmMsCardEntry 5 }

tnVwmMsCardSwPartNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsCardPartNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card Software Part Number."
    ::= { tnVwmMsCardEntry 6 }

tnVwmMsCardFactoryID OBJECT-TYPE
    SYNTAX         TropicVwmMsCardFactoryIdentifier
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card factory identifier."
    ::= { tnVwmMsCardEntry 7 }

tnVwmMsCardSerialNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsCardSerialNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card serial number."
    ::= { tnVwmMsCardEntry 8 }

tnVwmMsCardDate OBJECT-TYPE
    SYNTAX         TropicVwmMsCardDate
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card date."
    ::= { tnVwmMsCardEntry 9 }

tnVwmMsCardCustInvField OBJECT-TYPE
    SYNTAX         TropicVwmMsCardCustomerInvField
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card customer inventory field."
    ::= { tnVwmMsCardEntry 10 }

tnVwmMsCardFwVersion OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Card Firmware Version."
    ::= { tnVwmMsCardEntry 11 }

--------------------------------------------------------------------------------
-- VWMMS OPS Card Table
--------------------------------------------------------------------------------

tnVwmMsOpsCardTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS OPS card table.
                    OPS specific card inventory data."
    ::= { tnVwmMsEquipmentObjects 7 }

tnVwmMsOpsCardEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsCardTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsCardTable 1 }

TnVwmMsOpsCardEntry ::=
    SEQUENCE {
        tnVwmMsOpsCardCalibrationDate  TropicVwmMsOpsInventoryData,
        tnVwmMsOpsCardFwVersion        TropicVwmMsOpsInventoryData,
        tnVwmMsOpsCardHwVersion        TropicVwmMsOpsInventoryData,
        tnVwmMsOpsCardVendorId         TropicVwmMsOpsInventoryData
        }

tnVwmMsOpsCardCalibrationDate OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsInventoryData
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "OPS Card calibration date."
    ::= { tnVwmMsOpsCardEntry 1 }

tnVwmMsOpsCardFwVersion OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsInventoryData
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "OPS Card firmware version."
    ::= { tnVwmMsOpsCardEntry 2 }

tnVwmMsOpsCardHwVersion OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsInventoryData
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "OPS Card hardware version."
    ::= { tnVwmMsOpsCardEntry 3 }

tnVwmMsOpsCardVendorId OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsInventoryData
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "OPS Card vendor ID."
    ::= { tnVwmMsOpsCardEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS Amplifier Card Table
--------------------------------------------------------------------------------

tnVwmMsAmplifierCardTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAmplifierCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS amplifier card table."
    ::= { tnVwmMsEquipmentObjects 14 }

tnVwmMsAmplifierCardEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAmplifierCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAmplifierCardTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsAmplifierCardTable 1 }

TnVwmMsAmplifierCardEntry ::=
    SEQUENCE {
        tnVwmMsAmplifierCardPowerSupplyVoltage  Unsigned32
        }

tnVwmMsAmplifierCardPowerSupplyVoltage OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier card power supply voltage in tenths of volts."
    ::= { tnVwmMsAmplifierCardEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM-DSV Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmDsvTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmDsvEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM-DSV management."
    ::= { tnVwmMsEquipmentObjects 8 }

tnVwmMsOpsOsmDsvEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmDsvEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmDsvTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsOsmDsvTable 1 }

TnVwmMsOpsOsmDsvEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmDsvThresholdA              TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmDsvThresholdB              TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmDsvThresholdSigIn          TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmDsvThresholdSigOut         TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmDsvThresholdHysteresis     TropicVwmMsOpsOsmPowerHysteresis,
            tnVwmMsOpsOsmDsvAvailabilityStatus      TropicVwmMsAvailabilityStatus,
            tnVwmMsOpsOsmDsvOprA                    TruthValue,
            tnVwmMsOpsOsmDsvOprB                    TruthValue,
            tnVwmMsOpsOsmDsvOprSIG                  TruthValue,
            tnVwmMsOpsOsmDsvRxPowerA                TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmDsvRxPowerB                TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmDsvRxPowerSIG              TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmDsvTxPowerSIG              TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmDsvEVoaSigInAOut           TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvEVoaSigInBOut           TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvEVoaSigOutAIn           TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvEVoaSigOutBIn           TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvEVoaSigIn               TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvEVoaSigOut              TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvApsActive               TruthValue,
            tnVwmMsOpsOsmDsvActualSelectorPosition  TropicVwmMsOpsOsmDsvSelectorPosition,
            tnVwmMsOpsOsmDsvConfigSelectorPosition  TropicVwmMsOpsOsmDsvSelectorPosition
        }

tnVwmMsOpsOsmDsvThresholdA OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port A."
    ::= { tnVwmMsOpsOsmDsvEntry 1 }

tnVwmMsOpsOsmDsvThresholdB OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port B."
    ::= { tnVwmMsOpsOsmDsvEntry 2 }

tnVwmMsOpsOsmDsvThresholdSigIn OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port SIG."
    ::= { tnVwmMsOpsOsmDsvEntry 3 }

tnVwmMsOpsOsmDsvThresholdSigOut OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the output signal of port SIG."
    ::= { tnVwmMsOpsOsmDsvEntry 4 }

tnVwmMsOpsOsmDsvThresholdHysteresis OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmPowerHysteresis
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power Hysteresis for input signals."
    ::= { tnVwmMsOpsOsmDsvEntry 5 }

tnVwmMsOpsOsmDsvAvailabilityStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the availability of the following read-only
                    data of the current row :

                     - tnVwmMsOpsOsmDsvOprA
                     - tnVwmMsOpsOsmDsvOprB
                     - tnVwmMsOpsOsmDsvOprSIG
                     - tnVwmMsOpsOsmDsvRxPowerA
                     - tnVwmMsOpsOsmDsvRxPowerB
                     - tnVwmMsOpsOsmDsvRxPowerSIG
                     - tnVwmMsOpsOsmDsvTxPowerSIG
                     - tnVwmMsOpsOsmDsvEVoaSigIn
                     - tnVwmMsOpsOsmDsvEVoaSigOut
                     - tnVwmMsOpsOsmDsvActualSelectorPosition

                    In case the OPS to which this OSM-DSV belongs is not
                    reachable from the OSU, the actual values of above
                    objects can not be retrieved, and their current values
                    might not reflect the actual status of this OSM-DSV."
    ::= { tnVwmMsOpsOsmDsvEntry 6 }

tnVwmMsOpsOsmDsvOprA OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical Power Received (OPR) defect status of port A."
    ::= { tnVwmMsOpsOsmDsvEntry 7 }

tnVwmMsOpsOsmDsvOprB OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical Power Received (OPR) defect status of port B."
    ::= { tnVwmMsOpsOsmDsvEntry 8 }

tnVwmMsOpsOsmDsvOprSIG OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical Power Received (OPR) defect status of port SIG."
    ::= { tnVwmMsOpsOsmDsvEntry 9 }

tnVwmMsOpsOsmDsvRxPowerA OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port A."
    ::= { tnVwmMsOpsOsmDsvEntry 10 }

tnVwmMsOpsOsmDsvRxPowerB OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port B."
    ::= { tnVwmMsOpsOsmDsvEntry 11 }

tnVwmMsOpsOsmDsvRxPowerSIG OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port SIG."
    ::= { tnVwmMsOpsOsmDsvEntry 12 }

tnVwmMsOpsOsmDsvTxPowerSIG OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of output signal of port SIG."
    ::= { tnVwmMsOpsOsmDsvEntry 13 }

tnVwmMsOpsOsmDsvEVoaSigInAOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the SIG IN port in case the
                    TX selector points to the A OUT port."
    ::= { tnVwmMsOpsOsmDsvEntry 14 }

tnVwmMsOpsOsmDsvEVoaSigInBOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the SIG IN port in case the
                    TX selector points to the B OUT port."
    ::= { tnVwmMsOpsOsmDsvEntry 15 }

tnVwmMsOpsOsmDsvEVoaSigOutAIn OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the SIG OUT port in case the
                    RX selector points to the A IN port."
    ::= { tnVwmMsOpsOsmDsvEntry 16 }

tnVwmMsOpsOsmDsvEVoaSigOutBIn OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the SIG OUT port in case the
                    RX selector points to the B IN port."
    ::= { tnVwmMsOpsOsmDsvEntry 17 }

tnVwmMsOpsOsmDsvEVoaSigIn OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the SIG IN port."
    ::= { tnVwmMsOpsOsmDsvEntry 18 }

tnVwmMsOpsOsmDsvEVoaSigOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the SIG OUT port."
    ::= { tnVwmMsOpsOsmDsvEntry 19 }

tnVwmMsOpsOsmDsvApsActive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether automatic protection switching
                    is active for this OSM-DSV."
    ::= { tnVwmMsOpsOsmDsvEntry 20 }

tnVwmMsOpsOsmDsvActualSelectorPosition OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmDsvSelectorPosition
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual position of the selector."
    ::= { tnVwmMsOpsOsmDsvEntry 21 }

tnVwmMsOpsOsmDsvConfigSelectorPosition OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmDsvSelectorPosition
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured position of the selector.
                    This position applies when object tnVwmMsOpsOsmDsvApsActive
                    has value false(2)."
    ::= { tnVwmMsOpsOsmDsvEntry 22 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM-DSV Insertion Loss Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmDsvInsertionLossTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmDsvInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM-DSV Insertion Loss dat."
    ::= { tnVwmMsEquipmentObjects 10 }

tnVwmMsOpsOsmDsvInsertionLossEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmDsvInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmDsvInsertionLossTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsOsmDsvInsertionLossTable 1 }

TnVwmMsOpsOsmDsvInsertionLossEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmDsvInsertionLossSigInAOut  TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvInsertionLossSigInBOut  TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvInsertionLossAInSigOut  TropicVwmMsSignalAttenuation,
            tnVwmMsOpsOsmDsvInsertionLossBInSigOut  TropicVwmMsSignalAttenuation
        }

tnVwmMsOpsOsmDsvInsertionLossSigInAOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss at the SIG IN port in case the TX selector
                    points to the A OUT port."
    ::= { tnVwmMsOpsOsmDsvInsertionLossEntry 1 }

tnVwmMsOpsOsmDsvInsertionLossSigInBOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss at the SIG IN port in case the TX selector
                    points to the B OUT port."
    ::= { tnVwmMsOpsOsmDsvInsertionLossEntry 2 }

tnVwmMsOpsOsmDsvInsertionLossAInSigOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss at the SIG OUT port in case the RX selector
                    points to the A IN port."
    ::= { tnVwmMsOpsOsmDsvInsertionLossEntry 3 }

tnVwmMsOpsOsmDsvInsertionLossBInSigOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss at the SIG OUT port in case the RX selector
                    points to the B IN port."
    ::= { tnVwmMsOpsOsmDsvInsertionLossEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS PMU-D Table
--------------------------------------------------------------------------------

tnVwmMsPmudTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsPmudEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for PMU-D management."
    ::= { tnVwmMsEquipmentObjects 9 }

tnVwmMsPmudEntry OBJECT-TYPE
    SYNTAX         TnVwmMsPmudEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsPmudTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsPmudTable 1 }

TnVwmMsPmudEntry ::=
    SEQUENCE {
            tnVwmMsPmudEVoaBandInLine1Out        TropicVwmMsSignalAttenuation,
            tnVwmMsPmudEVoaBandInLine2Out        TropicVwmMsSignalAttenuation,
            tnVwmMsPmudEVoaBandOutLine1In        TropicVwmMsSignalAttenuation,
            tnVwmMsPmudEVoaBandOutLine2In        TropicVwmMsSignalAttenuation,
            tnVwmMsPmudEVoaBandIn                TropicVwmMsSignalAttenuation,
            tnVwmMsPmudEVoaBandOut               TropicVwmMsSignalAttenuation,
            tnVwmMsPmudApsActive                 TruthValue,
            tnVwmMsPmudActualSelectorPosition    TropicVwmMsPmudSelectorPosition,
            tnVwmMsPmudConfigSelectorPosition    TropicVwmMsPmudSelectorPosition,
            tnVwmMsPmudEVoaControlBandInLine1Out TropicVwmMsEVoaControlMode,
            tnVwmMsPmudEVoaControlBandInLine2Out TropicVwmMsEVoaControlMode,
            tnVwmMsPmudActualEVoaBandInLine1Out  TropicVwmMsSignalAttenuation,
            tnVwmMsPmudActualEVoaBandInLine2Out  TropicVwmMsSignalAttenuation,
            tnVwmMsPmudLossRefBand1InOmdOut      TropicVwmMsSignalGainLoss,
            tnVwmMsPmudLossRefBand2InOmdOut      TropicVwmMsSignalGainLoss,
            tnVwmMsPmudRxPowerOmd                TropicVwmMsOpticalPower,
            tnVwmMsPmudTxPowerOmd                TropicVwmMsOpticalPower,
            tnVwmMsPmudRxPowerBand               TropicVwmMsOpticalPower,
            tnVwmMsPmudTxPowerBand               TropicVwmMsOpticalPower,
            tnVwmMsPmudRxPowerBand1              TropicVwmMsOpticalPower,
            tnVwmMsPmudTxPowerBand1              TropicVwmMsOpticalPower,
            tnVwmMsPmudRxPowerBand2              TropicVwmMsOpticalPower,
            tnVwmMsPmudTxPowerBand2              TropicVwmMsOpticalPower
        }

tnVwmMsPmudEVoaBandInLine1Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured attenuation value of the eVOA in the BAND IN port
                    in case the TX selector points to the LINE1 OUT port.
                    This value applies only when tnVwmMsPmudEVoaControlBandInLine1Out
                    has value manual(1)."
    ::= { tnVwmMsPmudEntry 1 }

tnVwmMsPmudEVoaBandInLine2Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured attenuation value of the eVOA in the BAND IN port
                    in case the TX selector points to the LINE2 OUT port.
                    This value applies only when tnVwmMsPmudEVoaControlBandInLine2Out
                    has value manual(1)."
    ::= { tnVwmMsPmudEntry 2 }

tnVwmMsPmudEVoaBandOutLine1In OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the BAND OUT port in case the
                    RX selector points to the LINE1 IN port."
    ::= { tnVwmMsPmudEntry 3 }

tnVwmMsPmudEVoaBandOutLine2In OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Attenuation value of the eVOA in the BAND OUT port in case the
                    RX selector points to the LINE2 IN port."
    ::= { tnVwmMsPmudEntry 4 }

tnVwmMsPmudEVoaBandIn OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the BAND IN port."
    ::= { tnVwmMsPmudEntry 5 }

tnVwmMsPmudEVoaBandOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the BAND OUT port."
    ::= { tnVwmMsPmudEntry 6 }

tnVwmMsPmudApsActive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether automatic protection switching
                    is active for this PMU-D."
    ::= { tnVwmMsPmudEntry 7 }

tnVwmMsPmudActualSelectorPosition OBJECT-TYPE
    SYNTAX         TropicVwmMsPmudSelectorPosition
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual position of the band selector."
    ::= { tnVwmMsPmudEntry 8 }

tnVwmMsPmudConfigSelectorPosition OBJECT-TYPE
    SYNTAX         TropicVwmMsPmudSelectorPosition
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured position of the band selector.
                    This position applies when object tnVwmMsPmudApsActive
                    has value false(2)."
    ::= { tnVwmMsPmudEntry 9 }

tnVwmMsPmudEVoaControlBandInLine1Out OBJECT-TYPE
    SYNTAX         TropicVwmMsEVoaControlMode
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The attenuation control mode of the eVOA in the BAND IN
                    port in case the TX selector points to the LINE1 OUT port."
    ::= { tnVwmMsPmudEntry 10 }

tnVwmMsPmudEVoaControlBandInLine2Out OBJECT-TYPE
    SYNTAX         TropicVwmMsEVoaControlMode
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The attenuation control mode of the eVOA in the BAND IN
                    port in case the TX selector points to the LINE2 OUT port."
    ::= { tnVwmMsPmudEntry 11 }

tnVwmMsPmudActualEVoaBandInLine1Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the BAND IN port
                    in case the TX selector points to the LINE1 OUT port.
                    When tnVwmMsPmudEVoaControlBandInLine1Out has value manual(1),
                    the value is equal to that of tnVwmMsPmudEVoaBandInLine1Out.
                    When tnVwmMsPmudEVoaControlBandInLine1Out has value auto(2),
                    the value is determined by the eVoa Control Loop."
    ::= { tnVwmMsPmudEntry 12 }

tnVwmMsPmudActualEVoaBandInLine2Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual attenuation value of the eVOA in the BAND IN port
                    in case the TX selector points to the LINE2 OUT port.
                    When tnVwmMsPmudEVoaControlBandInLine2Out has value manual(1),
                    the value is equal to that of tnVwmMsPmudEVoaBandInLine2Out.
                    When tnVwmMsPmudEVoaControlBandInLine2Out has value auto(2),
                    the value is determined by the eVoa Control Loop."
    ::= { tnVwmMsPmudEntry 13 }

tnVwmMsPmudLossRefBand1InOmdOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalGainLoss
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Reference value for the loss between the OMD output
                    and the BAND1 input."
    ::= { tnVwmMsPmudEntry 14 }

tnVwmMsPmudLossRefBand2InOmdOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalGainLoss
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Reference value for the loss between the OMD output
                    and the BAND2 input."
    ::= { tnVwmMsPmudEntry 15 }

tnVwmMsPmudRxPowerOmd OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of the OMD port."
    ::= { tnVwmMsPmudEntry 16 }

tnVwmMsPmudTxPowerOmd OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of output signal of the OMD port."
    ::= { tnVwmMsPmudEntry 17 }

tnVwmMsPmudRxPowerBand OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of the BAND port."
    ::= { tnVwmMsPmudEntry 18 }

tnVwmMsPmudTxPowerBand OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of output signal of the BAND port."
    ::= { tnVwmMsPmudEntry 19 }

tnVwmMsPmudRxPowerBand1 OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of the BAND1 port."
    ::= { tnVwmMsPmudEntry 20 }

tnVwmMsPmudTxPowerBand1 OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of output signal of the BAND1 port."
    ::= { tnVwmMsPmudEntry 21 }

tnVwmMsPmudRxPowerBand2 OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of the BAND2 port."
    ::= { tnVwmMsPmudEntry 22 }

tnVwmMsPmudTxPowerBand2 OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of output signal of the BAND2 port."
    ::= { tnVwmMsPmudEntry 23 }

--------------------------------------------------------------------------------
-- VWMMS PMU-D Insertion Loss Table
--------------------------------------------------------------------------------

tnVwmMsPmudInsertionLossTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsPmudInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for PMU-D Insertion Loss data."
    ::= { tnVwmMsEquipmentObjects 11 }

tnVwmMsPmudInsertionLossEntry OBJECT-TYPE
    SYNTAX         TnVwmMsPmudInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsPmudInsertionLossTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsPmudInsertionLossTable 1 }

TnVwmMsPmudInsertionLossEntry ::=
    SEQUENCE {
            tnVwmMsPmudInsertionLossMux    TropicVwmMsSignalAttenuation,
            tnVwmMsPmudInsertionLossDemux  TropicVwmMsSignalAttenuation
        }

tnVwmMsPmudInsertionLossMux OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss of the multiplex path (from CHANNEL IN
                    to OMD OUT)."
    ::= { tnVwmMsPmudInsertionLossEntry 1 }

tnVwmMsPmudInsertionLossDemux OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss of the demultiplex path (from OMD IN to
                    CHANNEL OUT)."
    ::= { tnVwmMsPmudInsertionLossEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS SFD-96 Insertion Loss Table
--------------------------------------------------------------------------------

tnVwmMsSfd96InsertionLossTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfd96InsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for SFD-96 Insertion Loss data."
    ::= { tnVwmMsEquipmentObjects 12 }

tnVwmMsSfd96InsertionLossEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfd96InsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfd96InsertionLossTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsSfd96InsertionLossTable 1 }

TnVwmMsSfd96InsertionLossEntry ::=
    SEQUENCE {
            tnVwmMsSfd96InsertionLossMux    TropicVwmMsSignalAttenuation,
            tnVwmMsSfd96InsertionLossDemux  TropicVwmMsSignalAttenuation
        }

tnVwmMsSfd96InsertionLossMux OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss of the multiplex path (from CHANNEL IN
                    to OMD OUT)."
    ::= { tnVwmMsSfd96InsertionLossEntry 1 }

tnVwmMsSfd96InsertionLossDemux OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss of the demultiplex path (from OMD IN to
                    CHANNEL OUT)."
    ::= { tnVwmMsSfd96InsertionLossEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS BMU-P Insertion Loss Table
--------------------------------------------------------------------------------

tnVwmMsBmupInsertionLossTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsBmupInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for BMU-P Insertion Loss data."
    ::= { tnVwmMsEquipmentObjects 13 }

tnVwmMsBmupInsertionLossEntry OBJECT-TYPE
    SYNTAX         TnVwmMsBmupInsertionLossEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsBmupInsertionLossTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsBmupInsertionLossTable 1 }

TnVwmMsBmupInsertionLossEntry ::=
    SEQUENCE {
            tnVwmMsBmupInsertionLossBandAInLineOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossBandBInLineOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossBandCInLineOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossBandDInLineOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossLineInBandAOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossLineInBandBOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossLineInBandCOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossLineInBandDOut  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossSig1InLine1Out  TropicVwmMsSignalAttenuation,
            tnVwmMsBmupInsertionLossSig2InLine2Out  TropicVwmMsSignalAttenuation
        }

tnVwmMsBmupInsertionLossBandAInLineOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from BAND A IN to LINE OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 1 }

tnVwmMsBmupInsertionLossBandBInLineOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from BAND B IN to LINE OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 2 }

tnVwmMsBmupInsertionLossBandCInLineOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from BAND C IN to LINE OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 3 }

tnVwmMsBmupInsertionLossBandDInLineOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from BAND D IN to LINE OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 4 }

tnVwmMsBmupInsertionLossLineInBandAOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from LINE IN to BAND A OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 5 }

tnVwmMsBmupInsertionLossLineInBandBOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from LINE IN to BAND B OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 6 }

tnVwmMsBmupInsertionLossLineInBandCOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from LINE IN to BAND C OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 7 }

tnVwmMsBmupInsertionLossLineInBandDOut OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from LINE IN to BAND D OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 8 }

tnVwmMsBmupInsertionLossSig1InLine1Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from SIG1 IN to LINE1 OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 9 }

tnVwmMsBmupInsertionLossSig2InLine2Out OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion Loss on the path from SIG2 IN to LINE2 OUT."
    ::= { tnVwmMsBmupInsertionLossEntry 10 }

--------------------------------------------------------------------------------
-- VWMMS SFD-10 Inventory Table
--------------------------------------------------------------------------------

tnVwmMsSfd10InventoryTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfd10InventoryEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for SFD-10 specific inventory data."
    ::= { tnVwmMsEquipmentObjects 15 }

tnVwmMsSfd10InventoryEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfd10InventoryEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfd10InventoryTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsSfd10InventoryTable 1 }

TnVwmMsSfd10InventoryEntry ::=
    SEQUENCE {
            tnVwmMsSfd10InventoryMaxMuxInsertionLoss       TropicVwmMsSignalAttenuation,
            tnVwmMsSfd10InventoryMaxDemuxInsertionLoss     TropicVwmMsSignalAttenuation,
            tnVwmMsSfd10InventoryExpInOmdOutInsertionLoss  TropicVwmMsSignalAttenuation,
            tnVwmMsSfd10InventoryOmdInExpOutInsertionLoss  TropicVwmMsSignalAttenuation,
            tnVwmMsSfd10InventoryAvgMuxFiberLength         TropicVwmMsFiberLength,
            tnVwmMsSfd10InventoryAvgDemuxFiberLength       TropicVwmMsFiberLength
        }

tnVwmMsSfd10InventoryMaxMuxInsertionLoss OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Maximum insertion loss of the multiplex path, from CHANNEL
                    IN to OMD OUT. This value is the maximum of the individual
                    CHxIN_OMD_OUT (x = 1 .. 10) loss values that are stored in
                    the EEPROM."
    ::= { tnVwmMsSfd10InventoryEntry 1 }

tnVwmMsSfd10InventoryMaxDemuxInsertionLoss OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Maximum insertion loss of the demultiplex path, from OMD IN
                    to CHANNEL OUT. This value is the maximum of the individual
                    OMDIN_CHx_OUT (x = 1 .. 10) loss values that are stored in
                    the EEPROM."
    ::= { tnVwmMsSfd10InventoryEntry 2 }

tnVwmMsSfd10InventoryExpInOmdOutInsertionLoss OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion loss of the pass-through port in the multiplex
                    path, from EXP IN to OMD OUT."
    ::= { tnVwmMsSfd10InventoryEntry 3 }

tnVwmMsSfd10InventoryOmdInExpOutInsertionLoss OBJECT-TYPE
    SYNTAX         TropicVwmMsSignalAttenuation
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Insertion loss of the pass-through port in the demultiplex
                    path, from OMD IN to EXP OUT."
    ::= { tnVwmMsSfd10InventoryEntry 4 }

tnVwmMsSfd10InventoryAvgMuxFiberLength OBJECT-TYPE
    SYNTAX         TropicVwmMsFiberLength
    UNITS          "cm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Average MUX fiber length."
    ::= { tnVwmMsSfd10InventoryEntry 5 }

tnVwmMsSfd10InventoryAvgDemuxFiberLength OBJECT-TYPE
    SYNTAX         TropicVwmMsFiberLength
    UNITS          "cm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Average DEMUX fiber length."
    ::= { tnVwmMsSfd10InventoryEntry 6 }

--------------------------------------------------------------------------------
-- VWMMS DCM LM Card Table
--------------------------------------------------------------------------------

tnVwmMsDcmLmCardTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsDcmLmCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Dispersion Compensation Module LM card table."
    ::= { tnVwmMsEquipmentObjects 16 }

tnVwmMsDcmLmCardEntry OBJECT-TYPE
    SYNTAX         TnVwmMsDcmLmCardEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsDcmLmCardTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsDcmLmCardTable 1 }

TnVwmMsDcmLmCardEntry ::=
    SEQUENCE {
        tnVwmMsDcmLmFiberType               TropicVwmMsDcmFiberType,
        tnVwmMsDcmLmDcmSize                 TropicVwmMsDcmSize,
        tnVwmMsDcmLmAvgInsertionLossDcf1    TropicVwmMsDcmInsertionLoss,
        tnVwmMsDcmLmInsertionLossSlopeDcf1  TropicVwmMsDcmInsertionLossSlope,
        tnVwmMsDcmLmTotalDispFitDcf1        TropicVwmMsDcmDispersionFit,
        tnVwmMsDcmLmDispFiberLengthDcf1     TropicVwmMsDcmDispersionFiberLength,
        tnVwmMsDcmLmPmdDcf1                 TropicVwmMsDcmPmd,
        tnVwmMsDcmLmAvgInsertionLossDcf2    TropicVwmMsDcmInsertionLoss,
        tnVwmMsDcmLmInsertionLossSlopeDcf2  TropicVwmMsDcmInsertionLossSlope,
        tnVwmMsDcmLmTotalDispFitDcf2        TropicVwmMsDcmDispersionFit,
        tnVwmMsDcmLmDispFiberLengthDcf2     TropicVwmMsDcmDispersionFiberLength,
        tnVwmMsDcmLmPmdDcf2                 TropicVwmMsDcmPmd,
        tnVwmMsDcmLmLatencyMismatch         TropicVwmMsDcmLatencyMismatch
        }

tnVwmMsDcmLmFiberType OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmFiberType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The type of fiber that the DCM is designed to compensate."
    ::= { tnVwmMsDcmLmCardEntry 1 }

tnVwmMsDcmLmDcmSize OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmSize
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The length of transmission fiber that the DCM is designed
                    to compensate."
    ::= { tnVwmMsDcmLmCardEntry 2 }

tnVwmMsDcmLmAvgInsertionLossDcf1 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmInsertionLoss
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The measured insertion loss averaged over wavelength with
                    no external attenuation added to the DCM for DCF1."
    ::= { tnVwmMsDcmLmCardEntry 3 }

tnVwmMsDcmLmInsertionLossSlopeDcf1 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmInsertionLossSlope
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "A linear least-squares fitted slope of the measured
                    attenuation (positive or negative) over the wavelength
                    range with no external attenuation added to the DCM for
                    DCF1. The slope is defined over the full wavelength
                    range with a negative slope signifying a higher
                    insertion loss at the lower wavelength."
    ::= { tnVwmMsDcmLmCardEntry 4 }

tnVwmMsDcmLmTotalDispFitDcf1 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmDispersionFit
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Coefficients A, B, C and D of a 3rd order polynomial fit
                    of chromatic dispersion vs. wavelength from 1528 to 1565nm
                    in 0.4-2.0nm steps for DCF1 such that Total Dispersion =
                    A*(-1546)^3 + B*(-1546)^2 + C*(-1546) + D."
    ::= { tnVwmMsDcmLmCardEntry 5 }

tnVwmMsDcmLmDispFiberLengthDcf1 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmDispersionFiberLength
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The total length of dispersion fiber of DCF1 inside the
                    DCM module, to the closest km."
    ::= { tnVwmMsDcmLmCardEntry 6 }

tnVwmMsDcmLmPmdDcf1 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmPmd
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The value for Polarization Mode Dispersion for DCF1."
    ::= { tnVwmMsDcmLmCardEntry 7 }

tnVwmMsDcmLmAvgInsertionLossDcf2 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmInsertionLoss
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The measured insertion loss averaged over wavelength with
                    no external attenuation added to the DCM for DCF2."
    ::= { tnVwmMsDcmLmCardEntry 8 }

tnVwmMsDcmLmInsertionLossSlopeDcf2 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmInsertionLossSlope
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "A linear least-squares fitted slope of the measured
                    attenuation (positive or negative) over the wavelength
                    range with no external attenuation added to the DCM for
                    DCF2. The slope is defined over the full wavelength
                    range with a negative slope signifying a higher
                    insertion loss at the lower wavelength."
    ::= { tnVwmMsDcmLmCardEntry 9 }

tnVwmMsDcmLmTotalDispFitDcf2 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmDispersionFit
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Coefficients A, B, C and D of a 3rd order polynomial fit
                    of chromatic dispersion vs. wavelength from 1528 to 1565nm
                    in 0.4-2.0nm steps for DCF2 such that Total Dispersion =
                    A*(-1546)^3 + B*(-1546)^2 + C*(-1546) + D."
    ::= { tnVwmMsDcmLmCardEntry 10 }

tnVwmMsDcmLmDispFiberLengthDcf2 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmDispersionFiberLength
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The total length of dispersion fiber of DCF2 inside the
                    DCM module, to the closest km."
    ::= { tnVwmMsDcmLmCardEntry 11 }

tnVwmMsDcmLmPmdDcf2 OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmPmd
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The value for Polarization Mode Dispersion for DCF2."
    ::= { tnVwmMsDcmLmCardEntry 12 }

tnVwmMsDcmLmLatencyMismatch OBJECT-TYPE
    SYNTAX         TropicVwmMsDcmLatencyMismatch
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The latency mismatch value of the DCF1 and DCF2 in the
                    module. Latency mismatch value is DCF1 - DCF2."
    ::= { tnVwmMsDcmLmCardEntry 13 }

--------------------------------------------------------------------------------
-- VWMMS Interface Table
--------------------------------------------------------------------------------

tnVwmMsIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS interface table."
    ::= { tnVwmMsInterfaceObjects 1 }

tnVwmMsIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfTable"
    AUGMENTS { ifEntry }
    ::= { tnVwmMsIfTable 1 }

TnVwmMsIfEntry ::=
    SEQUENCE {
        tnVwmMsIfDescr            SnmpAdminString,
        tnVwmMsIfHwMac            MacAddress,
        tnVwmMsIfTopologyString1  SnmpAdminString,
        tnVwmMsIfTopologyString2  SnmpAdminString,
        tnVwmMsIfPortLabel        TropicVwmMsPortLabel,
        tnVwmMsIfRole             INTEGER,
        tnVwmMsIfCapability       TropicVwmMsIfCapabilityBits
        }

tnVwmMsIfDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..255))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface description string."
    ::= { tnVwmMsIfEntry 1 }

tnVwmMsIfHwMac OBJECT-TYPE
    SYNTAX         MacAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Interface MAC address."
    ::= { tnVwmMsIfEntry 2 }

tnVwmMsIfTopologyString1 OBJECT-TYPE
    SYNTAX         SnmpAdminString(SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "First user configurable string allowing a user to
                    administer the topology of the network."
    ::= { tnVwmMsIfEntry 3 }

tnVwmMsIfTopologyString2 OBJECT-TYPE
    SYNTAX         SnmpAdminString(SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Second user configurable string allowing a user to
                    administer the topology of the network."
    ::= { tnVwmMsIfEntry 4 }

tnVwmMsIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Interface port label."
    ::= { tnVwmMsIfEntry 5 }

tnVwmMsIfRole OBJECT-TYPE
    SYNTAX         INTEGER {
                       normal(1),
                       rflm(2),
                       userdata(4)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface role."
    ::= { tnVwmMsIfEntry 6 }

tnVwmMsIfCapability OBJECT-TYPE
    SYNTAX         TropicVwmMsIfCapabilityBits
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Interface capabilities."
    ::= { tnVwmMsIfEntry 7 }

--------------------------------------------------------------------------------
-- VWMMS SFP Configuration Table
--------------------------------------------------------------------------------
tnVwmMsSfpConfigTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "SFP configuration table."
    ::= { tnVwmMsInterfaceObjects 2 }

tnVwmMsSfpConfigEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpConfigTable"
    INDEX { ifIndex }
    ::= { tnVwmMsSfpConfigTable 1 }

TnVwmMsSfpConfigEntry ::=
    SEQUENCE {
        tnVwmMsSfpType        TnSfpType,
        tnVwmMsSfpTxFrequency TropicVwmMsSfpTxFrequency
        }

tnVwmMsSfpType OBJECT-TYPE
    SYNTAX         TnSfpType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of SFP : standard or user."
    ::= { tnVwmMsSfpConfigEntry 1 }

tnVwmMsSfpTxFrequency OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpTxFrequency
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The configurable frequency of a tunable SFP."
    ::= { tnVwmMsSfpConfigEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS SFP Info Table
--------------------------------------------------------------------------------
tnVwmMsSfpInfoTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "SFP configuration table."
    ::= { tnVwmMsInterfaceObjects 3 }

tnVwmMsSfpInfoEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpInfoTable"
    INDEX { ifIndex }
    ::= { tnVwmMsSfpInfoTable 1 }

TnVwmMsSfpInfoEntry ::=
    SEQUENCE {
        tnVwmMsSfpInfoInvStatus           TropicVwmMsAvailabilityStatus,
        tnVwmMsSfpInfoPhysicalIdentifier  TropicVwmMsSfpIdentifier,
        tnVwmMsSfpInfoConnectorType       TropicVwmMsSfpConnectorType,
        tnVwmMsSfpInfoTransceiverCode     TropicVwmMsSfpTransceiverCode,
        tnVwmMsSfpInfoLinkType            INTEGER,
        tnVwmMsSfpInfoLinkMaxLength       Unsigned32,
        tnVwmMsSfpInfoLinkLengthOverrun   TruthValue,
        tnVwmMsSfpInfoLinkLengthUnits     INTEGER,
        tnVwmMsSfpInfoLinkLength          TropicVwmMsSfpLinkLength,
        tnVwmMsSfpInfoVendorName          TropicVwmMsSfpVendorName,
        tnVwmMsSfpInfoVendorOUI           TropicVwmMsSfpVendorOUI,
        tnVwmMsSfpInfoPartNumber          TropicVwmMsSfpPartNumber,
        tnVwmMsSfpInfoRevisionNumber      TropicVwmMsSfpRevisionNumber,
        tnVwmMsSfpInfoWavelength          Unsigned32,
        tnVwmMsSfpInfoVendorSerialNumber  TropicVwmMsSfpVendorSerialNumber,
        tnVwmMsSfpInfoVendorDate          TropicVwmMsSfpVendorDate,
        tnVwmMsSfpInfoVendorSpecific      TropicVwmMsSfpVendorSpecific,
        tnVwmMsSfpInfoCLEI                TropicVwmMsSfpCLEICode,
        tnVwmMsSfpInfoAluPartNumber       TropicVwmMsSfpAluPartNumber,
        tnVwmMsSfpInfoAluSerialNumber     TropicVwmMsSfpAluSerialNumber,
        tnVwmMsSfpInfoIcs                 TropicVwmMsSfpIcs,
        tnVwmMsSfpInfoMnemonic            TropicVwmMsMnemonic,
        tnVwmMsSfpInfoAcronymCode         TropicVwmMsAcronymCode,
        tnVwmMsSfpInfoTunable             TruthValue,
        tnVwmMsSfpInfoFrequency           Unsigned32,
        tnVwmMsSfpInfoStartFrequency      Unsigned32,
        tnVwmMsSfpInfoStopFrequency       Unsigned32,
        tnVwmMsSfpInfoFrequencyGrid       Unsigned32,
        tnVwmMsSfpInfoSIC                 TropicVwmMsSfpSIC,
        tnVwmMsSfpInfoOtdrCapable         TruthValue
        }

tnVwmMsSfpInfoInvStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP inventory availability status."
    ::= { tnVwmMsSfpInfoEntry 1 }

tnVwmMsSfpInfoPhysicalIdentifier OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpIdentifier
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP transceiver type (identifier and extended identifier)."
    ::= { tnVwmMsSfpInfoEntry 2 }

tnVwmMsSfpInfoConnectorType OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpConnectorType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP connector type."
    ::= { tnVwmMsSfpInfoEntry 3 }

tnVwmMsSfpInfoTransceiverCode OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpTransceiverCode
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP transceiver code."
    ::= { tnVwmMsSfpInfoEntry 4 }

tnVwmMsSfpInfoLinkType OBJECT-TYPE
    SYNTAX         INTEGER {
                       linkTypeNotApplicable(0),
                       link9umCoreFibre(1),
                       link50umCoreFibre(2),
                       link62um5CoreFibre(3),
                       linkCopperCable(4),
                       link62um5CoreFibreOM1(5),
                       link50umCoreFibreOM2(6),
                       link50umCoreFibreOM3(7),
                       link50umCoreFibreOM4(8)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP link type."
    ::= { tnVwmMsSfpInfoEntry 5 }

tnVwmMsSfpInfoLinkMaxLength OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Maximum length of SFP link."
    ::= { tnVwmMsSfpInfoEntry 6 }

tnVwmMsSfpInfoLinkLengthOverrun OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP link length overrun."
    ::= { tnVwmMsSfpInfoEntry 7 }

tnVwmMsSfpInfoLinkLengthUnits OBJECT-TYPE
    SYNTAX         INTEGER {
                       unitsNotApplicable(0),
                       unitsM1(1),
                       unitsM2(2),
                       unitsM10(10),
                       unitsM100(100),
                       unitsKm1(1000)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP link length units."
    ::= { tnVwmMsSfpInfoEntry 8 }

tnVwmMsSfpInfoLinkLength OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpLinkLength
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP link length."
    ::= { tnVwmMsSfpInfoEntry 9 }

tnVwmMsSfpInfoVendorName OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpVendorName
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP vendor name."
    ::= { tnVwmMsSfpInfoEntry 10 }

tnVwmMsSfpInfoVendorOUI OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpVendorOUI
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP vendor OUI."
    ::= { tnVwmMsSfpInfoEntry 11 }

tnVwmMsSfpInfoPartNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpPartNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP part number."
    ::= { tnVwmMsSfpInfoEntry 12 }

tnVwmMsSfpInfoRevisionNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpRevisionNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP revision number."
    ::= { tnVwmMsSfpInfoEntry 13 }

tnVwmMsSfpInfoWavelength OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP wavelength in picometer."
    ::= { tnVwmMsSfpInfoEntry 14 }

tnVwmMsSfpInfoVendorSerialNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpVendorSerialNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP vendor serial number."
    ::= { tnVwmMsSfpInfoEntry 15 }

tnVwmMsSfpInfoVendorDate OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpVendorDate
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP vendor date."
    ::= { tnVwmMsSfpInfoEntry 16 }

tnVwmMsSfpInfoVendorSpecific OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpVendorSpecific
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP vendor specific data."
    ::= { tnVwmMsSfpInfoEntry 17 }

tnVwmMsSfpInfoCLEI OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpCLEICode
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP CLEI Code."
    ::= { tnVwmMsSfpInfoEntry 18 }

tnVwmMsSfpInfoAluPartNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpAluPartNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP Nokia part number."
    ::= { tnVwmMsSfpInfoEntry 19 }

tnVwmMsSfpInfoAluSerialNumber OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpAluSerialNumber
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP Nokia serial number."
    ::= { tnVwmMsSfpInfoEntry 20 }

tnVwmMsSfpInfoIcs OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpIcs
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP interchangeability marker string."
    ::= { tnVwmMsSfpInfoEntry 21 }

tnVwmMsSfpInfoMnemonic OBJECT-TYPE
    SYNTAX         TropicVwmMsMnemonic
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP mnemonic."
    ::= { tnVwmMsSfpInfoEntry 22 }

tnVwmMsSfpInfoAcronymCode OBJECT-TYPE
    SYNTAX         TropicVwmMsAcronymCode
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP acronym code."
    ::= { tnVwmMsSfpInfoEntry 23 }

tnVwmMsSfpInfoTunable OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether the SFP frequency is tunable."
    ::= { tnVwmMsSfpInfoEntry 24 }

tnVwmMsSfpInfoFrequency OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP actual frequency in GHz."
    ::= { tnVwmMsSfpInfoEntry 25 }

tnVwmMsSfpInfoStartFrequency OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP start frequency in GHz."
    ::= { tnVwmMsSfpInfoEntry 26 }

tnVwmMsSfpInfoStopFrequency OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP stop frequency in GHz."
    ::= { tnVwmMsSfpInfoEntry 27 }

tnVwmMsSfpInfoFrequencyGrid OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP frequency grid (spacing) in MHz."
    ::= { tnVwmMsSfpInfoEntry 28 }

tnVwmMsSfpInfoSIC OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpSIC
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP Sales Item Code."
    ::= { tnVwmMsSfpInfoEntry 29 }

tnVwmMsSfpInfoOtdrCapable OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether the SFP is capable of
                    supporting OTDR."
    ::= { tnVwmMsSfpInfoEntry 30 }

--------------------------------------------------------------------------------
-- VWMMS Optical Port Configuration Table
--------------------------------------------------------------------------------

tnVwmMsOpticalPortConfigTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpticalPortConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Optical Port table."
    ::= { tnVwmMsInterfaceObjects 23 }

tnVwmMsOpticalPortConfigEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpticalPortConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpticalPortConfigTable"
    INDEX { ifIndex }
    ::= { tnVwmMsOpticalPortConfigTable 1 }

TnVwmMsOpticalPortConfigEntry ::=
    SEQUENCE {
        tnVwmMsOpticalPortConfigFec              INTEGER,
        tnVwmMsOpticalPortErrorIndicationBypass  TruthValue,
        tnVwmMsOpticalPortCADefects              TropicVwmMsCADefectBits,
        tnVwmMsOpticalPortFlsTimer               Unsigned32,
        tnVwmMsOpticalPortLfiInsertionTimer      Unsigned32,
        tnVwmMsOpticalPortIdleInsertionTimer     Unsigned32,
        tnVwmMsOpticalPortLosExtensionTimer      Unsigned32
        }

tnVwmMsOpticalPortConfigFec OBJECT-TYPE
    SYNTAX         INTEGER {
                       none(0),
                       auto(1),
                       rsFec(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured FEC type."
    ::= { tnVwmMsOpticalPortConfigEntry 1 }

tnVwmMsOpticalPortErrorIndicationBypass OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Bypass error indication enabled/disabled."
    ::= { tnVwmMsOpticalPortConfigEntry 2 }

tnVwmMsOpticalPortCADefects OBJECT-TYPE
    SYNTAX         TropicVwmMsCADefectBits
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The contributors to Consequent Actions enabled for
                    the interface."
    ::= { tnVwmMsOpticalPortConfigEntry 3 }

tnVwmMsOpticalPortFlsTimer OBJECT-TYPE
    SYNTAX         Unsigned32 (0..300000 | 1000000)
    UNITS          "ms"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The Forced Laser Shutdown (FLS) timer, in milliseconds.
                    Value 1000000 suppresses FLS."
    ::= { tnVwmMsOpticalPortConfigEntry 4 }

tnVwmMsOpticalPortLfiInsertionTimer OBJECT-TYPE
    SYNTAX         Unsigned32 (0..300000 | 1000000)
    UNITS          "ms"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The Local Fault Indication (LFI) insertion timer, in
                    milliseconds.
                    Value 1000000 suppresses LFI insertion."
    ::= { tnVwmMsOpticalPortConfigEntry 5 }

tnVwmMsOpticalPortIdleInsertionTimer OBJECT-TYPE
    SYNTAX         Unsigned32 (0..300000 | 1000000)
    UNITS          "ms"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The IDLE signal insertion timer, in milliseconds.
                    Value 1000000 suppresses IDLE insertion."
    ::= { tnVwmMsOpticalPortConfigEntry 6 }

tnVwmMsOpticalPortLosExtensionTimer OBJECT-TYPE
    SYNTAX         Unsigned32 (0..300000)
    UNITS          "ms"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "The LOS Extension timer, in milliseconds.
                    Value 0 disables LOS extension."
    ::= { tnVwmMsOpticalPortConfigEntry 7 }

--------------------------------------------------------------------------------
-- VWMMS Optical Port Info Table
--------------------------------------------------------------------------------

tnVwmMsOpticalPortInfoTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpticalPortInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Optical Port info table."
    ::= { tnVwmMsInterfaceObjects 24 }

tnVwmMsOpticalPortInfoEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpticalPortInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpticalPortInfoTable"
    INDEX { ifIndex }
    ::= { tnVwmMsOpticalPortInfoTable 1 }

TnVwmMsOpticalPortInfoEntry ::=
    SEQUENCE {
        tnVwmMsOpticalPortPhysicalIfIndex  InterfaceIndexOrZero,
        tnVwmMsOpticalPortApplicationMode  INTEGER,
        tnVwmMsOpticalPortActualRate       TropicVwmMsCdrChannelRate,
        tnVwmMsOpticalPortActualFec        INTEGER
        }

tnVwmMsOpticalPortPhysicalIfIndex OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Physical interface related to this interface.
                    It only has a non-zero value when the physical interface
                    index is unequal to the index of this interface itself."
    ::= { tnVwmMsOpticalPortInfoEntry 1 }

tnVwmMsOpticalPortApplicationMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       unused(0),
                       usedForTraffic(1),
                       usedForMonitoring(2)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Application mode."
    ::= { tnVwmMsOpticalPortInfoEntry 2 }

tnVwmMsOpticalPortActualRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual rate received on the port."
    ::= { tnVwmMsOpticalPortInfoEntry 3 }

tnVwmMsOpticalPortActualFec OBJECT-TYPE
    SYNTAX         INTEGER {
                       none(0),
                       rsFec(2),
                       unknown(3)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual FEC type."
    ::= { tnVwmMsOpticalPortInfoEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS Interface OTDR Table
--------------------------------------------------------------------------------

tnVwmMsIfOtdrTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfOtdrEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS interface OTDR table."
    ::= { tnVwmMsInterfaceObjects 34 }

tnVwmMsIfOtdrEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfOtdrEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfOtdrTable."
    INDEX { ifIndex }
    ::= { tnVwmMsIfOtdrTable 1 }

TnVwmMsIfOtdrEntry ::=
    SEQUENCE {
        tnVwmMsIfOtdrMode                            INTEGER,
        tnVwmMsIfOtdrExecuteMeasurement              TropicVwmMsIfOtdrMeasurementType,
        tnVwmMsIfOtdrBaselineMeasurementDone         TruthValue,
        tnVwmMsIfOtdrBaselineMeasurementTime         DateAndTime,
        tnVwmMsIfOtdrBaselineMeasurementReflections  Unsigned32,
        tnVwmMsIfOtdrCurrentMeasurementDone          TruthValue,
        tnVwmMsIfOtdrCurrentMeasurementTime          DateAndTime,
        tnVwmMsIfOtdrCurrentMeasurementReflections   Unsigned32
        }

tnVwmMsIfOtdrMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       disabled(1),
                       supervisionOnly(2),
                       supervisionAndTraffic(3)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "OTDR mode of the interface : disabled/enabled and,
                    in case enabled, supervision only mode or
                    supervision-and-traffic mode."
    ::= { tnVwmMsIfOtdrEntry 1 }

tnVwmMsIfOtdrExecuteMeasurement OBJECT-TYPE
    SYNTAX         TropicVwmMsIfOtdrMeasurementType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Writing this object requests the system to start an
                    OTDR measurement for the interface of the type
                    specified by the value to which this object is set.

                    Reading this object always returns none(0)."
    ::= { tnVwmMsIfOtdrEntry 2 }

tnVwmMsIfOtdrBaselineMeasurementDone OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether a baseline OTDR measurement
                    has completed successfully for the interface."
    ::= { tnVwmMsIfOtdrEntry 3 }

tnVwmMsIfOtdrBaselineMeasurementTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The date and time that the most recent baseline
                    OTDR measurement for the interface finished.

                    When tnVwmMsIfOtdrBaselineMeasurementDone in the
                    same table entry has value false(2), the value
                    of this object is irrelevant and will be
                    0000-0-00,00:00:00.0,+0:0."
    ::= { tnVwmMsIfOtdrEntry 4 }

tnVwmMsIfOtdrBaselineMeasurementReflections OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The number of reflections detected during the
                    most recent baseline OTDR measurement for the
                    interface.

                    This number equals the number of baseline OTDR
                    measurement results for the interface in the
                    tnVwmMsIfOtdrResultTable.

                    When tnVwmMsIfOtdrBaselineMeasurementDone in the
                    same table entry has value false(2), the value
                    of this object is irrelevant and will be 0."
    ::= { tnVwmMsIfOtdrEntry 5 }

tnVwmMsIfOtdrCurrentMeasurementDone OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether a current OTDR measurement
                    has completed successfully for the interface."
    ::= { tnVwmMsIfOtdrEntry 6 }

tnVwmMsIfOtdrCurrentMeasurementTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The date and time that the most recent current
                    OTDR measurement for the interface finished.

                    When tnVwmMsIfOtdrCurrentMeasurementDone in the
                    same table entry has value false(2), the value
                    of this object is irrelevant and will be
                    0000-0-00,00:00:00.0,+0:0."
    ::= { tnVwmMsIfOtdrEntry 7 }

tnVwmMsIfOtdrCurrentMeasurementReflections OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The number of reflections detected during the
                    most recent current OTDR measurement for the
                    interface.

                    This number equals the number of current OTDR
                    measurement results for the interface in the
                    tnVwmMsIfOtdrResultTable.

                    When tnVwmMsIfOtdrCurrentMeasurementDone in the
                    same table entry has value false(2), the value
                    of this object is irrelevant and will be 0."
    ::= { tnVwmMsIfOtdrEntry 8 }

--------------------------------------------------------------------------------
-- VWMMS Interface OTDR Result Table
--------------------------------------------------------------------------------

tnVwmMsIfOtdrResultTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfOtdrResultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS interface OTDR measurement results table."
    ::= { tnVwmMsInterfaceObjects 35 }

tnVwmMsIfOtdrResultEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfOtdrResultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfOtdrResultTable"
    INDEX { ifIndex,
            tnVwmMsIfOtdrMeasurementType,
            tnVwmMsIfOtdrReflectionIndex }
    ::= { tnVwmMsIfOtdrResultTable 1 }

TnVwmMsIfOtdrResultEntry ::=
    SEQUENCE {
        tnVwmMsIfOtdrMeasurementType    TropicVwmMsIfOtdrMeasurementType,
        tnVwmMsIfOtdrReflectionIndex    Unsigned32,
        tnVwmMsIfOtdrDistance           Unsigned32,
        tnVwmMsIfOtdrOpticalReturnLoss  Unsigned32
        }

tnVwmMsIfOtdrMeasurementType OBJECT-TYPE
    SYNTAX         TropicVwmMsIfOtdrMeasurementType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Type of the completed OTDR measurement."
    ::= { tnVwmMsIfOtdrResultEntry 1 }

tnVwmMsIfOtdrReflectionIndex OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Index of the reflection detected during the
                    OTDR measurement."
    ::= { tnVwmMsIfOtdrResultEntry 2 }

tnVwmMsIfOtdrDistance OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "m"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Distance, in metres, of the reflection."
    ::= { tnVwmMsIfOtdrResultEntry 3 }

tnVwmMsIfOtdrOpticalReturnLoss OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "mB"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical return loss, in hundredths of dB (mB),
                    of the reflection.
                    Value 1000000 means 'not available'."
    ::= { tnVwmMsIfOtdrResultEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS CDR Channel Table
--------------------------------------------------------------------------------

tnVwmMsCdrChannelTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsCdrChannelEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS CDR Channel table."
    ::= { tnVwmMsInterfaceObjects 4 }

tnVwmMsCdrChannelEntry OBJECT-TYPE
    SYNTAX         TnVwmMsCdrChannelEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsCdrChannelTable"
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsSlotIndex,
            tnVwmMsCdrChannelIndex }
    ::= { tnVwmMsCdrChannelTable 1 }

TnVwmMsCdrChannelEntry ::=
    SEQUENCE {
        tnVwmMsCdrChannelIndex           TropicVwmMsCdrChannelIndexType,
        tnVwmMsCdrChannelIf1             InterfaceIndexOrZero,
        tnVwmMsCdrChannelIf2             InterfaceIndexOrZero,
        tnVwmMsCdrChannelRate            TropicVwmMsCdrChannelRate,
        tnVwmMsCdrChannelRateCapability  TropicVwmMsCdrChannelRateCapabilityBits,
        tnVwmMsCdrChannelActualRate      TropicVwmMsCdrChannelRate,
        tnVwmMsCdrChannelLabel           TropicVwmMsCdrChannelLabel,
        tnVwmMsCdrChannelUsedForMgmt     TruthValue
        }

tnVwmMsCdrChannelIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "CDR Channel Index."
    ::= { tnVwmMsCdrChannelEntry 1 }

tnVwmMsCdrChannelIf1 OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "First interface related to the CDR channel.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsCdrChannelIf2 belonging to
                    the same table entry.

                    Objects tnVwmMsCdrChannelIf1 and tnVwmMsCdrChannelIf2
                    must either both be changed to non-zero values, or both
                    to value zero."
    ::= { tnVwmMsCdrChannelEntry 2 }

tnVwmMsCdrChannelIf2 OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Second interface related to the CDR channel.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsCdrChannelIf1 belonging to
                    the same table entry.

                    Objects tnVwmMsCdrChannelIf2 and tnVwmMsCdrChannelIf1
                    must either both be changed to non-zero values, or both
                    to value zero."
    ::= { tnVwmMsCdrChannelEntry 3 }

tnVwmMsCdrChannelRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured CDR Channel rate.
                    The list of supported configurable values is contained
                    by object tnVwmMsCdrChannelRateCapability."
    ::= { tnVwmMsCdrChannelEntry 4 }

tnVwmMsCdrChannelRateCapability OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRateCapabilityBits
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Reflects the rates that can be configured for the
                    CDR Channel."
    ::= { tnVwmMsCdrChannelEntry 5 }

tnVwmMsCdrChannelActualRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual CDR Channel rate."
    ::= { tnVwmMsCdrChannelEntry 6 }

tnVwmMsCdrChannelLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelLabel
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "CDR Channel label."
    ::= { tnVwmMsCdrChannelEntry 7 }

tnVwmMsCdrChannelUsedForMgmt OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Indicates whether the CDR channel is used for
                    management traffic."
    DEFVAL         { false }
    ::= { tnVwmMsCdrChannelEntry 8 }

--------------------------------------------------------------------------------
-- VWMMS Power Interface Table (obsoleted)
--------------------------------------------------------------------------------

tnVwmMsPowerIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsPowerIfEntry
    MAX-ACCESS     not-accessible
    STATUS         obsolete
    DESCRIPTION    "VWMMS Power Interface table.
                    Obsoleted by tnVwmMsPwrIfTable."
    ::= { tnVwmMsInterfaceObjects 5 }

tnVwmMsPowerIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsPowerIfEntry
    MAX-ACCESS     not-accessible
    STATUS         obsolete
    DESCRIPTION    "Entry in tnVwmMsPowerIfTable"
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsPowerIfIndex }
    ::= { tnVwmMsPowerIfTable 1 }

TnVwmMsPowerIfEntry ::=
    SEQUENCE {
        tnVwmMsPowerIfIndex     TropicVwmMsPowerInterfaceIndexType,
        tnVwmMsPowerIfPortLabel TropicVwmMsPortLabel
        }

tnVwmMsPowerIfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsPowerInterfaceIndexType
    MAX-ACCESS     not-accessible
    STATUS         obsolete
    DESCRIPTION    "Power Interface Index."
    ::= { tnVwmMsPowerIfEntry 1 }

tnVwmMsPowerIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         obsolete
    DESCRIPTION    "Power interface port label."
    ::= { tnVwmMsPowerIfEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Power Interface Table
--------------------------------------------------------------------------------

tnVwmMsPwrIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsPwrIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Power Interface table."
    ::= { tnVwmMsInterfaceObjects 15 }

tnVwmMsPwrIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsPwrIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsPwrIfTable"
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsSlotIndex,
            tnVwmMsPwrIfIndex }
    ::= { tnVwmMsPwrIfTable 1 }

TnVwmMsPwrIfEntry ::=
    SEQUENCE {
        tnVwmMsPwrIfIndex     TropicVwmMsPowerInterfaceIndexType,
        tnVwmMsPwrIfPortLabel TropicVwmMsPortLabel
        }

tnVwmMsPwrIfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsPowerInterfaceIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Power Interface Index."
    ::= { tnVwmMsPwrIfEntry 1 }

tnVwmMsPwrIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power interface port label."
    ::= { tnVwmMsPwrIfEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS External Alarm Interface Table
--------------------------------------------------------------------------------

tnVwmMsExtAlmIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsExtAlmIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS External Alarm Interface table."
    ::= { tnVwmMsInterfaceObjects 6 }

tnVwmMsExtAlmIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsExtAlmIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsExtAlmIfTable"
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsExtAlmIfIndex }
    ::= { tnVwmMsExtAlmIfTable 1 }

TnVwmMsExtAlmIfEntry ::=
    SEQUENCE {
        tnVwmMsExtAlmIfIndex        TropicVwmMsExtAlmInterfaceIndexType,
        tnVwmMsExtAlmIfPortLabel    TropicVwmMsPortLabel,
        tnVwmMsExtAlmIfDescr        SnmpAdminString,
        tnVwmMsExtAlmIfAdminStatus  INTEGER,
        tnVwmMsExtAlmIfActivePos    TropicVwmMsExtAlmInterfaceActivePos,
        tnVwmMsExtAlmIfActive       TruthValue
        }

tnVwmMsExtAlmIfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsExtAlmInterfaceIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "External alarm interface Index."
    ::= { tnVwmMsExtAlmIfEntry 1 }

tnVwmMsExtAlmIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "External alarm interface port label."
    ::= { tnVwmMsExtAlmIfEntry 2 }

tnVwmMsExtAlmIfDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "External alarm interface description."
    DEFVAL         { "" }
    ::= { tnVwmMsExtAlmIfEntry 3 }

tnVwmMsExtAlmIfAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                up(1),
                down(2)
            }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "External alarm interface administrative status."
    DEFVAL         { down }
    ::= { tnVwmMsExtAlmIfEntry 4 }

tnVwmMsExtAlmIfActivePos OBJECT-TYPE
    SYNTAX         TropicVwmMsExtAlmInterfaceActivePos
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Indicates whether the external alarm interface is active
                    when closed, or when open."
    DEFVAL         { activeClose }
    ::= { tnVwmMsExtAlmIfEntry 5 }

tnVwmMsExtAlmIfActive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether the external alarm interface is active."
    ::= { tnVwmMsExtAlmIfEntry 6 }

--------------------------------------------------------------------------------
-- VWMMS External Analog Interface Table
--------------------------------------------------------------------------------

tnVwmMsExtAnalogIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsExtAnalogIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS External Analog Interface table."
    ::= { tnVwmMsInterfaceObjects 7 }

tnVwmMsExtAnalogIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsExtAnalogIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsExtAnalogIfTable."
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsExtAnalogIfIndex }
    ::= { tnVwmMsExtAnalogIfTable 1 }

TnVwmMsExtAnalogIfEntry ::=
    SEQUENCE {
        tnVwmMsExtAnalogIfIndex        TropicVwmMsExtAnalogInterfaceIndexType,
        tnVwmMsExtAnalogIfPortLabel    TropicVwmMsPortLabel,
        tnVwmMsExtAnalogIfDescr        SnmpAdminString
        }

tnVwmMsExtAnalogIfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsExtAnalogInterfaceIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "External analog interface Index."
    ::= { tnVwmMsExtAnalogIfEntry 1 }

tnVwmMsExtAnalogIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "External analog interface port label."
    ::= { tnVwmMsExtAnalogIfEntry 2 }

tnVwmMsExtAnalogIfDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "External analog interface description."
    DEFVAL         { "" }
    ::= { tnVwmMsExtAnalogIfEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS External Analog Interface Info Table
--------------------------------------------------------------------------------

tnVwmMsExtAnalogIfInfoTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsExtAnalogIfInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS External Analog Interface Information table."
    ::= { tnVwmMsInterfaceObjects 8 }

tnVwmMsExtAnalogIfInfoEntry OBJECT-TYPE
    SYNTAX         TnVwmMsExtAnalogIfInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsExtAnalogIfInfoTable."
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsExtAnalogIfIndex }
    ::= { tnVwmMsExtAnalogIfInfoTable 1 }

TnVwmMsExtAnalogIfInfoEntry ::=
    SEQUENCE {
        tnVwmMsExtAnalogIfInfoStatus           TropicVwmMsAvailabilityStatus,
        tnVwmMsExtAnalogIfInfoDiffInputVoltage TropicVwmMsExtAnalogIfDiffVoltageType
        }

tnVwmMsExtAnalogIfInfoStatus OBJECT-TYPE
    SYNTAX  TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the availability of the data of an external
                    analog interface."
    ::= { tnVwmMsExtAnalogIfInfoEntry 1 }

tnVwmMsExtAnalogIfInfoDiffInputVoltage OBJECT-TYPE
    SYNTAX         TropicVwmMsExtAnalogIfDiffVoltageType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the differential voltage of the external analog
                    input interface expressed in percentages."
    ::= { tnVwmMsExtAnalogIfInfoEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS External Control Interface Table
--------------------------------------------------------------------------------

tnVwmMsExtCtrlIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsExtCtrlIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS External Control Interface table."
    ::= { tnVwmMsInterfaceObjects 9 }

tnVwmMsExtCtrlIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsExtCtrlIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsExtCtrlIfTable."
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsExtCtrlOutputIfIndex }
    ::= { tnVwmMsExtCtrlIfTable 1 }

TnVwmMsExtCtrlIfEntry ::=
    SEQUENCE {
        tnVwmMsExtCtrlOutputIfIndex  TropicVwmMsExtCtrlOutputIfIndexType,
        tnVwmMsExtCtrlIfPortLabel    TropicVwmMsPortLabel,
        tnVwmMsExtCtrlIfDescr        SnmpAdminString,
        tnVwmMsExtCtrlIfRelayState   INTEGER
        }

tnVwmMsExtCtrlOutputIfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsExtCtrlOutputIfIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "External control interface Index."
    ::= { tnVwmMsExtCtrlIfEntry 1 }

tnVwmMsExtCtrlIfPortLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsPortLabel
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "External control interface port label."
    ::= { tnVwmMsExtCtrlIfEntry 2 }

tnVwmMsExtCtrlIfDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "External control interface description."
    DEFVAL         { "" }
    ::= { tnVwmMsExtCtrlIfEntry 3 }

tnVwmMsExtCtrlIfRelayState OBJECT-TYPE
    SYNTAX  INTEGER {
                relayOpen(1),
                relayClosed(2)
            }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "External control relay status."
    DEFVAL         { relayOpen }
    ::= { tnVwmMsExtCtrlIfEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS RFLM Interface Table
--------------------------------------------------------------------------------

tnVwmMsRflmIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsRflmIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS RFLM Interface table."
    ::= { tnVwmMsInterfaceObjects 10 }

tnVwmMsRflmIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsRflmIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsRflmIfTable."
    INDEX { ifIndex }
    ::= { tnVwmMsRflmIfTable 1 }

TnVwmMsRflmIfEntry ::=
    SEQUENCE {
        tnVwmMsRflmIfLabel  TropicVwmMsRflmLabel
        }

tnVwmMsRflmIfLabel OBJECT-TYPE
    SYNTAX         TropicVwmMsRflmLabel
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "RFLM interface label."
    ::= { tnVwmMsRflmIfEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS PRBS Test
--------------------------------------------------------------------------------

tnVwmMsPrbsTest OBJECT IDENTIFIER ::= { tnVwmMsInterfaceObjects 11 }

tnVwmMsPrbsTestIfIndex OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the interface for which a PRBS test
                    is started or stopped.

                    This object must always be included in an SNMP SET PDU
                    together either with objects tnVwmMsPrbsTestStartAutoStop
                    and tnVwmMsPrbsTestStartAutoStopDuration (to start a PRBS
                    test), or with object tnVwmMsPrbsTestStop (to stop a PRBS
                    test).

                    Reading this object always returns 0."
    ::= { tnVwmMsPrbsTest 1 }

tnVwmMsPrbsTestStartAutoStop OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines whether a started PRBS test will be
                    stopped automatically (true) or not (false).

                    When writing, this object must always be included in an
                    SNMP SET PDU together with object tnVwmMsPrbsTestIfIndex.

                    When writing true(1), this object must always be included
                    in an SNMP SET PDU together with object
                    tnVwmMsPrbsTestStartAutoStopDuration.

                    Reading this object always returns false(2)"
    ::= { tnVwmMsPrbsTest 2 }

tnVwmMsPrbsTestStartAutoStopDuration OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines after how much time a started PRBS
                    test will be automatically stopped.

                    This object must always be included in an SNMP SET PDU
                    together with objects tnVwmMsPrbsTestIfIndex and
                    tnVwmMsPrbsTestStartAutoStop.

                    This object is only relevant when object
                    tnVwmMsPrbsTestStartAutoStop has value true(1).

                    Reading this object always returns 0."
    ::= { tnVwmMsPrbsTest 3 }

tnVwmMsPrbsTestStop OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Writing true(1) to this object stops the PRBS test running
                    on this interface. Writing false(2) is a NOP.

                    When writing this object must always be included in
                    an SNMP SET PDU together with object tnVwmMsPrbsTestIfIndex.

                    Reading this object always returns false(2)"
    ::= { tnVwmMsPrbsTest 4 }

--------------------------------------------------------------------------------
-- VWMMS PRBS Test Result Table
--------------------------------------------------------------------------------

tnVwmMsPrbsTestResultTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsPrbsTestResultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS PRBS test result table."
    ::= { tnVwmMsInterfaceObjects 12 }

tnVwmMsPrbsTestResultEntry OBJECT-TYPE
    SYNTAX         TnVwmMsPrbsTestResultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsPrbsTestResultTable."
    INDEX { ifIndex }
    ::= { tnVwmMsPrbsTestResultTable 1 }

TnVwmMsPrbsTestResultEntry ::=
    SEQUENCE {
        tnVwmMsPrbsTestStartTime      DateAndTime,
        tnVwmMsPrbsTestDuration       Unsigned32,
        tnVwmMsPrbsTestStatus         TropicVwmMsPrbsTestStatus,
        tnVwmMsPrbsTestBitErrors      Unsigned32,
        tnVwmMsPrbsTestBitErrorRate   OCTET STRING
        }

tnVwmMsPrbsTestStartTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The PRBS test start time."
    ::= { tnVwmMsPrbsTestResultEntry 1 }

tnVwmMsPrbsTestDuration OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The PRBS test duration."
    ::= { tnVwmMsPrbsTestResultEntry 2 }

tnVwmMsPrbsTestStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsPrbsTestStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The PRBS test status."
    ::= { tnVwmMsPrbsTestResultEntry 3 }

tnVwmMsPrbsTestBitErrors OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The PRBS test bit error count."
    ::= { tnVwmMsPrbsTestResultEntry 4 }

tnVwmMsPrbsTestBitErrorRate OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..7))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The PRBS test bit error rate.
                    Format: #.#E-##"
    ::= { tnVwmMsPrbsTestResultEntry 5 }

--------------------------------------------------------------------------------
-- VWMMS Interface Loopback Table
--------------------------------------------------------------------------------

tnVwmMsIfLoopbackTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfLoopbackEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Interface Loopback table."
    ::= { tnVwmMsInterfaceObjects 13 }

tnVwmMsIfLoopbackEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfLoopbackEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfLoopbackTable."
    INDEX { ifIndex }
    ::= { tnVwmMsIfLoopbackTable 1 }

TnVwmMsIfLoopbackEntry ::=
    SEQUENCE {
        tnVwmMsIfLoopbackStatus    TruthValue,
        tnVwmMsIfTerminalLoopback  TruthValue
        }

tnVwmMsIfLoopbackStatus OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface Facility Loopback."
    ::= { tnVwmMsIfLoopbackEntry 1 }

tnVwmMsIfTerminalLoopback OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface Terminal Loopback."
    ::= { tnVwmMsIfLoopbackEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS DDM Data Table
--------------------------------------------------------------------------------

tnVwmMsDdmDataTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsDdmDataEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS table for Digital Diagnostics Monitoring
                    (DDM) Data of optical SFPs."
    ::= { tnVwmMsInterfaceObjects 14 }

tnVwmMsDdmDataEntry OBJECT-TYPE
    SYNTAX         TnVwmMsDdmDataEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsDdmDataTable."
    INDEX { ifIndex, tnVwmMsDdmDataType }
    ::= { tnVwmMsDdmDataTable 1 }

TnVwmMsDdmDataEntry ::=
    SEQUENCE {
        tnVwmMsDdmDataType   TropicVwmMsDdmDataType,
        tnVwmMsDdmDataValue  Integer32
        }

tnVwmMsDdmDataType OBJECT-TYPE
    SYNTAX         TropicVwmMsDdmDataType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Identifies the DDM Data parameter."
    ::= { tnVwmMsDdmDataEntry 1 }

tnVwmMsDdmDataValue OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The value of the DDM Data parameter.

                    The following units and granularities are applied,
                    depending on the value of object tnVwmMsDdmDataType :
                     - ddmVoltage          : Volt            - 0.0001 Volt
                     - ddmTemperature      : Degrees Celsius - 0.1 degrees
                     - ddmLaserBiasCurrent : mA              - 0.001 mA
                     - ddmTransmittedPower : dBm             - 0.1 dBm
                     - ddmReceivedPower    : dBm             - 0.1 dBm"
    ::= { tnVwmMsDdmDataEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Interface Monitor Table
--------------------------------------------------------------------------------

tnVwmMsIfMonitorTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfMonitorEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS table for Interface Monitoring."
    ::= { tnVwmMsInterfaceObjects 16 }

tnVwmMsIfMonitorEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfMonitorEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfMonitorTable."
    INDEX { ifIndex }
    ::= { tnVwmMsIfMonitorTable 1 }

TnVwmMsIfMonitorEntry ::=
    SEQUENCE {
        tnVwmMsIfMonitorMode      TropicVwmMsIfMonitorMode,
        tnVwmMsIfMonitorTargetIf  InterfaceIndexOrZero
        }

tnVwmMsIfMonitorMode OBJECT-TYPE
    SYNTAX         TropicVwmMsIfMonitorMode
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Monitor mode.

                    When writing this object with value other than monIdle(0):
                    - the current value of the object must be monIdle(0).
                    - this object must always be included in an SNMP SET PDU
                      together with object tnVwmMsIfMonitorTargetIf."
    ::= { tnVwmMsIfMonitorEntry 1 }

tnVwmMsIfMonitorTargetIf OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Target interface of the monitor.

                    If this object has value 0 this means that the monitor is
                    disconnected.

                    When writing this object must always be included in
                    an SNMP SET PDU together with object tnVwmMsIfMonitorMode."
    ::= { tnVwmMsIfMonitorEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Interface LOS Propagation Table
--------------------------------------------------------------------------------

tnVwmMsIfLosPropagationTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfLosPropagationEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS table for Interface LOS Propagation."
    ::= { tnVwmMsInterfaceObjects 17 }

tnVwmMsIfLosPropagationEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfLosPropagationEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfLosPropagationTable."
    INDEX { ifIndex }
    ::= { tnVwmMsIfLosPropagationTable 1 }

TnVwmMsIfLosPropagationEntry ::=
    SEQUENCE {
        tnVwmMsIfLosProp                        INTEGER,
        tnVwmMsIfLosPropExtensionTimer          Unsigned32,
        tnVwmMsIfLosPropDefectPersistenceTimer  Unsigned32
        }

tnVwmMsIfLosProp OBJECT-TYPE
    SYNTAX         INTEGER {
                         laserOn(1),
                         laserOff(2)
                       }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "LOS Propagation mode.

                    - laserOn  : LOS propagation disabled
                    - laserOff : LOS propagation enabled

                    When writing, this object must always be included in an SNMP
                    SET PDU together with object tnVwmMsIfLosPropExtensionTimer."
    ::= { tnVwmMsIfLosPropagationEntry 1 }

tnVwmMsIfLosPropExtensionTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "ms"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "LOS extension timer, in milliseconds. Determines by which
                    amount of time a received LOS is extended at the TX side.

                    When writing, this object must always be included in an
                    SNMP SET PDU together with object tnVwmMsIfLosProp."
    ::= { tnVwmMsIfLosPropagationEntry 2 }

tnVwmMsIfLosPropDefectPersistenceTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "microseconds (us)"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "LOS defect persistence timer, in microseconds."
    ::= { tnVwmMsIfLosPropagationEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS Interface Optical Power Thresholds Table
--------------------------------------------------------------------------------

tnVwmMsIfOptPwrThresholdsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfOptPwrThresholdsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS table for Interface Optical Power Thresholds."
    ::= { tnVwmMsInterfaceObjects 18 }

tnVwmMsIfOptPwrThresholdsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfOptPwrThresholdsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfOptPwrThresholdsTable."
    INDEX { ifIndex }
    ::= { tnVwmMsIfOptPwrThresholdsTable 1 }

TnVwmMsIfOptPwrThresholdsEntry ::=
    SEQUENCE {
        tnVwmMsIfRxOptPwrThreshold  TropicVwmMsOpticalPowerThreshold,
        tnVwmMsIfTxOptPwrThreshold  TropicVwmMsOpticalPowerThreshold
        }

tnVwmMsIfRxOptPwrThreshold OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface RX optical power threshold."
    ::= { tnVwmMsIfOptPwrThresholdsEntry 1 }

tnVwmMsIfTxOptPwrThreshold OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Interface TX optical power threshold."
    ::= { tnVwmMsIfOptPwrThresholdsEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS User Data Interface Table
--------------------------------------------------------------------------------

tnVwmMsUserDataIfTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsUserDataIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS User Data Interface table."
    ::= { tnVwmMsInterfaceObjects 19 }

tnVwmMsUserDataIfEntry OBJECT-TYPE
    SYNTAX         TnVwmMsUserDataIfEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsUserDataIfTable"
    INDEX { ifIndex }
    ::= { tnVwmMsUserDataIfTable 1 }

TnVwmMsUserDataIfEntry ::=
    SEQUENCE {
        tnVwmMsUserDataPvid         VlanIdOrNone,
        tnVwmMsUserDataVlanId       VlanIdOrNone,
        tnVwmMsUserDataPopOuterVlan TruthValue,
        tnVwmMsUserDataPir          Unsigned32
        }

tnVwmMsUserDataPvid OBJECT-TYPE
    SYNTAX         VlanIdOrNone
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Port VLAN-ID for frames ingressing the user data
                    port. Value 0 implies that no PVID is assigned.

                    When this object is set, and tnVwmMsUserDataVlanId
                    is not included in the same SET PDU, the value of
                    tnVwmMsUserDataVlanId is set to the same value as
                    tnVwmMsUserDataPvid."
    ::= { tnVwmMsUserDataIfEntry 1 }

tnVwmMsUserDataVlanId OBJECT-TYPE
    SYNTAX         VlanIdOrNone
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Translation VLAN-ID used for user data packets ingressing
                    and egressing the OSU.

                    If this object is included in an SNMP SET PDU, also object
                    tnVwmMsUserDataPvid must be included. If this is not the
                    case, the Agent must reply with an INCONSISTENT VALUE
                    error."
    ::= { tnVwmMsUserDataIfEntry 2 }

tnVwmMsUserDataPopOuterVlan OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Indicates whether or not the outer VLAN is removed
                    from frames egressing the user data port."
    ::= { tnVwmMsUserDataIfEntry 3 }

tnVwmMsUserDataPir OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Maximum bit rate, in numbers of 1 Mbit/s, the user
                    data port accepts in the ingress direction."
    ::= { tnVwmMsUserDataIfEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS User Data TPID Table
--------------------------------------------------------------------------------

tnVwmMsUserDataTpidTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsUserDataTpidEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS User Data TPID table."
    ::= { tnVwmMsInterfaceObjects 20 }

tnVwmMsUserDataTpidEntry OBJECT-TYPE
    SYNTAX         TnVwmMsUserDataTpidEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsUserDataTpidTable"
    INDEX { ifIndex }
    ::= { tnVwmMsUserDataTpidTable 1 }

TnVwmMsUserDataTpidEntry ::=
    SEQUENCE {
        tnVwmMsUserDataTpid  Unsigned32
        }

tnVwmMsUserDataTpid OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "TPID for frames egressing a port in user data role."
    ::= { tnVwmMsUserDataTpidEntry 1 }

tnVwmMsUserDataTpidCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS User Data TPID (TROPIC-VWMMS-MIB, tnVwmMsUserDataTpidTable)
                 creation notification."
::= { tnVwmMsInterfaceNotifications 1 }

tnVwmMsUserDataTpidDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS User Data TPID (TROPIC-VWMMS-MIB, tnVwmMsUserDataTpidTable)
                 deletion notification."
::= { tnVwmMsInterfaceNotifications 2 }

--------------------------------------------------------------------------------
-- VWMMS Amplifier Port Config Table
--------------------------------------------------------------------------------
tnVwmMsAmplifierPortConfigTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAmplifierPortConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Amplifier Port configuration table."
    ::= { tnVwmMsInterfaceObjects 21 }

tnVwmMsAmplifierPortConfigEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAmplifierPortConfigEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAmplifierPortConfigTable"
    INDEX { ifIndex }
    ::= { tnVwmMsAmplifierPortConfigTable 1 }

TnVwmMsAmplifierPortConfigEntry ::=
    SEQUENCE {
        tnVwmMsAmplifierPortRxPowerLosThreshold  Integer32,
        tnVwmMsAmplifierPortTxPowerLosThreshold  Integer32
        }

tnVwmMsAmplifierPortRxPowerLosThreshold OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Amplifier port input power threshold."
    ::= { tnVwmMsAmplifierPortConfigEntry 1 }

tnVwmMsAmplifierPortTxPowerLosThreshold OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Amplifier port output power threshold."
    ::= { tnVwmMsAmplifierPortConfigEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Amplifier Port Info Table
--------------------------------------------------------------------------------
tnVwmMsAmplifierPortInfoTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAmplifierPortInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Amplifier Port info table."
    ::= { tnVwmMsInterfaceObjects 22 }

tnVwmMsAmplifierPortInfoEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAmplifierPortInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAmplifierPortInfoTable"
    INDEX { ifIndex }
    ::= { tnVwmMsAmplifierPortInfoTable 1 }

TnVwmMsAmplifierPortInfoEntry ::=
    SEQUENCE {
        tnVwmMsAmplifierPortModuleStatus   INTEGER,
        tnVwmMsAmplifierPortNumberOfPumps  Unsigned32,
        tnVwmMsAmplifierPortPowerInMax     Integer32,
        tnVwmMsAmplifierPortPowerInMin     Integer32,
        tnVwmMsAmplifierPortPowerOutMax    Integer32,
        tnVwmMsAmplifierPortPowerOutMin    Integer32
        }

tnVwmMsAmplifierPortModuleStatus OBJECT-TYPE
    SYNTAX         INTEGER {
                       ok(1),
                       disabled(2),
                       heatingup(3),
                       eyesafe(4),
                       limited(5)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier module status."
    ::= { tnVwmMsAmplifierPortInfoEntry 1 }

tnVwmMsAmplifierPortNumberOfPumps OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of pumps (gain stages) of the amplifier."
    ::= { tnVwmMsAmplifierPortInfoEntry 2 }

tnVwmMsAmplifierPortPowerInMax OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Maximum input power."
    ::= { tnVwmMsAmplifierPortInfoEntry 3 }

tnVwmMsAmplifierPortPowerInMin OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Minimum input power."
    ::= { tnVwmMsAmplifierPortInfoEntry 4 }

tnVwmMsAmplifierPortPowerOutMax OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Maximum output power."
    ::= { tnVwmMsAmplifierPortInfoEntry 5 }

tnVwmMsAmplifierPortPowerOutMin OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Minimum output power."
    ::= { tnVwmMsAmplifierPortInfoEntry 6 }

--------------------------------------------------------------------------------
-- VWMMS Amplifier Port Pump Info Table
--------------------------------------------------------------------------------
tnVwmMsAmplifierPortPumpInfoTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAmplifierPortPumpInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Amplifier Port pump info table."
    ::= { tnVwmMsInterfaceObjects 25 }

tnVwmMsAmplifierPortPumpInfoEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAmplifierPortPumpInfoEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAmplifierPortPumpInfoTable"
    INDEX { ifIndex,
            tnVwmMsAmplifierPortPumpIndex }
    ::= { tnVwmMsAmplifierPortPumpInfoTable 1 }

TnVwmMsAmplifierPortPumpInfoEntry ::=
    SEQUENCE {
        tnVwmMsAmplifierPortPumpIndex            Unsigned32,
        tnVwmMsAmplifierPortPumpTemperature      Integer32,
        tnVwmMsAmplifierPortPumpWavelength       Unsigned32,
        tnVwmMsAmplifierPortPumpOperatingTime    Unsigned32,
        tnVwmMsAmplifierPortPumpLaserCurrent     Unsigned32,
        tnVwmMsAmplifierPortPumpLaserEOLCurrent  Unsigned32,
        tnVwmMsAmplifierPortPumpTecCurrent       Unsigned32,
        tnVwmMsAmplifierPortPumpTecVoltage       Unsigned32
        }

tnVwmMsAmplifierPortPumpIndex OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Amplifier pump index."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 1 }

tnVwmMsAmplifierPortPumpTemperature OBJECT-TYPE
    SYNTAX         Integer32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump temperature in tenths of degrees Celsius."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 2 }

tnVwmMsAmplifierPortPumpWavelength OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump laser wavelength in nanometer."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 3 }

tnVwmMsAmplifierPortPumpOperatingTime OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump operating time in hours."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 4 }

tnVwmMsAmplifierPortPumpLaserCurrent OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump laser current in tenths of mA."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 5 }

tnVwmMsAmplifierPortPumpLaserEOLCurrent OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump laser end-of-life current in tenths of mA."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 6 }

tnVwmMsAmplifierPortPumpTecCurrent OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump TEC current in tenths of mA."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 7 }

tnVwmMsAmplifierPortPumpTecVoltage OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Amplifier pump TEC voltage in millivolt."
    ::= { tnVwmMsAmplifierPortPumpInfoEntry 8 }

--------------------------------------------------------------------------------
-- VWMMS SFP Profile Table
--------------------------------------------------------------------------------

tnVwmMsSfpProfileTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profile table."
    ::= { tnVwmMsInterfaceObjects 26 }

tnVwmMsSfpProfileEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpProfileTable"
    INDEX { tnVwmMsSfpProfileIndex }
    ::= { tnVwmMsSfpProfileTable 1 }

TnVwmMsSfpProfileEntry ::=
    SEQUENCE {
        tnVwmMsSfpProfileIndex  TropicVwmMsSfpProfileIndexType,
        tnVwmMsSfpProfileName   OCTET STRING
        }

tnVwmMsSfpProfileIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpProfileIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "SFP Profile index."
    ::= { tnVwmMsSfpProfileEntry 1 }

tnVwmMsSfpProfileName OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..32))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "SFP Profile name."
    ::= { tnVwmMsSfpProfileEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS SFP Profile Rate Table
--------------------------------------------------------------------------------

tnVwmMsSfpProfileRateTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpProfileRateEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profile Rate table."
    ::= { tnVwmMsInterfaceObjects 27 }

tnVwmMsSfpProfileRateEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpProfileRateEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpProfileRateTable"
    INDEX { tnVwmMsSfpProfileIndex,
            tnVwmMsSfpProfileMnemonicIndex }
    ::= { tnVwmMsSfpProfileRateTable 1 }

TnVwmMsSfpProfileRateEntry ::=
    SEQUENCE {
        tnVwmMsSfpProfileMnemonicIndex  TropicVwmMsMnemonicIndexType,
        tnVwmMsSfpProfileMnemonic       TropicVwmMsMnemonic,
        tnVwmMsSfpProfileRate           TropicVwmMsCdrChannelRate
        }

tnVwmMsSfpProfileMnemonicIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsMnemonicIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "SFP Profile mnemonic index."
    ::= { tnVwmMsSfpProfileRateEntry 1 }

tnVwmMsSfpProfileMnemonic OBJECT-TYPE
    SYNTAX         TropicVwmMsMnemonic
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP Profile mnemonic."
    ::= { tnVwmMsSfpProfileRateEntry 2 }

tnVwmMsSfpProfileRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "SFP Profile mnemonic rate."
    ::= { tnVwmMsSfpProfileRateEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS Shelf SFP Profile Table
--------------------------------------------------------------------------------

tnVwmMsShelfSfpProfileTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsShelfSfpProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Shelf SFP Profile table."
    ::= { tnVwmMsInterfaceObjects 28 }

tnVwmMsShelfSfpProfileEntry OBJECT-TYPE
    SYNTAX         TnVwmMsShelfSfpProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsShelfSfpProfileTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsShelfSfpProfileTable 1 }

TnVwmMsShelfSfpProfileEntry ::=
    SEQUENCE {
        tnVwmMsShelfSfpProfileIndex  TropicVwmMsSfpProfileIndexType
        }

tnVwmMsShelfSfpProfileIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpProfileIndexType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Index of the SFP Profile used by the shelf."
    ::= { tnVwmMsShelfSfpProfileEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS SFP Profile Part Number Scalar Objects
--------------------------------------------------------------------------------

tnVwmMsSfpProfilePnCreateDeleteProfileIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpProfileIndexTypeOrAll
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the SFP profile index for which entries
                    in the tnVwmMsSfpProfilePnRateTable must be created or
                    deleted.

                    When creating an entry, this object must always be included
                    in an SNMP SET PDU together with objects
                    tnVwmMsSfpProfilePnCreateDeletePn and
                    tnVwmMsSfpProfilePnCreateRate.

                    When deleting a single entry, this object must always be
                    included in an SNMP SET PDU together with object
                    tnVwmMsSfpProfilePnCreateDeletePn.
                    When deleting all entries for the SFP profile, this object
                    must always be the only object in the SNMP SET PDU.

                    Reading this object always returns value 0."
    ::= { tnVwmMsInterfaceObjects 29 }

tnVwmMsSfpProfilePnCreateDeletePn OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpAluPartNumber
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the SFP part number for which entries
                    in the tnVwmMsSfpProfilePnRateTable must be created or
                    deleted.

                    When creating or deleting entries, this object must always
                    be included in an SNMP SET PDU together with object
                    tnVwmMsSfpProfilePnCreateDeleteProfileIndex.

                    When deleting entries, using an empty string for this object
                    triggers removal of all entries within the scope of the
                    tnVwmMsSfpProfilePnCreateDeleteProfileIndex value.

                    Reading this object always returns an empty string."
    ::= { tnVwmMsInterfaceObjects 30 }

tnVwmMsSfpProfilePnCreateRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the rate for which entries in the
                    tnVwmMsSfpProfilePnRateTable must be created.

                    When writing, this object must always be included in an
                    SNMP SET PDU together with objects
                    tnVwmMsSfpProfilePnCreateDeleteProfileIndex and
                    tnVwmMsSfpProfilePnCreateDeletePn.

                    Reading this object always returns value unknown(100)"
    ::= { tnVwmMsInterfaceObjects 31 }

--------------------------------------------------------------------------------
-- VWMMS SFP Profile Part Number Rate Table
--------------------------------------------------------------------------------

tnVwmMsSfpProfilePnRateTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpProfilePnRateEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profile Part Number Rate table."
    ::= { tnVwmMsInterfaceObjects 32 }

tnVwmMsSfpProfilePnRateEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpProfilePnRateEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpProfilePnRateTable"
    INDEX { tnVwmMsSfpProfileIndex,
            tnVwmMsSfpProfilePn }
    ::= { tnVwmMsSfpProfilePnRateTable 1 }

TnVwmMsSfpProfilePnRateEntry ::=
    SEQUENCE {
        tnVwmMsSfpProfilePn      TropicVwmMsSfpAluPartNumber,
        tnVwmMsSfpProfilePnRate  TropicVwmMsCdrChannelRate
        }

tnVwmMsSfpProfilePn OBJECT-TYPE
    SYNTAX         TropicVwmMsSfpAluPartNumber
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "SFP Profile Part Number."
    ::= { tnVwmMsSfpProfilePnRateEntry 1 }

tnVwmMsSfpProfilePnRate OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRate
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "SFP Profile PN rate."
    ::= { tnVwmMsSfpProfilePnRateEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS SFP Profile Part Number Rate Capability Table
--------------------------------------------------------------------------------

tnVwmMsSfpProfilePnRateCapabilityTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSfpProfilePnRateCapabilityEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profile Part Number Rate Capability table."
    ::= { tnVwmMsInterfaceObjects 33 }

tnVwmMsSfpProfilePnRateCapabilityEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSfpProfilePnRateCapabilityEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSfpProfilePnRateCapabilityTable"
    INDEX { tnVwmMsSfpProfilePn }
    ::= { tnVwmMsSfpProfilePnRateCapabilityTable 1 }

TnVwmMsSfpProfilePnRateCapabilityEntry ::=
    SEQUENCE {
        tnVwmMsSfpProfilePnRateCapability  TropicVwmMsCdrChannelRateCapabilityBits
        }

tnVwmMsSfpProfilePnRateCapability OBJECT-TYPE
    SYNTAX         TropicVwmMsCdrChannelRateCapabilityBits
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "SFP Profile PN rate capability."
    ::= { tnVwmMsSfpProfilePnRateCapabilityEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS SNMP definitions
--------------------------------------------------------------------------------

tnVwmMsSnmpReqRspPort OBJECT-TYPE
    SYNTAX         InetPortNumber
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION
                   "The UDP port number that is used for SNMP request and response
                    messages."
    DEFVAL         { 161 }
    ::= {  tnVwmMsSnmpObjects 1 }

--------------------------------------------------------------------------------
-- VWMMS SNMP Trap Destination Server Table
--------------------------------------------------------------------------------

tnVwmMsSnmpTrapDestTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsSnmpTrapDestEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS SNMP Trap Destination Server table."
    ::= { tnVwmMsSnmpObjects 2 }

tnVwmMsSnmpTrapDestEntry OBJECT-TYPE
    SYNTAX         TnVwmMsSnmpTrapDestEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsSnmpTrapDestTable"
    INDEX { tnVwmMsSnmpTrapDestServerId }
    ::= { tnVwmMsSnmpTrapDestTable 1 }

TnVwmMsSnmpTrapDestEntry ::=
    SEQUENCE {
        tnVwmMsSnmpTrapDestServerId    OCTET STRING,
        tnVwmMsSnmpTrapDestAddrType    InetAddressType,
        tnVwmMsSnmpTrapDestAddr        InetAddress,
        tnVwmMsSnmpTrapDestPort        InetPortNumber,
        tnVwmMsSnmpTrapDestCommunity   OCTET STRING,
        tnVwmMsSnmpTrapDestRowStatus   RowStatus
        }

tnVwmMsSnmpTrapDestServerId OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..32))
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "The SNMP Trap Destination Server identifier.
                    This is a unique value that identifies the table entry."
    ::= { tnVwmMsSnmpTrapDestEntry 1 }

tnVwmMsSnmpTrapDestAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Type of Internet address of the SNMP Trap Destination Server.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSnmpTrapDestAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsSnmpTrapDestEntry 2 }

tnVwmMsSnmpTrapDestAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Internet address of the SNMP Trap Destination Server.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSnmpTrapDestAddrType."
    ::= { tnVwmMsSnmpTrapDestEntry 3 }

tnVwmMsSnmpTrapDestPort OBJECT-TYPE
    SYNTAX         InetPortNumber
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The UDP port number that is used to send SNMP trap notification
                    messages to this Trap Destination Server."
    DEFVAL         { 162 }
    ::= { tnVwmMsSnmpTrapDestEntry 4 }


tnVwmMsSnmpTrapDestCommunity OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The SNMPv2c community name string that is used to send SNMP
                    notification messages to this Trap Destination Server."
    DEFVAL         { "alarm" }
    ::= { tnVwmMsSnmpTrapDestEntry 5 }

tnVwmMsSnmpTrapDestRowStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "A RowStatus object for creation, deletion, activation
                    and deactivation of entries in this table."
    ::= { tnVwmMsSnmpTrapDestEntry 6 }

tnVwmMsSnmpTrapDestCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS SNMP trap destination (TROPIC-VWMMS-MIB, tnVwmMsSnmpTrapDestTable)
                 creation notification."
::= { tnVwmMsSnmpNotifications 1 }

tnVwmMsSnmpTrapDestDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS SNMP trap destination (TROPIC-VWMMS-MIB, tnVwmMsSnmpTrapDestTable)
                 deletion notification."
::= { tnVwmMsSnmpNotifications 2 }

--------------------------------------------------------------------------------
-- VWMMS Fault Table
--------------------------------------------------------------------------------

tnVwmMsFaultTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsFaultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS shelf level fault table."
    ::= { tnVwmMsFaultObjects 1 }

tnVwmMsFaultEntry OBJECT-TYPE
    SYNTAX         TnVwmMsFaultEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsFaultTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsFaultTable 1 }

TnVwmMsFaultEntry ::=
    SEQUENCE {
        tnVwmMsFaultAlarmRaiseTime TropicVwmMsFaultAlarmTime,
        tnVwmMsFaultAlarmClearTime TropicVwmMsFaultAlarmTime
        }

tnVwmMsFaultAlarmRaiseTime OBJECT-TYPE
    SYNTAX         TropicVwmMsFaultAlarmTime
    UNITS          "deciseconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Raise persistence time for all alarms of the shelf."
    DEFVAL         { 25 }
    ::= { tnVwmMsFaultEntry 1 }

tnVwmMsFaultAlarmClearTime OBJECT-TYPE
    SYNTAX         TropicVwmMsFaultAlarmTime
    UNITS          "deciseconds"
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Clear persistence time for all alarms of the shelf."
    DEFVAL         { 100 }
    ::= { tnVwmMsFaultEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Alarm Severity Assignment Profile (ASAP) Table
--------------------------------------------------------------------------------

tnVwmMsAsapTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAsapEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Alarm Severity Assignment Profile (ASAP) table."
    ::= { tnVwmMsFaultObjects 2 }

tnVwmMsAsapEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAsapEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAsapTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsAsapIndex }
    ::= { tnVwmMsAsapTable 1 }

TnVwmMsAsapEntry ::=
    SEQUENCE {
        tnVwmMsAsapIndex TropicVwmMsAsapIndexType,
        tnVwmMsAsapName  SnmpAdminString
        }

tnVwmMsAsapIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsAsapIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "ASAP index number."
    ::= { tnVwmMsAsapEntry 1 }

tnVwmMsAsapName OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Name string for the ASAP."
    ::= { tnVwmMsAsapEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS ASAP Fault Profile Table
--------------------------------------------------------------------------------

tnVwmMsAsapFaultProfileTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsAsapFaultProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS ASAP Fault Profile table.
                    Data for all condition - location type combinations
                    within an ASAP."
    ::= { tnVwmMsFaultObjects 3 }

tnVwmMsAsapFaultProfileEntry OBJECT-TYPE
    SYNTAX         TnVwmMsAsapFaultProfileEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsAsapFaultProfileTable"
    INDEX { tnVwmMsShelfIndex,
            tnVwmMsAsapIndex,
            tnVwmMsAsapFaultProfileCondition,
            tnVwmMsAsapFaultProfileLocationType }
    ::= { tnVwmMsAsapFaultProfileTable 1 }

TnVwmMsAsapFaultProfileEntry ::=
    SEQUENCE {
        tnVwmMsAsapFaultProfileCondition         TnCondition,
        tnVwmMsAsapFaultProfileLocationType      TropicVwmMsFaultLocationType,
        tnVwmMsAsapFaultProfileSeverity          ItuPerceivedSeverity,
        tnVwmMsAsapFaultProfileReported          TruthValue,
        tnVwmMsAsapFaultProfileServiceAffecting  TruthValue,
        tnVwmMsAsapFaultProfileAlarmText         SnmpAdminString
        }

tnVwmMsAsapFaultProfileCondition OBJECT-TYPE
    SYNTAX         TnCondition
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Fault condition."
    ::= { tnVwmMsAsapFaultProfileEntry 1 }

tnVwmMsAsapFaultProfileLocationType OBJECT-TYPE
    SYNTAX         TropicVwmMsFaultLocationType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Fault location type."
    ::= { tnVwmMsAsapFaultProfileEntry 2 }

tnVwmMsAsapFaultProfileSeverity OBJECT-TYPE
    SYNTAX         ItuPerceivedSeverity
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Severity for the condition - location type combination."
    ::= { tnVwmMsAsapFaultProfileEntry 3 }

tnVwmMsAsapFaultProfileReported OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Report flag for the condition - location type combination."
    ::= { tnVwmMsAsapFaultProfileEntry 4 }

tnVwmMsAsapFaultProfileServiceAffecting OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether alarms raised for the condition - location
                    type combination are service affecting or not."
    ::= { tnVwmMsAsapFaultProfileEntry 5 }

tnVwmMsAsapFaultProfileAlarmText OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Alarm text for the condition - location type combination."
    ::= { tnVwmMsAsapFaultProfileEntry 6 }

--------------------------------------------------------------------------------
-- VWMMS Database Objects
--------------------------------------------------------------------------------

tnVwmMsDatabaseBackupAndRestoreRemoteHostAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of Internet address of the backup and restore server.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsDatabaseBackupAndRestoreRemoteHostAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsDatabaseObjects 1 }

tnVwmMsDatabaseBackupAndRestoreRemoteHostAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Internet address of the backup and restore server.
                    The type of this address is determined by the value
                    of object tnVwmMsDatabaseBackupAndRestoreRemoteHostAddrType.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsDatabaseBackupAndRestoreRemoteHostAddrType.

                    The default value is a zero-length string."
    ::= { tnVwmMsDatabaseObjects 2 }

--------------------------------------------------------------------------------
-- VWMMS Software Objects
--------------------------------------------------------------------------------

tnVwmMsSoftwareRemoteHostAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of Internet address of the software download server.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsSoftwareRemoteHostAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsSoftwareObjects 1 }

tnVwmMsSoftwareRemoteHostAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Internet address of the software download server.
                    The type of this address is determined by the value of
                    object tnVwmMsSoftwareRemoteHostAddrType.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsSoftwareRemoteHostAddrType.

                    The default value is a zero-length string."
    ::= { tnVwmMsSoftwareObjects 2 }

--------------------------------------------------------------------------------
-- VWMMS Shelf ISD Table
--------------------------------------------------------------------------------

tnVwmMsShelfIsdTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsShelfIsdEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS shelf Image Software Database (ISD) table.
                    Contains information on the contents of all ISDs (SW banks) of
                    all shelves."
    ::= { tnVwmMsSoftwareObjects 3 }

tnVwmMsShelfIsdEntry OBJECT-TYPE
    SYNTAX         TnVwmMsShelfIsdEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsShelfIsdTable."
    INDEX { tnVwmMsShelfIndex, tnVwmMsShelfIsdId }
    ::= { tnVwmMsShelfIsdTable 1 }

TnVwmMsShelfIsdEntry ::=
    SEQUENCE {
        tnVwmMsShelfIsdId           TropicVwmMsIsdId,
        tnVwmMsShelfIsdStatus       TropicVwmMsIsdStatus,
        tnVwmMsShelfIsdBuildTime    DateAndTime,
        tnVwmMsShelfIsdItemCode     SnmpAdminString,
        tnVwmMsShelfIsdSwVersion    SnmpAdminString,
        tnVwmMsShelfIsdMaintenance  TruthValue,
        tnVwmMsShelfIsdCompatible   TruthValue
        }

tnVwmMsShelfIsdId OBJECT-TYPE
    SYNTAX         TropicVwmMsIsdId
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Identifier of the SW ISD (SW bank)."
    ::= { tnVwmMsShelfIsdEntry 1 }

tnVwmMsShelfIsdStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsIsdStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Status of the SW ISD (SW bank)."
    ::= { tnVwmMsShelfIsdEntry 2 }

tnVwmMsShelfIsdBuildTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Date and time when the SW was built."
    ::= { tnVwmMsShelfIsdEntry 3 }

tnVwmMsShelfIsdItemCode OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(1..7))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "ISD software item code."
    ::= { tnVwmMsShelfIsdEntry 4 }

tnVwmMsShelfIsdSwVersion OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(5..8))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "ISD software version.
                    Format is 'XX.YY.ZZ' :
                      XX : Major release number (1 or 2 digits)
                      YY : Minor release number (1 or 2 digits)
                      ZZ : Bugfix release number (1 or 2 digits)"
    ::= { tnVwmMsShelfIsdEntry 5 }

tnVwmMsShelfIsdMaintenance OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether the ISD contains a maintenance load."
    ::= { tnVwmMsShelfIsdEntry 6 }

tnVwmMsShelfIsdCompatible OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "For a maintenance SW load, object tnVwmMsShelfIsdMaintenance
                    having value true(1), indicates the compatibility of the
                    maintenance load relative to the software version from which
                    it is derived."
    ::= { tnVwmMsShelfIsdEntry 7 }

--------------------------------------------------------------------------------
-- VWMMS Maintenance Software Objects
--------------------------------------------------------------------------------

tnVwmMsMtSoftwareLoad OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Writing true(1) to this object starts the download of
                    Maintenance Software from a remote file server.
                    Writing false(2) is a NOP.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsSoftwareObjects 4 }

tnVwmMsMtSoftwareShelfLoad OBJECT IDENTIFIER ::= { tnVwmMsSoftwareObjects 5 }

tnVwmMsMtSoftwareShelfLoadIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the shelf for which a download is
                    started.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsMtSoftwareShelfLoadPath.

                    Reading this object always returns 1."
    ::= { tnVwmMsMtSoftwareShelfLoad 1 }

tnVwmMsMtSoftwareShelfLoadPath OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the path of the SW ISD (SW bank).

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsMtSoftwareShelfLoadIndex.

                    Reading this object always returns an empty string."
    ::= { tnVwmMsMtSoftwareShelfLoad 2 }

tnVwmMsMtSoftwareShelfActivate OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Index of the Shelf on which to activate the Maintenance
                    Software.

                    Reading this object always returns 1."
    ::= { tnVwmMsSoftwareObjects 6 }

tnVwmMsMtSoftwareShelfAbort OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Index of the Shelf for which to abort the download of the
                    Maintenance Software.

                    Reading this object always returns 1."
    ::= { tnVwmMsSoftwareObjects 7 }

tnVwmMsMtSoftwareShelfStatusTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsMtSoftwareShelfStatusEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS shelf maintenance software shelf status table."
    ::= { tnVwmMsSoftwareObjects 8 }

tnVwmMsMtSoftwareShelfStatusEntry OBJECT-TYPE
    SYNTAX         TnVwmMsMtSoftwareShelfStatusEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsMtSoftwareShelfStatusTable."
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsMtSoftwareShelfStatusTable 1 }

TnVwmMsMtSoftwareShelfStatusEntry ::=
    SEQUENCE {
        tnVwmMsMtSoftwareShelfLastOperation        TropicSwControl,
        tnVwmMsMtSoftwareShelfLastOperationStatus  TropicSwLastOperationStatus
        }

tnVwmMsMtSoftwareShelfLastOperation OBJECT-TYPE
    SYNTAX         TropicSwControl
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "This is the last control command executed against the
                    Maintenance Software download subsystem."
    ::= { tnVwmMsMtSoftwareShelfStatusEntry 1 }

tnVwmMsMtSoftwareShelfLastOperationStatus OBJECT-TYPE
    SYNTAX         TropicSwLastOperationStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "This attribute indicates the status of the previously
                    executed Maintenance Software operation."
    ::= { tnVwmMsMtSoftwareShelfStatusEntry 2 }

tnVwmMsMtSoftwareRemove OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Path of the SW ISD (SW bank) to remove.

                    Reading this object always returns an empty string."
    ::= { tnVwmMsSoftwareObjects 9 }

--------------------------------------------------------------------------------
-- VWMMS Maintenance Software Table
--------------------------------------------------------------------------------

tnVwmMsMtSoftwareTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsMtSoftwareEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Maintenance Software table.
                    Contains information on the contents of all Maintenance Software."
    ::= { tnVwmMsSoftwareObjects 10 }

tnVwmMsMtSoftwareEntry OBJECT-TYPE
    SYNTAX         TnVwmMsMtSoftwareEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsMtSoftwareTable."
    INDEX { tnVwmMsMtSoftwareTableIndex }
    ::= { tnVwmMsMtSoftwareTable 1 }

TnVwmMsMtSoftwareEntry ::=
    SEQUENCE {
        tnVwmMsMtSoftwareTableIndex   Integer32,
        tnVwmMsMtSoftwarePath         SnmpAdminString,
        tnVwmMsMtSoftwareBuildTime    DateAndTime,
        tnVwmMsMtSoftwareItemCode     SnmpAdminString,
        tnVwmMsMtSoftwareSwVersion    SnmpAdminString,
        tnVwmMsMtSoftwareMaintenance  TruthValue,
        tnVwmMsMtSoftwareCompatible   TruthValue
        }

tnVwmMsMtSoftwareTableIndex OBJECT-TYPE
    SYNTAX         Integer32 (1..65535)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "An index that uniquely identifies an entry in the
                    tnVwmMsMtSoftwareTable."
    ::= { tnVwmMsMtSoftwareEntry 1 }

tnVwmMsMtSoftwarePath OBJECT-TYPE
    SYNTAX         SnmpAdminString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Path of the SW ISD (SW bank)."
    ::= { tnVwmMsMtSoftwareEntry 2 }

tnVwmMsMtSoftwareBuildTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Date and time when the SW was built."
    ::= { tnVwmMsMtSoftwareEntry 3 }

tnVwmMsMtSoftwareItemCode OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(1..7))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "ISD software item code."
    ::= { tnVwmMsMtSoftwareEntry 4 }

tnVwmMsMtSoftwareSwVersion OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(5..8))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "ISD software version.
                    Format is 'XX.YY.ZZ' :
                      XX : Major release number (1 or 2 digits)
                      YY : Minor release number (1 or 2 digits)
                      ZZ : Bugfix release number (1 or 2 digits)"
    ::= { tnVwmMsMtSoftwareEntry 5 }

tnVwmMsMtSoftwareMaintenance OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates whether the ISD contains a maintenance load."
    ::= { tnVwmMsMtSoftwareEntry 6 }

tnVwmMsMtSoftwareCompatible OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "For a maintenance SW load, object tnVwmMsMtSoftwareMaintenance
                    having value true(1), indicates the compatibility of the
                    maintenance load relative to the software version from which
                    it is derived."
    ::= { tnVwmMsMtSoftwareEntry 7 }

--------------------------------------------------------------------------------
-- VWMMS Shelf Time Table
--------------------------------------------------------------------------------

tnVwmMsShelfTimeTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsShelfTimeEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS shelf time table."
    ::= { tnVwmMsTimeObjects 1 }

tnVwmMsShelfTimeEntry OBJECT-TYPE
    SYNTAX         TnVwmMsShelfTimeEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsShelfTimeTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsShelfTimeTable 1 }

TnVwmMsShelfTimeEntry ::=
    SEQUENCE {
        tnVwmMsShelfTime  DateAndTime
        }

tnVwmMsShelfTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Shelf time.
                    Can only be set when object tnVwmMsNtpState of
                    table tnVwmMsNtpTable with the same value of
                    tnVwmMsShelfIndex is disabled."
    ::= { tnVwmMsShelfTimeEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS NTP Table
--------------------------------------------------------------------------------

tnVwmMsNtpTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsNtpEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Network Timing Protocol (NTP) table.
                    Shelf level NTP enabled/disabled setting."
    ::= { tnVwmMsTimeObjects 2 }

tnVwmMsNtpEntry OBJECT-TYPE
    SYNTAX         TnVwmMsNtpEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsNtpTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsNtpTable 1 }

TnVwmMsNtpEntry ::=
    SEQUENCE {
        tnVwmMsNtpState  INTEGER
        }

tnVwmMsNtpState OBJECT-TYPE
    SYNTAX         INTEGER {
                       enabled(1),
                       disabled(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "NTP enabled/disabled state."
    ::= { tnVwmMsNtpEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS NTP Server Table
--------------------------------------------------------------------------------

tnVwmMsNtpServerTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsNtpServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Network Timing Protocol (NTP) server table."
    ::= { tnVwmMsTimeObjects 3 }

tnVwmMsNtpServerEntry OBJECT-TYPE
    SYNTAX         TnVwmMsNtpServerEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsNtpServerTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsNtpServerIndex }
    ::= { tnVwmMsNtpServerTable 1 }

TnVwmMsNtpServerEntry ::=
    SEQUENCE {
        tnVwmMsNtpServerIndex     TropicVwmMsNtpServerIndexType,
        tnVwmMsNtpServerAddrType  InetAddressType,
        tnVwmMsNtpServerAddr      InetAddress
        }

tnVwmMsNtpServerIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsNtpServerIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "NTP server index."
    ::= { tnVwmMsNtpServerEntry 1 }

tnVwmMsNtpServerAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of Internet address of the NTP Server.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsNtpServerAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsNtpServerEntry 2 }

tnVwmMsNtpServerAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Internet address of the NTP Server.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsNtpServerAddrType."
    ::= { tnVwmMsNtpServerEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS System IP Objects
--------------------------------------------------------------------------------

tnVwmMsSystemIpV4AddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Type of tnVwmMsSystemIpV4Addr IP address. Fixed ipv4(1)."
    ::= { tnVwmMsSystemIpObjects 1 }

tnVwmMsSystemIpV4Addr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv4 address.
                    Only IPv4 addresses are allowed for this object.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSystemIpV4PrefixLen."
    DEFVAL         { "0.0.0.0" }
    ::= { tnVwmMsSystemIpObjects 2 }

tnVwmMsSystemIpV4ActualAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv4 address."
    ::= { tnVwmMsSystemIpObjects 3 }

tnVwmMsSystemIpV4PrefixLen OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv4 address prefix length.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSystemIpV4Addr."
    DEFVAL         { 0 }
    ::= { tnVwmMsSystemIpObjects 4 }

tnVwmMsSystemIpV4ActualPrefixLen OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv4 address prefix length."
    ::= { tnVwmMsSystemIpObjects 5 }

tnVwmMsSystemIpV4Gateway OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv4 gateway.
                    Only IPv4 addresses are allowed for this object."
    DEFVAL         { "0.0.0.0" }
    ::= { tnVwmMsSystemIpObjects 6 }

tnVwmMsSystemIpV4ActualGateway OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv4 gateway."
    ::= { tnVwmMsSystemIpObjects 7 }

tnVwmMsSystemIpV6AddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Type of tnVwmMsSystemIpV6Addr IP address. Fixed ipv6(2)."
    ::= { tnVwmMsSystemIpObjects 8 }

tnVwmMsSystemIpV6Addr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv6 address.
                    Only IPv6 addresses are allowed for this object.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSystemIpV6PrefixLen."
    DEFVAL         { "::" }
    ::= { tnVwmMsSystemIpObjects 9 }

tnVwmMsSystemIpV6ActualAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv6 address."
    ::= { tnVwmMsSystemIpObjects 10 }

tnVwmMsSystemIpV6PrefixLen OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv6 address prefix length.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSystemIpV6Addr."
    DEFVAL         { 128 }
    ::= { tnVwmMsSystemIpObjects 11 }

tnVwmMsSystemIpV6ActualPrefixLen OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv6 address prefix length."
    ::= { tnVwmMsSystemIpObjects 12 }

tnVwmMsSystemIpV6Gateway OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured system IPv6 gateway.
                    Only IPv6 addresses are allowed for this object."
    DEFVAL         { "::" }
    ::= { tnVwmMsSystemIpObjects 13 }

tnVwmMsSystemIpV6ActualGateway OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual system IPv6 gateway."
    ::= { tnVwmMsSystemIpObjects 14 }

tnVwmMsSystemIpDhcpEnabled OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "System (IPv4) DHCP enabled setting."
    DEFVAL         { true }
    ::= { tnVwmMsSystemIpObjects 15 }

--------------------------------------------------------------------------------
-- VWMMS Craft Port IP Address Table
--------------------------------------------------------------------------------

tnVwmMsCraftIpTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsCraftIpEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Craft port IP address table."
    ::= { tnVwmMsSystemIpObjects 16 }

tnVwmMsCraftIpEntry OBJECT-TYPE
    SYNTAX         TnVwmMsCraftIpEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsCraftIpTable"
    INDEX { tnVwmMsShelfIndex }
    ::= { tnVwmMsCraftIpTable 1 }

TnVwmMsCraftIpEntry ::=
    SEQUENCE {
        tnVwmMsCraftIpV4AddrType   InetAddressType,
        tnVwmMsCraftIpV4Addr       InetAddress,
        tnVwmMsCraftIpV4PrefixLen  InetAddressPrefixLength,
        tnVwmMsCraftIpV4Gateway    InetAddress
        }

tnVwmMsCraftIpV4AddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Type of tnVwmMsCraftIpV4Addr IP address. Fixed ipv4(1)."
    ::= { tnVwmMsCraftIpEntry 1 }

tnVwmMsCraftIpV4Addr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured craft port IPv4 address.
                    Only IPv4 addresses are allowed for this object.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsCraftIpV4PrefixLen."
    DEFVAL         { "0.0.0.0" }
    ::= { tnVwmMsCraftIpEntry 2 }

tnVwmMsCraftIpV4PrefixLen OBJECT-TYPE
    SYNTAX         InetAddressPrefixLength
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured craft port IPv4 address prefix length.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsCraftIpV4Addr."
    DEFVAL         { 0 }
    ::= { tnVwmMsCraftIpEntry 3 }

tnVwmMsCraftIpV4Gateway OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured craft port IPv4 gateway.
                    Only IPv4 addresses are allowed for this object."
    DEFVAL         { "0.0.0.0" }
    ::= { tnVwmMsCraftIpEntry 4 }

--------------------------------------------------------------------------------
-- VWMMS System Discovery Objects
--------------------------------------------------------------------------------

tnVwmMsSysDiscoveryServerAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of Internet address of the system discovery file server.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSysDiscoveryServerAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsSysDiscoveryObjects 1 }

tnVwmMsSysDiscoveryServerAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Internet address of the system discovery file server.
                    The type of this address is determined by the value
                    of object tnVwmMsSysDiscoveryServerAddrType.

                    This object must always be included in an SNMP SET PDU
                    together with object tnVwmMsSysDiscoveryServerAddrType.

                    The default value is a zero-length string."
    ::= { tnVwmMsSysDiscoveryObjects 2 }

--------------------------------------------------------------------------------
-- VWMMS Performance Monitoring Notifications
--------------------------------------------------------------------------------

tnVwmMsPmBinsRolledOverNotif NOTIFICATION-TYPE
    OBJECTS {
        tnTrapTime,
        tnTrapCategory,
        tnTrapDescr,
        tnTrapData
    }
    STATUS         obsolete
    DESCRIPTION    "Notifies the completion of a PMON binning interval."
    ::= { tnVwmMsPmonNotifications 1 }

--------------------------------------------------------------------------------
-- VWMMS Performance Monitoring Objects
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- Interface Ethernet History Statistics Table
--------------------------------------------------------------------------------

tnVwmMsIfEthHistoryStatsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfEthHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table to contain history ethernet statistics for interfaces."
    ::= { tnVwmMsPmonObjects 1 }

tnVwmMsIfEthHistoryStatsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfEthHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfEthHistoryStatsTable"
    INDEX { ifIndex,
            tnVwmMsIfEthHistoryStatsInterval,
            tnVwmMsIfEthHistoryStatsBin }
    ::= { tnVwmMsIfEthHistoryStatsTable 1 }

TnVwmMsIfEthHistoryStatsEntry ::=
    SEQUENCE {
        tnVwmMsIfEthHistoryStatsInterval               TropicVwmMsPmonIntervalType,
        tnVwmMsIfEthHistoryStatsBin                    Unsigned32,
        tnVwmMsIfEthHistoryStatsEndTime                DateAndTime,
        tnVwmMsIfEthHistoryStatsElapsedTime            TimeInterval,
        tnVwmMsIfEthHistoryStatsSuspect                TruthValue,
        tnVwmMsIfEthHistoryStatsIfInOctets             Counter64,
        tnVwmMsIfEthHistoryStatsIfInUcastPkts          Counter32,
        tnVwmMsIfEthHistoryStatsIfInMcastPkts          Counter32,
        tnVwmMsIfEthHistoryStatsIfInBcastPkts          Counter32,
        tnVwmMsIfEthHistoryStatsIfInErrors             Counter32,
        tnVwmMsIfEthHistoryStatsIfInDiscards           Counter32,
        tnVwmMsIfEthHistoryStatsIfInUnknownProtos      Counter32,
        tnVwmMsIfEthHistoryStatsIfOutOctets            Counter64,
        tnVwmMsIfEthHistoryStatsIfOutUcastPkts         Counter32,
        tnVwmMsIfEthHistoryStatsIfOutMcastPkts         Counter32,
        tnVwmMsIfEthHistoryStatsIfOutBcastPkts         Counter32,
        tnVwmMsIfEthHistoryStatsIfOutErrors            Counter32,
        tnVwmMsIfEthHistoryStatsIfOutDiscards          Counter32,
        tnVwmMsIfEthHistoryStatsIfOutUnclassifiedPkts  Counter32
        }

tnVwmMsIfEthHistoryStatsInterval OBJECT-TYPE
    SYNTAX         TropicVwmMsPmonIntervalType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Performance Monitoring interval."
    ::= { tnVwmMsIfEthHistoryStatsEntry 1 }

tnVwmMsIfEthHistoryStatsBin OBJECT-TYPE
    SYNTAX         Unsigned32 (1..4294967295)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Bin sequence number for the interface and measurement
                    interval."
    ::= { tnVwmMsIfEthHistoryStatsEntry 2 }

tnVwmMsIfEthHistoryStatsEndTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The time that the measurement interval ended."
    ::= { tnVwmMsIfEthHistoryStatsEntry 3 }

tnVwmMsIfEthHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX         TimeInterval
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The length of time that the measurement interval
                    ran for, in centi-seconds."
    ::= { tnVwmMsIfEthHistoryStatsEntry 4 }

tnVwmMsIfEthHistoryStatsSuspect OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Whether the measurement interval has been marked as suspect."
    ::= { tnVwmMsIfEthHistoryStatsEntry 5 }

tnVwmMsIfEthHistoryStatsIfInOctets OBJECT-TYPE
    SYNTAX         Counter64
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming octets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 6 }

tnVwmMsIfEthHistoryStatsIfInUcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming unicast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 7 }

tnVwmMsIfEthHistoryStatsIfInMcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming multicast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 8 }

tnVwmMsIfEthHistoryStatsIfInBcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming broadcast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 9 }

tnVwmMsIfEthHistoryStatsIfInErrors OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming errored packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 10 }

tnVwmMsIfEthHistoryStatsIfInDiscards OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming discarded packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 11 }

tnVwmMsIfEthHistoryStatsIfInUnknownProtos OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured incoming packets with unknown protocol."
    ::= { tnVwmMsIfEthHistoryStatsEntry 12 }

tnVwmMsIfEthHistoryStatsIfOutOctets OBJECT-TYPE
    SYNTAX         Counter64
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing octets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 13 }

tnVwmMsIfEthHistoryStatsIfOutUcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing unicast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 14 }

tnVwmMsIfEthHistoryStatsIfOutMcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing multicast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 15 }

tnVwmMsIfEthHistoryStatsIfOutBcastPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing broadcast packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 16 }

tnVwmMsIfEthHistoryStatsIfOutErrors OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing errored packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 17 }

tnVwmMsIfEthHistoryStatsIfOutDiscards OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing discarded packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 18 }

tnVwmMsIfEthHistoryStatsIfOutUnclassifiedPkts OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Measured outgoing unclassified packets."
    ::= { tnVwmMsIfEthHistoryStatsEntry 19 }

--------------------------------------------------------------------------------
-- Interface Optical History Statistics Table
--------------------------------------------------------------------------------

tnVwmMsIfOptHistoryStatsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfOptHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table to contain history optical statistics for interfaces."
    ::= { tnVwmMsPmonObjects 2 }

tnVwmMsIfOptHistoryStatsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfOptHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfOptHistoryStatsTable"
    INDEX { ifIndex,
            tnVwmMsIfOptHistoryStatsInterval,
            tnVwmMsIfOptHistoryStatsBin }
    ::= { tnVwmMsIfOptHistoryStatsTable 1 }

TnVwmMsIfOptHistoryStatsEntry ::=
    SEQUENCE {
        tnVwmMsIfOptHistoryStatsInterval      TropicVwmMsPmonIntervalType,
        tnVwmMsIfOptHistoryStatsBin           Unsigned32,
        tnVwmMsIfOptHistoryStatsEndTime       DateAndTime,
        tnVwmMsIfOptHistoryStatsElapsedTime   TimeInterval,
        tnVwmMsIfOptHistoryStatsSuspect       TruthValue,
        tnVwmMsIfOptHistoryStatsIfOptHigh     Integer32,
        tnVwmMsIfOptHistoryStatsIfOptAverage  Integer32,
        tnVwmMsIfOptHistoryStatsIfOptLow      Integer32,
        tnVwmMsIfOptHistoryStatsIfOprHigh     Integer32,
        tnVwmMsIfOptHistoryStatsIfOprAverage  Integer32,
        tnVwmMsIfOptHistoryStatsIfOprLow      Integer32
        }

tnVwmMsIfOptHistoryStatsInterval OBJECT-TYPE
    SYNTAX         TropicVwmMsPmonIntervalType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Performance Monitoring interval."
    ::= { tnVwmMsIfOptHistoryStatsEntry 1 }

tnVwmMsIfOptHistoryStatsBin OBJECT-TYPE
    SYNTAX         Unsigned32 (1..4294967295)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Bin sequence number for the interface and measurement
                    interval."
    ::= { tnVwmMsIfOptHistoryStatsEntry 2 }

tnVwmMsIfOptHistoryStatsEndTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The time that the measurement interval ended."
    ::= { tnVwmMsIfOptHistoryStatsEntry 3 }

tnVwmMsIfOptHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX         TimeInterval
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The length of time that the measurement interval
                    ran for, in centi-seconds."
    ::= { tnVwmMsIfOptHistoryStatsEntry 4 }

tnVwmMsIfOptHistoryStatsSuspect OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Whether the measurement interval has been marked as suspect."
    ::= { tnVwmMsIfOptHistoryStatsEntry 5 }

tnVwmMsIfOptHistoryStatsIfOptHigh OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Highest measured transmitted optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 6 }

tnVwmMsIfOptHistoryStatsIfOptAverage OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Average measured transmitted optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 7 }

tnVwmMsIfOptHistoryStatsIfOptLow OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Lowest measured transmitted optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 8 }

tnVwmMsIfOptHistoryStatsIfOprHigh OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Highest measured received optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 9 }

tnVwmMsIfOptHistoryStatsIfOprAverage OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Average measured received optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 10 }

tnVwmMsIfOptHistoryStatsIfOprLow OBJECT-TYPE
    SYNTAX         Integer32
    UNITS          "mBm"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Lowest measured received optical power."
    ::= { tnVwmMsIfOptHistoryStatsEntry 11 }

--------------------------------------------------------------------------------
-- Interface PCS History Statistics Table
--------------------------------------------------------------------------------

tnVwmMsIfPcsHistoryStatsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfPcsHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table to contain history PCS statistics for interfaces."
    ::= { tnVwmMsPmonObjects 3 }

tnVwmMsIfPcsHistoryStatsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfPcsHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfPcsHistoryStatsTable"
    INDEX { ifIndex,
            tnVwmMsIfPcsHistoryStatsInterval,
            tnVwmMsIfPcsHistoryStatsBin }
    ::= { tnVwmMsIfPcsHistoryStatsTable 1 }

TnVwmMsIfPcsHistoryStatsEntry ::=
    SEQUENCE {
        tnVwmMsIfPcsHistoryStatsInterval     TropicVwmMsPmonIntervalType,
        tnVwmMsIfPcsHistoryStatsBin          Unsigned32,
        tnVwmMsIfPcsHistoryStatsEndTime      DateAndTime,
        tnVwmMsIfPcsHistoryStatsElapsedTime  TimeInterval,
        tnVwmMsIfPcsHistoryStatsSuspect      TruthValue,
        tnVwmMsIfPcsHistoryStatsIfCv         Counter32,
        tnVwmMsIfPcsHistoryStatsIfEs         Counter32,
        tnVwmMsIfPcsHistoryStatsIfSes        Counter32,
        tnVwmMsIfPcsHistoryStatsIfSefs       Counter32
        }

tnVwmMsIfPcsHistoryStatsInterval OBJECT-TYPE
    SYNTAX         TropicVwmMsPmonIntervalType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Performance Monitoring interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 1 }

tnVwmMsIfPcsHistoryStatsBin OBJECT-TYPE
    SYNTAX         Unsigned32 (1..4294967295)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Bin sequence number for the interface and measurement
                    interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 2 }

tnVwmMsIfPcsHistoryStatsEndTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The time that the measurement interval ended."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 3 }

tnVwmMsIfPcsHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX         TimeInterval
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The length of time that the measurement interval
                    ran for, in centi-seconds."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 4 }

tnVwmMsIfPcsHistoryStatsSuspect OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Whether the measurement interval has been marked as suspect."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 5 }

tnVwmMsIfPcsHistoryStatsIfCv OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of code violations in the measurement interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 6 }

tnVwmMsIfPcsHistoryStatsIfEs OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of errored seconds in the measurement interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 7 }

tnVwmMsIfPcsHistoryStatsIfSes OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of severely errored seconds in the measurement
                    interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 8 }

tnVwmMsIfPcsHistoryStatsIfSefs OBJECT-TYPE
    SYNTAX         Counter32
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of severely errored frame seconds in the
                    measurement interval."
    ::= { tnVwmMsIfPcsHistoryStatsEntry 9 }

--------------------------------------------------------------------------------
-- Interface Ethernet FEC History Statistics Table
--------------------------------------------------------------------------------

tnVwmMsIfEthFecHistoryStatsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfEthFecHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table to contain history ETH FEC statistics for interfaces."
    ::= { tnVwmMsPmonObjects 7 }

tnVwmMsIfEthFecHistoryStatsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfEthFecHistoryStatsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfEthFecHistoryStatsTable"
    INDEX { ifIndex,
            tnVwmMsIfEthFecHistoryStatsInterval,
            tnVwmMsIfEthFecHistoryStatsBin }
    ::= { tnVwmMsIfEthFecHistoryStatsTable 1 }

TnVwmMsIfEthFecHistoryStatsEntry ::=
    SEQUENCE {
        tnVwmMsIfEthFecHistoryStatsInterval     TropicVwmMsPmonIntervalType,
        tnVwmMsIfEthFecHistoryStatsBin          Unsigned32,
        tnVwmMsIfEthFecHistoryStatsEndTime      DateAndTime,
        tnVwmMsIfEthFecHistoryStatsElapsedTime  TimeInterval,
        tnVwmMsIfEthFecHistoryStatsSuspect      TruthValue,
        tnVwmMsIfEthFecHistoryStatsIfCorrCnt    Counter64,
        tnVwmMsIfEthFecHistoryStatsIfUncorrCnt  Counter64
        }

tnVwmMsIfEthFecHistoryStatsInterval OBJECT-TYPE
    SYNTAX         TropicVwmMsPmonIntervalType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Performance Monitoring interval."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 1 }

tnVwmMsIfEthFecHistoryStatsBin OBJECT-TYPE
    SYNTAX         Unsigned32 (1..4294967295)
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Bin sequence number for the interface and measurement
                    interval."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 2 }

tnVwmMsIfEthFecHistoryStatsEndTime OBJECT-TYPE
    SYNTAX         DateAndTime
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The time that the measurement interval ended."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 3 }

tnVwmMsIfEthFecHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX         TimeInterval
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The length of time that the measurement interval
                    ran for, in centi-seconds."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 4 }

tnVwmMsIfEthFecHistoryStatsSuspect OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Whether the measurement interval has been marked as suspect."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 5 }

tnVwmMsIfEthFecHistoryStatsIfCorrCnt OBJECT-TYPE
    SYNTAX         Counter64
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of errored FEC code words that were corrected."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 6 }

tnVwmMsIfEthFecHistoryStatsIfUncorrCnt OBJECT-TYPE
    SYNTAX         Counter64
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Number of errored FEC code words that could not be corrected."
    ::= { tnVwmMsIfEthFecHistoryStatsEntry 7 }

--------------------------------------------------------------------------------
-- VWMMS TLU-9M Slot Performance Monitoring Table
--------------------------------------------------------------------------------

tnVwmMsTlu9mSlotPmTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsTlu9mSlotPmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS TLU-9M Slot Performance Monitoring table."
    ::= { tnVwmMsPmonObjects 4 }

tnVwmMsTlu9mSlotPmEntry OBJECT-TYPE
    SYNTAX         TnVwmMsTlu9mSlotPmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsTlu9mSlotPmTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsTlu9mSlotPmTable 1 }

TnVwmMsTlu9mSlotPmEntry ::=
    SEQUENCE {
        tnVwmMsTlu9mSlotPmMode  Integer32
        }

tnVwmMsTlu9mSlotPmMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       roundRobin(1),
                       dedicated(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "TLU-9M Slot Performance Monitoring mode."
    DEFVAL         { roundRobin }
    ::= { tnVwmMsTlu9mSlotPmEntry 1 }

--------------------------------------------------------------------------------
-- VWMMS Interface PCS Performance Monitoring Table
--------------------------------------------------------------------------------

tnVwmMsTlu9mIfPmTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsTlu9mIfPmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Interface PCS Performance Monitoring table.
                    This table is not solely intended for TLU-9M units."
    ::= { tnVwmMsPmonObjects 5 }

tnVwmMsTlu9mIfPmEntry OBJECT-TYPE
    SYNTAX         TnVwmMsTlu9mIfPmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsTlu9mIfPmTable"
    INDEX { ifIndex }
    ::= { tnVwmMsTlu9mIfPmTable 1 }

TnVwmMsTlu9mIfPmEntry ::=
    SEQUENCE {
        tnVwmMsTlu9mIfPmMode        Integer32,
        tnVwmMsTlu9mIfActualPmMode  Integer32
        }

tnVwmMsTlu9mIfPmMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       basic(1),
                       full(2)
                   }
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Configured Interface PCS Performance Monitoring mode."
    DEFVAL         { basic }
    ::= { tnVwmMsTlu9mIfPmEntry 1 }

tnVwmMsTlu9mIfActualPmMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       none(0),
                       basic(1),
                       full(2)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual PCS Interface Performance Monitoring mode."
    ::= { tnVwmMsTlu9mIfPmEntry 2 }

--------------------------------------------------------------------------------
-- VWMMS Interface Performance Monitoring Threshold Table
--------------------------------------------------------------------------------

tnVwmMsIfPmThresholdsTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsIfPmThresholdsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS Interface Performance Monitoring Threshold table."
    ::= { tnVwmMsPmonObjects 6 }

tnVwmMsIfPmThresholdsEntry OBJECT-TYPE
    SYNTAX         TnVwmMsIfPmThresholdsEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsIfPmThresholdsTable"
    INDEX { ifIndex }
    ::= { tnVwmMsIfPmThresholdsTable 1 }

TnVwmMsIfPmThresholdsEntry ::=
    SEQUENCE {
        tnVwmMsIfPmCvSesThreshold10B  Unsigned32,
        tnVwmMsIfPmCvSesThreshold66B  Unsigned32,
        tnVwmMsIfPmSesMonitoringMode  Integer32
        }

tnVwmMsIfPmCvSesThreshold10B OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "CV-SES threshold for 10B/8B coded signals. The value
                    indicates the number of Code Violations that must have
                    been detected before declaring a second a Severely
                    Errored Second."
    ::= { tnVwmMsIfPmThresholdsEntry 1 }

tnVwmMsIfPmCvSesThreshold66B OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "CV-SES threshold for 66B/64B coded signals. The value
                    indicates the number of Code Violations that must have
                    been detected before declaring a second a Severely
                    Errored Second."
    ::= { tnVwmMsIfPmThresholdsEntry 2 }

tnVwmMsIfPmSesMonitoringMode OBJECT-TYPE
    SYNTAX         INTEGER {
                       monModeNone(0),
                       monMode10B(1),
                       monMode66B(2)
                   }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the threshold, tnVwmMsIfPmCvSesThreshold10B
                    or tnVwmMsIfPmCvSesThreshold66B or neither of these
                    two, that is currently used."
    ::= { tnVwmMsIfPmThresholdsEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS Security Notifications
--------------------------------------------------------------------------------

tnVwmMsSecurityFileNameNotif NOTIFICATION-TYPE
    OBJECTS {
        tnTrapTime,
        tnTrapCategory,
        tnTrapDescr,
        tnTrapData
    }
    STATUS         obsolete
    DESCRIPTION    "Notifies the name of a transferable file."
    ::= { tnVwmMsSecurityNotifications 1 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM protection switch management."
    ::= { tnVwmMsOpsObjects 1 }

tnVwmMsOpsOsmEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsOsmTable 1 }

TnVwmMsOpsOsmEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmDescr                  SnmpAdminString,
            tnVwmMsOpsOsmThresholdA             TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmThresholdB             TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmThresholdSIG           TropicVwmMsOpticalPowerThreshold,
            tnVwmMsOpsOsmThresholdHysteresis    TropicVwmMsOpsOsmPowerHysteresis,
            tnVwmMsOpsOsmBounceTimer            TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmEvaluationTimer        TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmHoldOffTimer           TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmSwitchCountResetTimer  Unsigned32,
            tnVwmMsOpsOsmMaxSwitchCount         TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmSwitchCommand          TropicVwmMsOpsOsmSwitchCommand,
            tnVwmMsOpsOsmAvailabilityStatus     TropicVwmMsAvailabilityStatus,
            tnVwmMsOpsOsmPowerA                 TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmPowerB                 TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmPowerSIG               TropicVwmMsOpticalPower,
            tnVwmMsOpsOsmSwitchCount            TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmRxPos                  DisplayString,
            tnVwmMsOpsOsmTxPos                  DisplayString,
            tnVwmMsOpsOsmState                  DisplayString,
            tnVwmMsOpsOsmExternalCommand        DisplayString,
            tnVwmMsOpsOsmResetSwitchCount       TruthValue
        }

tnVwmMsOpsOsmDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Description of the OSM protection switch instance."
    ::= { tnVwmMsOpsOsmEntry 1 }

tnVwmMsOpsOsmThresholdA OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port A."
    ::= { tnVwmMsOpsOsmEntry 2 }

tnVwmMsOpsOsmThresholdB OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port B."
    ::= { tnVwmMsOpsOsmEntry 3 }

tnVwmMsOpsOsmThresholdSIG OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPowerThreshold
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power threshold for the input signal of port SIG."
    ::= { tnVwmMsOpsOsmEntry 4 }

tnVwmMsOpsOsmThresholdHysteresis OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmPowerHysteresis
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Power Hysteresis for input signals."
    ::= { tnVwmMsOpsOsmEntry 5 }

tnVwmMsOpsOsmBounceTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Protection switch bounce timer."
    ::= { tnVwmMsOpsOsmEntry 6 }

tnVwmMsOpsOsmEvaluationTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Protection switch evaluation timer."
    ::= { tnVwmMsOpsOsmEntry 7 }

tnVwmMsOpsOsmHoldOffTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Protection switch hold-off timer."
    ::= { tnVwmMsOpsOsmEntry 8 }

tnVwmMsOpsOsmSwitchCountResetTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Protection switch count reset timer."
    ::= { tnVwmMsOpsOsmEntry 9 }

tnVwmMsOpsOsmMaxSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Maximum number of switch counts."
    ::= { tnVwmMsOpsOsmEntry 10 }

tnVwmMsOpsOsmSwitchCommand OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCommand
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "User configurable protection switch command."
    ::= { tnVwmMsOpsOsmEntry 11 }

tnVwmMsOpsOsmAvailabilityStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the availability of the read-only data
                    of the current row."
    ::= { tnVwmMsOpsOsmEntry 12 }

tnVwmMsOpsOsmPowerA OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port A."
    ::= { tnVwmMsOpsOsmEntry 13 }

tnVwmMsOpsOsmPowerB OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port B."
    ::= { tnVwmMsOpsOsmEntry 14 }

tnVwmMsOpsOsmPowerSIG OBJECT-TYPE
    SYNTAX         TropicVwmMsOpticalPower
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Power of input signal of port SIG."
    ::= { tnVwmMsOpsOsmEntry 15 }

tnVwmMsOpsOsmSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual number of switch counts."
    ::= { tnVwmMsOpsOsmEntry 16 }

tnVwmMsOpsOsmRxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "RX selector position.
                    Possible values are A and B."
    ::= { tnVwmMsOpsOsmEntry 17 }

tnVwmMsOpsOsmTxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "TX selector position.
                    Possible values are NULL and OUT."
    ::= { tnVwmMsOpsOsmEntry 18 }

tnVwmMsOpsOsmState OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Protection switch status.
                    Possible values are W_ACT, P_ACT, LOSRV, WBLOCKED
                    and PBLOCKED."
    ::= { tnVwmMsOpsOsmEntry 19 }

tnVwmMsOpsOsmExternalCommand OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Last executed external protection switch command.
                    Possible values are CLEAR, FORCE-W and FORCE-P."
    ::= { tnVwmMsOpsOsmEntry 20 }

tnVwmMsOpsOsmResetSwitchCount OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Writing true(1) to this object resets the switch
                    count of the protection switch.
                    Writing false(2) is a NOP.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsOsmEntry 21 }

--------------------------------------------------------------------------------
-- VWMMS OPS Protection Audit Entity Table
--------------------------------------------------------------------------------

tnVwmMsOpsPaeTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsPaeEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS Protection Audit Entity management."
    ::= { tnVwmMsOpsObjects 2}

tnVwmMsOpsPaeEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsPaeEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsPaeTable"
    INDEX { tnVwmMsShelfAIndex, tnVwmMsSlotAIndex, tnVwmMsShelfZIndex, tnVwmMsSlotZIndex }
    ::= { tnVwmMsOpsPaeTable 1 }

TnVwmMsOpsPaeEntry ::=
    SEQUENCE {
            tnVwmMsShelfAIndex          TropicVwmMsShelfIndexType,
            tnVwmMsSlotAIndex           TropicVwmMsSlotIndexType,
            tnVwmMsShelfZIndex          TropicVwmMsShelfIndexType,
            tnVwmMsSlotZIndex           TropicVwmMsSlotIndexType,
            tnVwmMsOpsPaeDescr          SnmpAdminString,
            tnVwmMsOpsPaeRevertive      TruthValue,
            tnVwmMsOpsPaeStatus         TropicVwmMsOpsPaeStatus,
            tnVwmMsOpsPaeWtrTimer       Unsigned32,
            tnVwmMsOpsPaeWtrTimerRemain Unsigned32,
            tnVwmMsOpsPaeClearWtrTimer  TruthValue,
            tnVwmMsOpsPaeRowStatus      RowStatus
    }

tnVwmMsShelfAIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "OPS A shelf index number."
    ::= { tnVwmMsOpsPaeEntry 1 }

tnVwmMsSlotAIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSlotIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "OPS A slot index number."
    ::= { tnVwmMsOpsPaeEntry 2 }

tnVwmMsShelfZIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "OPS Z shelf index number."
    ::= { tnVwmMsOpsPaeEntry 3 }

tnVwmMsSlotZIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsSlotIndexType
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "OPS Z slot index number."
    ::= { tnVwmMsOpsPaeEntry 4 }

tnVwmMsOpsPaeDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Description of the OPS Protection Audit Entity."
    DEFVAL         { "" }
    ::= { tnVwmMsOpsPaeEntry 5 }

tnVwmMsOpsPaeRevertive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Whether the OPS Protection Audit Entity should try to
                    restore selection of the working leg.
                    If set to true(1) and the working leg is found to be
                    in order, after expiry of the Wait-to-Restore timer,
                    both OPS's revert to the working leg.
                    If set to false(2) the OPS's retain the selected leg."
    DEFVAL         { false }
    ::= { tnVwmMsOpsPaeEntry 6 }

tnVwmMsOpsPaeStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsPaeStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The status of the OPS Protection Audit Entity."
    ::= { tnVwmMsOpsPaeEntry 7 }

tnVwmMsOpsPaeWtrTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer value."
    DEFVAL         { 10 }
    ::= { tnVwmMsOpsPaeEntry 8 }

tnVwmMsOpsPaeWtrTimerRemain OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer remaining time."
    ::= { tnVwmMsOpsPaeEntry 9 }

tnVwmMsOpsPaeClearWtrTimer OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Force expiry of the Wait-to-Restore timer by writing
                    to this object. If set to true(1) the Wait-to-Restore
                    timer is expired. If set to false(2) no action is taken.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsPaeEntry 10 }

tnVwmMsOpsPaeRowStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "A RowStatus object for creation, deletion, activation
                    and deactivation of entries in this table."
    ::= { tnVwmMsOpsPaeEntry 11 }

tnVwmMsOpsPaeCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS Pae (TROPIC-VWMMS-MIB, tnVwmMsOpsPaeTable)
                 creation notification."
::= { tnVwmMsOpsNotifications 1 }

tnVwmMsOpsPaeDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS Pae (TROPIC-VWMMS-MIB, tnVwmMsOpsPaeTable)
                 deletion notification."
::= { tnVwmMsOpsNotifications 2 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM PSE-L Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmPselTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmPselEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM PSE-L protection switch management."
    ::= { tnVwmMsOpsObjects 3 }

tnVwmMsOpsOsmPselEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmPselEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmPselTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsOsmPselTable 1 }

TnVwmMsOpsOsmPselEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmPselDescr                    SnmpAdminString,
            tnVwmMsOpsOsmPselWMonIfIndex              InterfaceIndexOrZero,
            tnVwmMsOpsOsmPselPMonIfIndex              InterfaceIndexOrZero,
            tnVwmMsOpsOsmPselMonLoopDefectForwarding  Integer32,
            tnVwmMsOpsOsmPselRevertive                TruthValue,
            tnVwmMsOpsOsmPselWtrTimer                 Unsigned32,
            tnVwmMsOpsOsmPselWtrTimerRemain           Unsigned32,
            tnVwmMsOpsOsmPselBounceTimer              TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmPselHoldOffTimer             TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmPselSwitchCountResetTimer    Unsigned32,
            tnVwmMsOpsOsmPselMaxSwitchCount           TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmPselSwitchCommand            TropicVwmMsOpsOsmSwitchCommand,
            tnVwmMsOpsOsmPselSfWMonIf                 TruthValue,
            tnVwmMsOpsOsmPselSfPMonIf                 TruthValue,
            tnVwmMsOpsOsmPselAvailabilityStatus       TropicVwmMsAvailabilityStatus,
            tnVwmMsOpsOsmPselSwitchCount              TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmPselRxPos                    DisplayString,
            tnVwmMsOpsOsmPselTxPos                    DisplayString,
            tnVwmMsOpsOsmPselState                    DisplayString,
            tnVwmMsOpsOsmPselExternalCommand          DisplayString,
            tnVwmMsOpsOsmPselResetSwitchCount         TruthValue,
            tnVwmMsOpsOsmPselClearWtrTimer            TruthValue,
            tnVwmMsOpsOsmPselRowStatus                RowStatus
        }

tnVwmMsOpsOsmPselDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Description of the OSM PSE-L protection switch instance."
    ::= { tnVwmMsOpsOsmPselEntry 1 }

tnVwmMsOpsOsmPselWMonIfIndex OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "OSU OSC interface used to monitor the worker loop."
    ::= { tnVwmMsOpsOsmPselEntry 2 }

tnVwmMsOpsOsmPselPMonIfIndex OBJECT-TYPE
    SYNTAX         InterfaceIndexOrZero
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "OSU OSC interface used to monitor the protection loop."
    ::= { tnVwmMsOpsOsmPselEntry 3 }

tnVwmMsOpsOsmPselMonLoopDefectForwarding OBJECT-TYPE
    SYNTAX         INTEGER {
                       enabled(1),
                       disabled(2)
                   }
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Enable or disable the defect forwarding for the worker
                    and protection loops."
    ::= { tnVwmMsOpsOsmPselEntry 4 }

tnVwmMsOpsOsmPselRevertive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Whether the OPS OSM PSE-L Entity should try to restore
                    selection of the working leg."
    DEFVAL         { false }
    ::= { tnVwmMsOpsOsmPselEntry 5 }

tnVwmMsOpsOsmPselWtrTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer value."
    DEFVAL         { 10 }
    ::= { tnVwmMsOpsOsmPselEntry 6 }

tnVwmMsOpsOsmPselWtrTimerRemain OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer remaining time."
    ::= { tnVwmMsOpsOsmPselEntry 7 }

tnVwmMsOpsOsmPselBounceTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Protection switch bounce timer."
    ::= { tnVwmMsOpsOsmPselEntry 8 }

tnVwmMsOpsOsmPselHoldOffTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Hold-off timer for the OPR defects on the
                    monitor loops."
    ::= { tnVwmMsOpsOsmPselEntry 9 }

tnVwmMsOpsOsmPselSwitchCountResetTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Protection switch count reset timer."
    ::= { tnVwmMsOpsOsmPselEntry 10 }

tnVwmMsOpsOsmPselMaxSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Maximum number of switch counts."
    ::= { tnVwmMsOpsOsmPselEntry 11 }

tnVwmMsOpsOsmPselSwitchCommand OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCommand
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Writing this object requests the system to execute a
                    protection switch of the type specified by the value to
                    which this object is written.

                    Reading this object always returns value clear(0)."
    ::= { tnVwmMsOpsOsmPselEntry 12 }

tnVwmMsOpsOsmPselSfWMonIf OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Signal-Fail (SF) status of the interface used to monitor the
                    worker loop."
    ::= { tnVwmMsOpsOsmPselEntry 13 }

tnVwmMsOpsOsmPselSfPMonIf OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Signal-Fail (SF) status of the interface used to monitor the
                    protection loop."
    ::= { tnVwmMsOpsOsmPselEntry 14 }

tnVwmMsOpsOsmPselAvailabilityStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the availability of the read-only data
                    of the current row."
    ::= { tnVwmMsOpsOsmPselEntry 15 }

tnVwmMsOpsOsmPselSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual number of switch counts."
    ::= { tnVwmMsOpsOsmPselEntry 16 }

tnVwmMsOpsOsmPselRxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "RX selector position.
                    Possible values are A and B."
    ::= { tnVwmMsOpsOsmPselEntry 17 }

tnVwmMsOpsOsmPselTxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "TX selector position.
                    Possible values are A and B."
    ::= { tnVwmMsOpsOsmPselEntry 18 }

tnVwmMsOpsOsmPselState OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Protection switch status.
                    Possible values are FS-W, FS-P, SF-W, SF-P, MS-W,
                    MS-P, WtR, NR-W, NR-P and BLOCK."
    ::= { tnVwmMsOpsOsmPselEntry 19 }

tnVwmMsOpsOsmPselExternalCommand OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Last executed external protection switch command.
                    Possible values are CLEAR, MANUAL-W, MANUAL-P,
                    FORCE-W and FORCE-P."
    ::= { tnVwmMsOpsOsmPselEntry 20 }

tnVwmMsOpsOsmPselResetSwitchCount OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Writing true(1) to this object resets the switch
                    count of the protection switch.
                    Writing false(2) is a NOP.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsOsmPselEntry 21 }

tnVwmMsOpsOsmPselClearWtrTimer OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Force expiry of the Wait-to-Restore timer by writing
                    to this object. If set to true(1) the Wait-to-Restore
                    timer is expired. If set to false(2) no action is taken.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsOsmPselEntry 22 }

tnVwmMsOpsOsmPselRowStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "A RowStatus object for creation, deletion, activation
                    and deactivation of entries in this table."
    ::= { tnVwmMsOpsOsmPselEntry 23 }


tnVwmMsOpsOsmPselCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-L (TROPIC-VWMMS-MIB, tnVwmMsOpsOsmPselTable)
                 creation notification."
::= { tnVwmMsOpsNotifications 3 }

tnVwmMsOpsOsmPselDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-L (TROPIC-VWMMS-MIB, tnVwmMsOpsOsmPselTable)
                 deletion notification."
::= { tnVwmMsOpsNotifications 4 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM PSE-R Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmPserTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmPserEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM PSE-R protection switch management."
    ::= { tnVwmMsOpsObjects 4 }

tnVwmMsOpsOsmPserEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmPserEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmPserTable"
    INDEX { tnVwmMsShelfIndex, tnVwmMsSlotIndex }
    ::= { tnVwmMsOpsOsmPserTable 1 }

TnVwmMsOpsOsmPserEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmPserDescr                    SnmpAdminString,
            tnVwmMsOpsOsmPserPmudShelfIndex           TropicVwmMsShelfIndexTypeOrNone,
            tnVwmMsOpsOsmPserPmudLine1IsWorker        TruthValue,
            tnVwmMsOpsOsmPserMonLoopDefectForwarding  Integer32,
            tnVwmMsOpsOsmPserRevertive                TruthValue,
            tnVwmMsOpsOsmPserWtrTimer                 Unsigned32,
            tnVwmMsOpsOsmPserWtrTimerRemain           Unsigned32,
            tnVwmMsOpsOsmPserBounceTimer              TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmPserHoldOffTimer             TropicVwmMsOpsOsmTime,
            tnVwmMsOpsOsmPserSwitchCountResetTimer    Unsigned32,
            tnVwmMsOpsOsmPserMaxSwitchCount           TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmPserSwitchCommand            TropicVwmMsOpsOsmSwitchCommand,
            tnVwmMsOpsOsmPserMonWFail                 TruthValue,
            tnVwmMsOpsOsmPserMonPFail                 TruthValue,
            tnVwmMsOpsOsmPserTrmtBand1                TruthValue,
            tnVwmMsOpsOsmPserTrmtBand2                TruthValue,
            tnVwmMsOpsOsmPserPmudSelectorPosition     TropicVwmMsPmudSelectorPosition,
            tnVwmMsOpsOsmPserAvailabilityStatus       TropicVwmMsAvailabilityStatus,
            tnVwmMsOpsOsmPserSwitchCount              TropicVwmMsOpsOsmSwitchCount,
            tnVwmMsOpsOsmPserRxPos                    DisplayString,
            tnVwmMsOpsOsmPserTxPos                    DisplayString,
            tnVwmMsOpsOsmPserState                    DisplayString,
            tnVwmMsOpsOsmPserExternalCommand          DisplayString,
            tnVwmMsOpsOsmPserResetSwitchCount         TruthValue,
            tnVwmMsOpsOsmPserClearWtrTimer            TruthValue,
            tnVwmMsOpsOsmPserRowStatus                RowStatus,
            tnVwmMsOpsOsmPserPmudGroup                SnmpAdminString
        }

tnVwmMsOpsOsmPserDescr OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..64))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Description of the OSM PSE-R protection switch instance."
    ::= { tnVwmMsOpsOsmPserEntry 1 }

tnVwmMsOpsOsmPserPmudShelfIndex OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Indicates the PMU-D of which the LINE ports participate in the
                    protection group."
    DEFVAL         { 0 }
    ::= { tnVwmMsOpsOsmPserEntry 2 }

tnVwmMsOpsOsmPserPmudLine1IsWorker OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Indicates whether the LINE1 interface of the PMU-D, see object
                    tnVwmMsOpsOsmPserPmudShelfIndex, is used to monitor the worker
                    loop or not. The LINE2 interface of the PMU-D is implicitly
                    used to monitor the other loop."
    ::= { tnVwmMsOpsOsmPserEntry 3 }

tnVwmMsOpsOsmPserMonLoopDefectForwarding OBJECT-TYPE
    SYNTAX         INTEGER {
                       enabled(1),
                       disabled(2)
                   }
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Enable or disable the defect forwarding for the worker
                    and protection loops."
    ::= { tnVwmMsOpsOsmPserEntry 4 }

tnVwmMsOpsOsmPserRevertive OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Whether the OPS OSM PSE-R Entity should try to restore
                    selection of the working leg."
    DEFVAL         { false }
    ::= { tnVwmMsOpsOsmPserEntry 5 }

tnVwmMsOpsOsmPserWtrTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer value."
    DEFVAL         { 10 }
    ::= { tnVwmMsOpsOsmPserEntry 6 }

tnVwmMsOpsOsmPserWtrTimerRemain OBJECT-TYPE
    SYNTAX         Unsigned32
    UNITS          "Minutes"
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The Wait-to-Restore timer remaining time."
    ::= { tnVwmMsOpsOsmPserEntry 7 }

tnVwmMsOpsOsmPserBounceTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Protection switch bounce timer."
    ::= { tnVwmMsOpsOsmPserEntry 8 }

tnVwmMsOpsOsmPserHoldOffTimer OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmTime
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Hold-off timer for the SF defects on the
                    monitor loops."
    ::= { tnVwmMsOpsOsmPserEntry 9 }

tnVwmMsOpsOsmPserSwitchCountResetTimer OBJECT-TYPE
    SYNTAX         Unsigned32
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Protection switch count reset timer."
    ::= { tnVwmMsOpsOsmPserEntry 10 }

tnVwmMsOpsOsmPserMaxSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Maximum number of switch counts."
    ::= { tnVwmMsOpsOsmPserEntry 11 }

tnVwmMsOpsOsmPserSwitchCommand OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCommand
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Writing this object requests the system to execute a
                    protection switch of the type specified by the value to
                    which this object is written.

                    Reading this object always returns value clear(0)."
    ::= { tnVwmMsOpsOsmPserEntry 12 }

tnVwmMsOpsOsmPserMonWFail OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Signal-Fail (SF) status on the worker monitor loop."
    ::= { tnVwmMsOpsOsmPserEntry 13 }

tnVwmMsOpsOsmPserMonPFail OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Signal-Fail (SF) status on the protection monitor loop."
    ::= { tnVwmMsOpsOsmPserEntry 14 }

tnVwmMsOpsOsmPserTrmtBand1 OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical Transmit Power (TRMT) defect status of the PMU-D
                    BAND1 interface."
    ::= { tnVwmMsOpsOsmPserEntry 15 }

tnVwmMsOpsOsmPserTrmtBand2 OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Optical Transmit Power (TRMT) defect status of the PMU-D
                    BAND2 interface."
    ::= { tnVwmMsOpsOsmPserEntry 16 }

tnVwmMsOpsOsmPserPmudSelectorPosition OBJECT-TYPE
    SYNTAX         TropicVwmMsPmudSelectorPosition
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The actual position of the PMU-D BAND selector."
    ::= { tnVwmMsOpsOsmPserEntry 17 }

tnVwmMsOpsOsmPserAvailabilityStatus OBJECT-TYPE
    SYNTAX         TropicVwmMsAvailabilityStatus
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Indicates the availability of the read-only data
                    of the current row."
    ::= { tnVwmMsOpsOsmPserEntry 18 }

tnVwmMsOpsOsmPserSwitchCount OBJECT-TYPE
    SYNTAX         TropicVwmMsOpsOsmSwitchCount
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Actual number of switch counts."
    ::= { tnVwmMsOpsOsmPserEntry 19 }

tnVwmMsOpsOsmPserRxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "RX selector position.
                    Possible values are A and B."
    ::= { tnVwmMsOpsOsmPserEntry 20 }

tnVwmMsOpsOsmPserTxPos OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "TX selector position.
                    Possible values are A and B."
    ::= { tnVwmMsOpsOsmPserEntry 21 }

tnVwmMsOpsOsmPserState OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Protection switch status.
                    Possible values are FS-W, FS-P, SF-W, SF-P, MS-W,
                    MS-P, WtR, NR-W, NR-P and BLOCK."
    ::= { tnVwmMsOpsOsmPserEntry 22 }

tnVwmMsOpsOsmPserExternalCommand OBJECT-TYPE
    SYNTAX         DisplayString
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Last executed external protection switch command.
                    Possible values are CLEAR, MANUAL-W, MANUAL-P,
                    FORCE-W and FORCE-P."
    ::= { tnVwmMsOpsOsmPserEntry 23 }

tnVwmMsOpsOsmPserResetSwitchCount OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Writing true(1) to this object resets the switch
                    count of the protection switch.
                    Writing false(2) is a NOP.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsOsmPserEntry 24 }

tnVwmMsOpsOsmPserClearWtrTimer OBJECT-TYPE
    SYNTAX         TruthValue
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "Force expiry of the Wait-to-Restore timer by writing
                    to this object. If set to true(1) the Wait-to-Restore
                    timer is expired. If set to false(2) no action is taken.

                    Reading this object always returns false(2)."
    ::= { tnVwmMsOpsOsmPserEntry 25 }

tnVwmMsOpsOsmPserRowStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "A RowStatus object for creation, deletion, activation
                    and deactivation of entries in this table."
    ::= { tnVwmMsOpsOsmPserEntry 26 }

tnVwmMsOpsOsmPserPmudGroup OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..32))
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "The PMU-D Group related toa PSE-R, or none."
    DEFVAL         { "" }
    ::= { tnVwmMsOpsOsmPserEntry 27 }


tnVwmMsOpsOsmPserCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-R (TROPIC-VWMMS-MIB, tnVwmMsOpsOsmPserTable)
                 creation notification."
::= { tnVwmMsOpsNotifications 5 }

tnVwmMsOpsOsmPserDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-R (TROPIC-VWMMS-MIB, tnVwmMsOpsOsmPserTable)
                 deletion notification."
::= { tnVwmMsOpsNotifications 6 }

--------------------------------------------------------------------------------
-- VWMMS OPS OSM PSE-R PMU-D Group Table
--------------------------------------------------------------------------------

tnVwmMsOpsOsmPserPmudGroupTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsOpsOsmPserPmudGroupEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Table for OPS OSM PSE-R PMU-D Group management.
                    Up to a maximum of 4 PMU-D units can be configured for a
                    PMU-D Group. No ordering applies to the 4 objects defined
                    to contain a PMU-D shelf index."
    ::= { tnVwmMsOpsObjects 5 }

tnVwmMsOpsOsmPserPmudGroupEntry OBJECT-TYPE
    SYNTAX         TnVwmMsOpsOsmPserPmudGroupEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsOpsOsmPserPmudGroupTable"
    INDEX { tnVwmMsOpsOsmPserPmudGroupName }
    ::= { tnVwmMsOpsOsmPserPmudGroupTable 1 }

TnVwmMsOpsOsmPserPmudGroupEntry ::=
    SEQUENCE {
            tnVwmMsOpsOsmPserPmudGroupName       SnmpAdminString,
            tnVwmMsOpsOsmPserPmudGroupPmud1      TropicVwmMsShelfIndexTypeOrNone,
            tnVwmMsOpsOsmPserPmudGroupPmud2      TropicVwmMsShelfIndexTypeOrNone,
            tnVwmMsOpsOsmPserPmudGroupPmud3      TropicVwmMsShelfIndexTypeOrNone,
            tnVwmMsOpsOsmPserPmudGroupPmud4      TropicVwmMsShelfIndexTypeOrNone,
            tnVwmMsOpsOsmPserPmudGroupRowStatus  RowStatus
        }

tnVwmMsOpsOsmPserPmudGroupName OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(1..32))
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Name of the OSM PSE-R PMU-D group."
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 1 }

tnVwmMsOpsOsmPserPmudGroupPmud1 OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "PMU-D #1 configured for the OSM PSE-R PMU-D group."
    DEFVAL         { 0 }
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 2 }

tnVwmMsOpsOsmPserPmudGroupPmud2 OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "PMU-D #2 configured for the OSM PSE-R PMU-D group."
    DEFVAL         { 0 }
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 3 }

tnVwmMsOpsOsmPserPmudGroupPmud3 OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "PMU-D #3 configured for the OSM PSE-R PMU-D group."
    DEFVAL         { 0 }
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 4 }

tnVwmMsOpsOsmPserPmudGroupPmud4 OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "PMU-D #4 configured for the OSM PSE-R PMU-D group."
    DEFVAL         { 0 }
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 5 }

tnVwmMsOpsOsmPserPmudGroupRowStatus OBJECT-TYPE
    SYNTAX         RowStatus
    MAX-ACCESS     read-create
    STATUS         current
    DESCRIPTION    "A RowStatus object for creation, deletion, activation
                    and deactivation of entries in this table."
    ::= { tnVwmMsOpsOsmPserPmudGroupEntry 6 }

tnVwmMsOpsOsmPserPmudGroupCreationNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-R PMU-D Group (TROPIC-VWMMS-MIB,
                 tnVwmMsOpsOsmPserPmudGroupTable) creation notification."
::= { tnVwmMsOpsNotifications 7 }

tnVwmMsOpsOsmPserPmudGroupDeletionNotif NOTIFICATION-TYPE
    OBJECTS {
        tnGenericTrapSeqNumber,
        tnGenericTrapObject,
        tnGenericTrapObjectInstance,
        tnGenericTrapTime,
        tnGenericTrapCategory,
        tnGenericTrapDateAndTime,
        tnGenericTrapConfigurationChangeCounter
    }
    STATUS      current
    DESCRIPTION "VWMMS OPS OSM PSE-R PMU-D Group (TROPIC-VWMMS-MIB,
                 tnVwmMsOpsOsmPserPmudGroupTable) deletion notification."
::= { tnVwmMsOpsNotifications 8 }


--------------------------------------------------------------------------------
-- VWMMS User Table
--------------------------------------------------------------------------------

tnVwmMsUserTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF TnVwmMsUserEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "VWMMS user table."
    ::= { tnVwmMsUserObjects 1 }

tnVwmMsUserEntry OBJECT-TYPE
    SYNTAX         TnVwmMsUserEntry
    MAX-ACCESS     not-accessible
    STATUS         current
    DESCRIPTION    "Entry in tnVwmMsUserTable"
    AUGMENTS { tnUserEntry }
    ::= { tnVwmMsUserTable 1 }

TnVwmMsUserEntry ::=
    SEQUENCE {
        tnVwmMsUserLastLoginShelf          TropicVwmMsShelfIndexTypeOrNone,
        tnVwmMsUserLastLoginTerminalIpType InetAddressType,
        tnVwmMsUserLastLoginTerminalIp     InetAddress
        }

tnVwmMsUserLastLoginShelf OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexTypeOrNone
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The shelf from which a user last logged into the system."
    ::= { tnVwmMsUserEntry 1 }

tnVwmMsUserLastLoginTerminalIpType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Type of the source internet address from which a user
                    last logged into the system."
    ::= { tnVwmMsUserEntry 2 }

tnVwmMsUserLastLoginTerminalIp OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "The source internet address from which a user
                    last logged into the system.

                    The type of this address is determined by the value
                    of object tnVwmMsUserLastLoginTerminalIpType."
    ::= { tnVwmMsUserEntry 3 }

--------------------------------------------------------------------------------
-- VWMMS Transfer Log Objects
--------------------------------------------------------------------------------

tnVwmMsTransferLogShelfNr OBJECT-TYPE
    SYNTAX         TropicVwmMsShelfIndexType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "This object defines the shelf number for which a log
                    transfer is requested.
                    Value 1 indicates the OSU shelf. Values higher than 1
                    indicate RMU shelves."
    DEFVAL         { 1 }
    ::= { tnVwmMsTransferLogObjects 1 }

tnVwmMsTransferLogRemoteHostAddrType OBJECT-TYPE
    SYNTAX         InetAddressType
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Type of Internet address of the server.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsTransferRemoteHostAddr."
    DEFVAL         { unknown }
    ::= { tnVwmMsTransferLogObjects 2 }

tnVwmMsTransferLogRemoteHostAddr OBJECT-TYPE
    SYNTAX         InetAddress
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Internet address of the server.
                    The type of this address is determined by the value
                    of object tnVwmMsTransferLogRemoteHostAddrType.

                    This object must always be included in an SNMP SET PDU together
                    with object tnVwmMsTransferLogRemoteHostAddrType.

                    The default value is a zero-length string."
    ::= { tnVwmMsTransferLogObjects 3 }

tnVwmMsTransferLogOperResult OBJECT-TYPE
    SYNTAX         SnmpAdminString (SIZE(0..255))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "This object defines the operational result string
                    of the log transfer."
    ::= { tnVwmMsTransferLogObjects 4 }

tnVwmMsTransferLogAbort OBJECT-TYPE
    SYNTAX         TnCommand
    MAX-ACCESS     read-write
    STATUS         current
    DESCRIPTION    "Aborts a log file transfer. This command is only
                    effective when a log transfer is in progress.
                    Upon read the value of this object is set to noCmd."
    ::= { tnVwmMsTransferLogObjects 5 }

--------------------------------------------------------------------------------
-- Conformance Group Definitions
--------------------------------------------------------------------------------

tnVwmMsShelfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsShelfNextFreeIndex,
        tnVwmMsShelvesNumber,
        tnVwmMsShelfName,
        tnVwmMsShelfDescr,
        tnVwmMsShelfProgrammedType,
        tnVwmMsShelfLampTest,
        tnVwmMsShelfSerialNumber,
        tnVwmMsShelfLocation,
        tnVwmMsShelfLocationCode,
        tnVwmMsShelfManagementMode,
        tnVwmMsShelfDbSyncDirection,
        tnVwmMsShelfConnectionState,
        tnVwmMsShelfSynchState,
        tnVwmMsShelfRestart,
        tnVwmMsShelfRestartCapability
    }
    STATUS         current
    DESCRIPTION    "VWMMS Shelf conformance group"
    ::= { tnVwmMsEquipmentGroups 1 }

tnVwmMsShelfOldObjectsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsShelfPresentType
    }
    STATUS         deprecated
    DESCRIPTION    "Objects deprecated from the tnVwmMsShelfGroup"
    ::= { tnVwmMsEquipmentGroups 13 }

tnVwmMsShelfTypeStringGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsShelfTypeString
    }
    STATUS         current
    DESCRIPTION    "VWMMS Shelf Type String conformance group"
    ::= { tnVwmMsEquipmentGroups 14 }

tnVwmMsShelfNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsShelfCreationNotif,
        tnVwmMsShelfDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS Shelf notifications conformance group"
    ::= { tnVwmMsEquipmentGroups 6 }

tnVwmMsShelfTopologyGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsShelfLatitude,
        tnVwmMsShelfLongitude,
        tnVwmMsShelfAltitude
    }
    STATUS         current
    DESCRIPTION    "VWMMS Shelf topology conformance group"
    ::= { tnVwmMsEquipmentGroups 5 }

tnVwmMsSlotGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSlotProgrammedType,
        tnVwmMsSlotPresentType,
        tnVwmMsSlotAssignedStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS Slot conformance group"
    ::= { tnVwmMsEquipmentGroups 2 }

tnVwmMsCardGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsCardInvStatus,
        tnVwmMsCardCompanyID,
        tnVwmMsCardMnemonic,
        tnVwmMsCardCLEI,
        tnVwmMsCardUnitPartNumber,
        tnVwmMsCardSwPartNumber,
        tnVwmMsCardFactoryID,
        tnVwmMsCardSerialNumber,
        tnVwmMsCardDate,
        tnVwmMsCardCustInvField
    }
    STATUS         current
    DESCRIPTION    "VWMMS Card conformance group"
    ::= { tnVwmMsEquipmentGroups 3 }

tnVwmMsCard2Group OBJECT-GROUP
    OBJECTS {
        tnVwmMsCardFwVersion
    }
    STATUS         current
    DESCRIPTION    "VWMMS Card conformance group 2"
    ::= { tnVwmMsEquipmentGroups 15 }

tnVwmMsOpsCardGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsCardCalibrationDate,
        tnVwmMsOpsCardFwVersion,
        tnVwmMsOpsCardHwVersion,
        tnVwmMsOpsCardVendorId
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS Card conformance group"
    ::= { tnVwmMsEquipmentGroups 4 }

tnVwmMsOsmDsvGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsOsmDsvThresholdA,
        tnVwmMsOpsOsmDsvThresholdB,
        tnVwmMsOpsOsmDsvThresholdSigIn,
        tnVwmMsOpsOsmDsvThresholdSigOut,
        tnVwmMsOpsOsmDsvThresholdHysteresis,
        tnVwmMsOpsOsmDsvAvailabilityStatus,
        tnVwmMsOpsOsmDsvOprA,
        tnVwmMsOpsOsmDsvOprB,
        tnVwmMsOpsOsmDsvOprSIG,
        tnVwmMsOpsOsmDsvRxPowerA,
        tnVwmMsOpsOsmDsvRxPowerB,
        tnVwmMsOpsOsmDsvRxPowerSIG,
        tnVwmMsOpsOsmDsvTxPowerSIG,
        tnVwmMsOpsOsmDsvEVoaSigInAOut,
        tnVwmMsOpsOsmDsvEVoaSigInBOut,
        tnVwmMsOpsOsmDsvEVoaSigOutAIn,
        tnVwmMsOpsOsmDsvEVoaSigOutBIn,
        tnVwmMsOpsOsmDsvEVoaSigIn,
        tnVwmMsOpsOsmDsvEVoaSigOut,
        tnVwmMsOpsOsmDsvApsActive,
        tnVwmMsOpsOsmDsvActualSelectorPosition,
        tnVwmMsOpsOsmDsvConfigSelectorPosition
    }
    STATUS         current
    DESCRIPTION    "VWMMS OSM-DSV group"
    ::= { tnVwmMsEquipmentGroups 7 }

tnVwmMsPmudGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsPmudEVoaBandInLine1Out,
        tnVwmMsPmudEVoaBandInLine2Out,
        tnVwmMsPmudEVoaBandOutLine1In,
        tnVwmMsPmudEVoaBandOutLine2In,
        tnVwmMsPmudEVoaBandIn,
        tnVwmMsPmudEVoaBandOut,
        tnVwmMsPmudApsActive,
        tnVwmMsPmudActualSelectorPosition,
        tnVwmMsPmudConfigSelectorPosition,
        tnVwmMsPmudEVoaControlBandInLine1Out,
        tnVwmMsPmudEVoaControlBandInLine2Out,
        tnVwmMsPmudActualEVoaBandInLine1Out,
        tnVwmMsPmudActualEVoaBandInLine2Out,
        tnVwmMsPmudLossRefBand1InOmdOut,
        tnVwmMsPmudLossRefBand2InOmdOut,
        tnVwmMsPmudRxPowerOmd,
        tnVwmMsPmudTxPowerOmd,
        tnVwmMsPmudRxPowerBand,
        tnVwmMsPmudTxPowerBand,
        tnVwmMsPmudRxPowerBand1,
        tnVwmMsPmudTxPowerBand1,
        tnVwmMsPmudRxPowerBand2,
        tnVwmMsPmudTxPowerBand2
    }
    STATUS         current
    DESCRIPTION    "VWMMS PMU-D group"
    ::= { tnVwmMsEquipmentGroups 8 }

tnVwmMsInsertionLossGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsOsmDsvInsertionLossSigInAOut,
        tnVwmMsOpsOsmDsvInsertionLossSigInBOut,
        tnVwmMsOpsOsmDsvInsertionLossAInSigOut,
        tnVwmMsOpsOsmDsvInsertionLossBInSigOut,
        tnVwmMsPmudInsertionLossMux,
        tnVwmMsPmudInsertionLossDemux,
        tnVwmMsSfd96InsertionLossMux,
        tnVwmMsSfd96InsertionLossDemux,
        tnVwmMsBmupInsertionLossBandAInLineOut,
        tnVwmMsBmupInsertionLossBandBInLineOut,
        tnVwmMsBmupInsertionLossBandCInLineOut,
        tnVwmMsBmupInsertionLossBandDInLineOut,
        tnVwmMsBmupInsertionLossLineInBandAOut,
        tnVwmMsBmupInsertionLossLineInBandBOut,
        tnVwmMsBmupInsertionLossLineInBandCOut,
        tnVwmMsBmupInsertionLossLineInBandDOut,
        tnVwmMsBmupInsertionLossSig1InLine1Out,
        tnVwmMsBmupInsertionLossSig2InLine2Out
    }
    STATUS         current
    DESCRIPTION    "VWMMS Insertion Loss group"
    ::= { tnVwmMsEquipmentGroups 9 }

tnVwmMsSfd10InventoryGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfd10InventoryMaxMuxInsertionLoss,
        tnVwmMsSfd10InventoryMaxDemuxInsertionLoss,
        tnVwmMsSfd10InventoryExpInOmdOutInsertionLoss,
        tnVwmMsSfd10InventoryOmdInExpOutInsertionLoss,
        tnVwmMsSfd10InventoryAvgMuxFiberLength,
        tnVwmMsSfd10InventoryAvgDemuxFiberLength
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFD-10 Inventory group"
    ::= { tnVwmMsEquipmentGroups 11 }

tnVwmMsDcmLmCardGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsDcmLmFiberType,
        tnVwmMsDcmLmDcmSize,
        tnVwmMsDcmLmAvgInsertionLossDcf1,
        tnVwmMsDcmLmInsertionLossSlopeDcf1,
        tnVwmMsDcmLmTotalDispFitDcf1,
        tnVwmMsDcmLmDispFiberLengthDcf1,
        tnVwmMsDcmLmPmdDcf1,
        tnVwmMsDcmLmAvgInsertionLossDcf2,
        tnVwmMsDcmLmInsertionLossSlopeDcf2,
        tnVwmMsDcmLmTotalDispFitDcf2,
        tnVwmMsDcmLmDispFiberLengthDcf2,
        tnVwmMsDcmLmPmdDcf2,
        tnVwmMsDcmLmLatencyMismatch
    }
    STATUS         current
    DESCRIPTION    "VWMMS DCM LM Card group"
    ::= { tnVwmMsEquipmentGroups 12 }

tnVwmMsAmplifierCardGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsAmplifierCardPowerSupplyVoltage
    }
    STATUS         current
    DESCRIPTION    "VWMMS Amplifier card conformance group"
    ::= { tnVwmMsEquipmentGroups 10 }

tnVwmMsIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfDescr,
        tnVwmMsIfHwMac,
        tnVwmMsIfTopologyString1,
        tnVwmMsIfTopologyString2,
        tnVwmMsIfPortLabel,
        tnVwmMsIfRole,
        tnVwmMsRflmIfLabel
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface conformance group"
    ::= { tnVwmMsInterfaceGroups 1 }

tnVwmMsIfCapabilityGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfCapability
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface capability conformance group"
    ::= { tnVwmMsInterfaceGroups 23 }

tnVwmMsSfpGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpType,
        tnVwmMsSfpInfoInvStatus,
        tnVwmMsSfpInfoPhysicalIdentifier,
        tnVwmMsSfpInfoConnectorType,
        tnVwmMsSfpInfoTransceiverCode,
        tnVwmMsSfpInfoLinkType,
        tnVwmMsSfpInfoLinkMaxLength,
        tnVwmMsSfpInfoLinkLengthOverrun,
        tnVwmMsSfpInfoLinkLengthUnits,
        tnVwmMsSfpInfoLinkLength,
        tnVwmMsSfpInfoVendorName,
        tnVwmMsSfpInfoVendorOUI,
        tnVwmMsSfpInfoPartNumber,
        tnVwmMsSfpInfoRevisionNumber,
        tnVwmMsSfpInfoWavelength,
        tnVwmMsSfpInfoVendorSerialNumber,
        tnVwmMsSfpInfoVendorDate,
        tnVwmMsSfpInfoVendorSpecific,
        tnVwmMsSfpInfoCLEI,
        tnVwmMsSfpInfoAluPartNumber,
        tnVwmMsSfpInfoAluSerialNumber,
        tnVwmMsSfpInfoIcs
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP conformance group"
    ::= { tnVwmMsInterfaceGroups 2 }

tnVwmMsSfp2Group OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpTxFrequency
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP conformance group 2"
    ::= { tnVwmMsInterfaceGroups 11 }

tnVwmMsSfp3Group OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpInfoMnemonic,
        tnVwmMsSfpInfoAcronymCode
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP conformance group 3"
    ::= { tnVwmMsInterfaceGroups 14 }

tnVwmMsSfpTunableGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpInfoTunable,
        tnVwmMsSfpInfoFrequency,
        tnVwmMsSfpInfoStartFrequency,
        tnVwmMsSfpInfoStopFrequency,
        tnVwmMsSfpInfoFrequencyGrid
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP tunable data conformance group"
    ::= { tnVwmMsInterfaceGroups 18 }

tnVwmMsSfpProfileGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpProfileName,
        tnVwmMsShelfSfpProfileIndex
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profile group"
    ::= { tnVwmMsInterfaceGroups 29 }

tnVwmMsSfpProfilesGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpProfileMnemonic,
        tnVwmMsSfpProfileRate
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profiles group"
    ::= { tnVwmMsInterfaceGroups 25 }

tnVwmMsSfp4Group OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpInfoSIC
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP conformance group 4"
    ::= { tnVwmMsInterfaceGroups 26 }

tnVwmMsIfOtdrGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfOtdrMode,
        tnVwmMsIfOtdrExecuteMeasurement,
        tnVwmMsIfOtdrBaselineMeasurementDone,
        tnVwmMsIfOtdrBaselineMeasurementTime,
        tnVwmMsIfOtdrBaselineMeasurementReflections,
        tnVwmMsIfOtdrCurrentMeasurementDone,
        tnVwmMsIfOtdrCurrentMeasurementTime,
        tnVwmMsIfOtdrCurrentMeasurementReflections,
        tnVwmMsIfOtdrDistance,
        tnVwmMsIfOtdrOpticalReturnLoss,
        tnVwmMsSfpInfoOtdrCapable
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface OTDR conformance group"
    ::= { tnVwmMsInterfaceGroups 28 }

tnVwmMsSfpProfilesPnGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSfpProfilePnCreateDeleteProfileIndex,
        tnVwmMsSfpProfilePnCreateDeletePn,
        tnVwmMsSfpProfilePnCreateRate,
        tnVwmMsSfpProfilePnRate,
        tnVwmMsSfpProfilePnRateCapability
    }
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profiles Part Number group"
    ::= { tnVwmMsInterfaceGroups 27 }

tnVwmMsOpticalPortGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpticalPortPhysicalIfIndex,
        tnVwmMsOpticalPortConfigFec,
        tnVwmMsOpticalPortErrorIndicationBypass,
        tnVwmMsOpticalPortCADefects,
        tnVwmMsOpticalPortFlsTimer,
        tnVwmMsOpticalPortLfiInsertionTimer,
        tnVwmMsOpticalPortIdleInsertionTimer,
        tnVwmMsOpticalPortLosExtensionTimer,
        tnVwmMsOpticalPortApplicationMode,
        tnVwmMsOpticalPortActualRate,
        tnVwmMsOpticalPortActualFec
    }
    STATUS         current
    DESCRIPTION    "VWMMS Optical Port conformance group"
    ::= { tnVwmMsInterfaceGroups 24 }

tnVwmMsAmplifierPortGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsAmplifierPortRxPowerLosThreshold,
        tnVwmMsAmplifierPortTxPowerLosThreshold,
        tnVwmMsAmplifierPortModuleStatus,
        tnVwmMsAmplifierPortNumberOfPumps,
        tnVwmMsAmplifierPortPowerInMax,
        tnVwmMsAmplifierPortPowerInMin,
        tnVwmMsAmplifierPortPowerOutMax,
        tnVwmMsAmplifierPortPowerOutMin,
        tnVwmMsAmplifierPortPumpTemperature,
        tnVwmMsAmplifierPortPumpWavelength,
        tnVwmMsAmplifierPortPumpOperatingTime,
        tnVwmMsAmplifierPortPumpLaserCurrent,
        tnVwmMsAmplifierPortPumpLaserEOLCurrent,
        tnVwmMsAmplifierPortPumpTecCurrent,
        tnVwmMsAmplifierPortPumpTecVoltage
    }
    STATUS         current
    DESCRIPTION    "VWMMS Amplifier port conformance group"
    ::= { tnVwmMsInterfaceGroups 22 }

tnVwmMsCdrChannelGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsCdrChannelIf1,
        tnVwmMsCdrChannelIf2,
        tnVwmMsCdrChannelRate
    }
    STATUS         current
    DESCRIPTION    "VWMMS CDR channel conformance group"
    ::= { tnVwmMsInterfaceGroups 3 }

tnVwmMsCdrChannel2Group OBJECT-GROUP
    OBJECTS {
        tnVwmMsCdrChannelRateCapability,
        tnVwmMsCdrChannelActualRate,
        tnVwmMsCdrChannelLabel,
        tnVwmMsCdrChannelUsedForMgmt
    }
    STATUS         current
    DESCRIPTION    "VWMMS CDR channel conformance group 2"
    ::= { tnVwmMsInterfaceGroups 21 }

tnVwmMsPowerIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsPowerIfPortLabel
    }
    STATUS         obsolete
    DESCRIPTION    "VWMMS Power Interface conformance group.
                    Obsoleted by tnVwmMsPwrIfGroup."
    ::= { tnVwmMsInterfaceGroups 4 }

tnVwmMsPwrIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsPwrIfPortLabel
    }
    STATUS         current
    DESCRIPTION    "VWMMS Power Interface conformance group"
    ::= { tnVwmMsInterfaceGroups 10 }

tnVwmMsExtAlmIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsExtAlmIfPortLabel,
        tnVwmMsExtAlmIfDescr,
        tnVwmMsExtAlmIfAdminStatus,
        tnVwmMsExtAlmIfActivePos,
        tnVwmMsExtAlmIfActive
    }
    STATUS         current
    DESCRIPTION    "VWMMS External alarm interface conformance group"
    ::= { tnVwmMsInterfaceGroups 5 }

tnVwmMsExtAnalogIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsExtAnalogIfPortLabel,
        tnVwmMsExtAnalogIfDescr,
        tnVwmMsExtAnalogIfInfoStatus,
        tnVwmMsExtAnalogIfInfoDiffInputVoltage
    }
    STATUS         current
    DESCRIPTION    "VWMMS External analog interface conformance group"
    ::= { tnVwmMsInterfaceGroups 6 }

tnVwmMsExtCtrlIfGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsExtCtrlIfPortLabel,
        tnVwmMsExtCtrlIfDescr,
        tnVwmMsExtCtrlIfRelayState
    }
    STATUS         current
    DESCRIPTION    "VWMMS External control interface conformance group"
    ::= { tnVwmMsInterfaceGroups 7 }

tnVwmMsPrbsTestGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsPrbsTestIfIndex,
        tnVwmMsPrbsTestStartAutoStop,
        tnVwmMsPrbsTestStartAutoStopDuration,
        tnVwmMsPrbsTestStop,
        tnVwmMsPrbsTestStartTime,
        tnVwmMsPrbsTestDuration,
        tnVwmMsPrbsTestStatus,
        tnVwmMsPrbsTestBitErrors,
        tnVwmMsPrbsTestBitErrorRate,
        tnVwmMsIfLoopbackStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS PRBS Test conformance group"
    ::= { tnVwmMsInterfaceGroups 8 }

tnVwmMsPrbsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsPrbsTestIfIndex,
        tnVwmMsPrbsTestStartAutoStop,
        tnVwmMsPrbsTestStartAutoStopDuration,
        tnVwmMsPrbsTestStop,
        tnVwmMsPrbsTestStartTime,
        tnVwmMsPrbsTestDuration,
        tnVwmMsPrbsTestStatus,
        tnVwmMsPrbsTestBitErrors,
        tnVwmMsPrbsTestBitErrorRate
    }
    STATUS         current
    DESCRIPTION    "VWMMS PRBS Test conformance group"
    ::= { tnVwmMsInterfaceGroups 15 }

tnVwmMsIfLoopbackGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfLoopbackStatus,
        tnVwmMsIfTerminalLoopback
    }
    STATUS         current
    DESCRIPTION    "VWMMS Loopback conformance group"
    ::= { tnVwmMsInterfaceGroups 16 }

tnVwmMsDdmDataGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsDdmDataValue
    }
    STATUS         current
    DESCRIPTION    "VWMMS DDM Data conformance group"
    ::= { tnVwmMsInterfaceGroups 9 }

tnVwmMsIfMonitorGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfMonitorMode,
        tnVwmMsIfMonitorTargetIf
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface Monitor conformance group"
    ::= { tnVwmMsInterfaceGroups 12 }

tnVwmMsIfLosPropagationGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfLosProp,
        tnVwmMsIfLosPropExtensionTimer,
        tnVwmMsIfLosPropDefectPersistenceTimer
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface LOS propagation conformance group"
    ::= { tnVwmMsInterfaceGroups 13 }

tnVwmMsIfOpticalPowerThresholdsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfRxOptPwrThreshold,
        tnVwmMsIfTxOptPwrThreshold
    }
    STATUS         current
    DESCRIPTION    "VWMMS Interface Optical Power Thresholds conformance group"
    ::= { tnVwmMsInterfaceGroups 17 }

tnVwmMsUserDataGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsUserDataPvid,
        tnVwmMsUserDataVlanId,
        tnVwmMsUserDataPopOuterVlan,
        tnVwmMsUserDataPir,
        tnVwmMsUserDataTpid
    }
    STATUS         current
    DESCRIPTION    "VWMMS User Data conformance group"
    ::= { tnVwmMsInterfaceGroups 19 }

tnVwmMsUserDataNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsUserDataTpidCreationNotif,
        tnVwmMsUserDataTpidDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS User Data notification conformance group"
    ::= { tnVwmMsInterfaceGroups 20 }

tnVwmMsSnmpGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSnmpReqRspPort
    }
    STATUS         current
    DESCRIPTION    "VWMMS SNMP conformance group"
    ::= { tnVwmMsSnmpGroups 1 }

tnVwmMsSnmpTrapDestGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSnmpTrapDestAddrType,
        tnVwmMsSnmpTrapDestAddr,
        tnVwmMsSnmpTrapDestPort,
        tnVwmMsSnmpTrapDestCommunity,
        tnVwmMsSnmpTrapDestRowStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS SNMP Trap Destination Server conformance group"
    ::= { tnVwmMsSnmpGroups 2 }

tnVwmMsSnmpTrapDestNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsSnmpTrapDestCreationNotif,
        tnVwmMsSnmpTrapDestDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS SNMP Trap Destination Server notification conformance group"
    ::= { tnVwmMsSnmpGroups 3 }

tnVwmMsFaultGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsFaultAlarmRaiseTime,
        tnVwmMsFaultAlarmClearTime,
        tnVwmMsAsapName,
        tnVwmMsAsapFaultProfileSeverity,
        tnVwmMsAsapFaultProfileReported,
        tnVwmMsAsapFaultProfileServiceAffecting,
        tnVwmMsAsapFaultProfileAlarmText
    }
    STATUS         current
    DESCRIPTION    "VWMMS Fault conformance group"
    ::= { tnVwmMsFaultGroups 1 }

tnVwmMsDatabaseGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsDatabaseBackupAndRestoreRemoteHostAddrType,
        tnVwmMsDatabaseBackupAndRestoreRemoteHostAddr
    }
    STATUS         current
    DESCRIPTION    "VWMMS Database conformance group"
    ::= { tnVwmMsDatabaseGroups 1 }

tnVwmMsSoftwareGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSoftwareRemoteHostAddrType,
        tnVwmMsSoftwareRemoteHostAddr,
        tnVwmMsShelfIsdStatus,
        tnVwmMsShelfIsdBuildTime,
        tnVwmMsShelfIsdItemCode,
        tnVwmMsShelfIsdSwVersion,
        tnVwmMsShelfIsdMaintenance,
        tnVwmMsShelfIsdCompatible
    }
    STATUS         current
    DESCRIPTION    "VWMMS Software conformance group"
    ::= { tnVwmMsSoftwareGroups 1 }

tnVwmMsMtSoftwareGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsMtSoftwareLoad,
        tnVwmMsMtSoftwareShelfLoadIndex,
        tnVwmMsMtSoftwareShelfLoadPath,
        tnVwmMsMtSoftwareShelfActivate,
        tnVwmMsMtSoftwareShelfAbort,
        tnVwmMsMtSoftwareShelfLastOperation,
        tnVwmMsMtSoftwareShelfLastOperationStatus,
        tnVwmMsMtSoftwareRemove,
        tnVwmMsMtSoftwarePath,
        tnVwmMsMtSoftwareBuildTime,
        tnVwmMsMtSoftwareItemCode,
        tnVwmMsMtSoftwareSwVersion,
        tnVwmMsMtSoftwareMaintenance,
        tnVwmMsMtSoftwareCompatible
    }
    STATUS         current
    DESCRIPTION    "VWMMS Maintenance Software conformance group"
    ::= { tnVwmMsSoftwareGroups 2 }

tnVwmMsTimeGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsShelfTime,
        tnVwmMsNtpState,
        tnVwmMsNtpServerAddrType,
        tnVwmMsNtpServerAddr
    }
    STATUS         current
    DESCRIPTION    "VWMMS Time conformance group"
    ::= { tnVwmMsTimeGroups 1 }

tnVwmMsSystemIpGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSystemIpV4AddrType,
        tnVwmMsSystemIpV4Addr,
        tnVwmMsSystemIpV4ActualAddr,
        tnVwmMsSystemIpV4PrefixLen,
        tnVwmMsSystemIpV4ActualPrefixLen,
        tnVwmMsSystemIpV4Gateway,
        tnVwmMsSystemIpV4ActualGateway,
        tnVwmMsSystemIpV6AddrType,
        tnVwmMsSystemIpV6Addr,
        tnVwmMsSystemIpV6ActualAddr,
        tnVwmMsSystemIpV6PrefixLen,
        tnVwmMsSystemIpV6ActualPrefixLen,
        tnVwmMsSystemIpV6Gateway,
        tnVwmMsSystemIpV6ActualGateway,
        tnVwmMsSystemIpDhcpEnabled
    }
    STATUS         current
    DESCRIPTION    "VWMMS System IP conformance group"
    ::= { tnVwmMsSystemIpGroups 1 }

tnVwmMsCraftIpGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsCraftIpV4AddrType,
        tnVwmMsCraftIpV4Addr,
        tnVwmMsCraftIpV4PrefixLen,
        tnVwmMsCraftIpV4Gateway
    }
    STATUS         current
    DESCRIPTION    "VWMMS Craft port IP conformance group"
    ::= { tnVwmMsSystemIpGroups 2 }

tnVwmMsSysDiscoveryGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsSysDiscoveryServerAddrType,
        tnVwmMsSysDiscoveryServerAddr
    }
    STATUS         current
    DESCRIPTION    "VWMMS System Discovery conformance group"
    ::= { tnVwmMsSysDiscoveryGroups 1 }

tnVwmMsPmonNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsPmBinsRolledOverNotif
    }
    STATUS         obsolete
    DESCRIPTION    "VWMMS Performance Monitoring notifications
                    conformance group"
    ::= { tnVwmMsPmonGroups 1 }

tnVwmMsPmonIfEthStatsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfEthHistoryStatsEndTime,
        tnVwmMsIfEthHistoryStatsElapsedTime,
        tnVwmMsIfEthHistoryStatsSuspect,
        tnVwmMsIfEthHistoryStatsIfInOctets,
        tnVwmMsIfEthHistoryStatsIfInUcastPkts,
        tnVwmMsIfEthHistoryStatsIfInMcastPkts,
        tnVwmMsIfEthHistoryStatsIfInBcastPkts,
        tnVwmMsIfEthHistoryStatsIfInErrors,
        tnVwmMsIfEthHistoryStatsIfInDiscards,
        tnVwmMsIfEthHistoryStatsIfInUnknownProtos,
        tnVwmMsIfEthHistoryStatsIfOutOctets,
        tnVwmMsIfEthHistoryStatsIfOutUcastPkts,
        tnVwmMsIfEthHistoryStatsIfOutMcastPkts,
        tnVwmMsIfEthHistoryStatsIfOutBcastPkts,
        tnVwmMsIfEthHistoryStatsIfOutErrors,
        tnVwmMsIfEthHistoryStatsIfOutDiscards,
        tnVwmMsIfEthHistoryStatsIfOutUnclassifiedPkts
    }
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring interface
                    ethernet statistics group"
    ::= { tnVwmMsPmonGroups 2 }

tnVwmMsPmonIfOptStatsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfOptHistoryStatsEndTime,
        tnVwmMsIfOptHistoryStatsElapsedTime,
        tnVwmMsIfOptHistoryStatsSuspect,
        tnVwmMsIfOptHistoryStatsIfOptHigh,
        tnVwmMsIfOptHistoryStatsIfOptAverage,
        tnVwmMsIfOptHistoryStatsIfOptLow,
        tnVwmMsIfOptHistoryStatsIfOprHigh,
        tnVwmMsIfOptHistoryStatsIfOprAverage,
        tnVwmMsIfOptHistoryStatsIfOprLow
    }
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring interface
                    optical statistics group"
    ::= { tnVwmMsPmonGroups 3 }

tnVwmMsPmonIfPcsStatsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfPcsHistoryStatsEndTime,
        tnVwmMsIfPcsHistoryStatsElapsedTime,
        tnVwmMsIfPcsHistoryStatsSuspect,
        tnVwmMsIfPcsHistoryStatsIfCv,
        tnVwmMsIfPcsHistoryStatsIfEs,
        tnVwmMsIfPcsHistoryStatsIfSes,
        tnVwmMsIfPcsHistoryStatsIfSefs
    }
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring interface
                    PCS statistics group"
    ::= { tnVwmMsPmonGroups 4 }

tnVwmMsPmonIfEthFecStatsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfEthFecHistoryStatsEndTime,
        tnVwmMsIfEthFecHistoryStatsElapsedTime,
        tnVwmMsIfEthFecHistoryStatsSuspect,
        tnVwmMsIfEthFecHistoryStatsIfCorrCnt,
        tnVwmMsIfEthFecHistoryStatsIfUncorrCnt
    }
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring interface
                    Ethernet FEC statistics group"
    ::= { tnVwmMsPmonGroups 7 }

tnVwmMsPmonTlu9mGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsTlu9mSlotPmMode,
        tnVwmMsTlu9mIfPmMode,
        tnVwmMsTlu9mIfActualPmMode
    }
    STATUS         current
    DESCRIPTION    "VWMMS TLU-9M Performance Monitoring group"
    ::= { tnVwmMsPmonGroups 5 }

tnVwmMsPmonIfThresholdsGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsIfPmCvSesThreshold10B,
        tnVwmMsIfPmCvSesThreshold66B,
        tnVwmMsIfPmSesMonitoringMode
    }
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring Interface thresholds group"
    ::= { tnVwmMsPmonGroups 6 }

tnVwmMsSecurityNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsSecurityFileNameNotif
    }
    STATUS         obsolete
    DESCRIPTION    "VWMMS Security notifications conformance group"
    ::= { tnVwmMsSecurityGroups 1 }

tnVwmMsOpsOsmGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsOsmDescr,
        tnVwmMsOpsOsmThresholdA,
        tnVwmMsOpsOsmThresholdB,
        tnVwmMsOpsOsmThresholdSIG,
        tnVwmMsOpsOsmThresholdHysteresis,
        tnVwmMsOpsOsmBounceTimer,
        tnVwmMsOpsOsmEvaluationTimer,
        tnVwmMsOpsOsmHoldOffTimer,
        tnVwmMsOpsOsmSwitchCountResetTimer,
        tnVwmMsOpsOsmMaxSwitchCount,
        tnVwmMsOpsOsmSwitchCommand,
        tnVwmMsOpsOsmAvailabilityStatus,
        tnVwmMsOpsOsmPowerA,
        tnVwmMsOpsOsmPowerB,
        tnVwmMsOpsOsmPowerSIG,
        tnVwmMsOpsOsmSwitchCount,
        tnVwmMsOpsOsmRxPos,
        tnVwmMsOpsOsmTxPos,
        tnVwmMsOpsOsmState,
        tnVwmMsOpsOsmExternalCommand,
        tnVwmMsOpsOsmResetSwitchCount
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS OSM group"
    ::= { tnVwmMsOpsGroups 1 }

tnVwmMsOpsPaeGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsPaeDescr,
        tnVwmMsOpsPaeRevertive,
        tnVwmMsOpsPaeStatus,
        tnVwmMsOpsPaeWtrTimer,
        tnVwmMsOpsPaeWtrTimerRemain,
        tnVwmMsOpsPaeClearWtrTimer,
        tnVwmMsOpsPaeRowStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS PAE group"
    ::= { tnVwmMsOpsGroups 2 }

tnVwmMsOpsPaeNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsOpsPaeCreationNotif,
        tnVwmMsOpsPaeDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS PAE notification conformance group"
    ::= { tnVwmMsOpsGroups 3 }

tnVwmMsOpsOsmPselGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsOsmPselDescr,
        tnVwmMsOpsOsmPselWMonIfIndex,
        tnVwmMsOpsOsmPselPMonIfIndex,
        tnVwmMsOpsOsmPselMonLoopDefectForwarding,
        tnVwmMsOpsOsmPselRevertive,
        tnVwmMsOpsOsmPselWtrTimer,
        tnVwmMsOpsOsmPselWtrTimerRemain,
        tnVwmMsOpsOsmPselBounceTimer,
        tnVwmMsOpsOsmPselHoldOffTimer,
        tnVwmMsOpsOsmPselSwitchCountResetTimer,
        tnVwmMsOpsOsmPselMaxSwitchCount,
        tnVwmMsOpsOsmPselSwitchCommand,
        tnVwmMsOpsOsmPselSfWMonIf,
        tnVwmMsOpsOsmPselSfPMonIf,
        tnVwmMsOpsOsmPselAvailabilityStatus,
        tnVwmMsOpsOsmPselSwitchCount,
        tnVwmMsOpsOsmPselRxPos,
        tnVwmMsOpsOsmPselTxPos,
        tnVwmMsOpsOsmPselState,
        tnVwmMsOpsOsmPselExternalCommand,
        tnVwmMsOpsOsmPselResetSwitchCount,
        tnVwmMsOpsOsmPselClearWtrTimer,
        tnVwmMsOpsOsmPselRowStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS OSM PSE-L group"
    ::= { tnVwmMsOpsGroups 4 }

tnVwmMsOpsOsmPselNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsOpsOsmPselCreationNotif,
        tnVwmMsOpsOsmPselDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS OSM PSE-L notification conformance group"
    ::= { tnVwmMsOpsGroups 5 }

tnVwmMsOpsOsmPserGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsOpsOsmPserDescr,
        tnVwmMsOpsOsmPserPmudShelfIndex,
        tnVwmMsOpsOsmPserPmudLine1IsWorker,
        tnVwmMsOpsOsmPserMonLoopDefectForwarding,
        tnVwmMsOpsOsmPserRevertive,
        tnVwmMsOpsOsmPserWtrTimer,
        tnVwmMsOpsOsmPserWtrTimerRemain,
        tnVwmMsOpsOsmPserBounceTimer,
        tnVwmMsOpsOsmPserHoldOffTimer,
        tnVwmMsOpsOsmPserSwitchCountResetTimer,
        tnVwmMsOpsOsmPserMaxSwitchCount,
        tnVwmMsOpsOsmPserSwitchCommand,
        tnVwmMsOpsOsmPserMonWFail,
        tnVwmMsOpsOsmPserMonPFail,
        tnVwmMsOpsOsmPserTrmtBand1,
        tnVwmMsOpsOsmPserTrmtBand2,
        tnVwmMsOpsOsmPserPmudSelectorPosition,
        tnVwmMsOpsOsmPserAvailabilityStatus,
        tnVwmMsOpsOsmPserSwitchCount,
        tnVwmMsOpsOsmPserRxPos,
        tnVwmMsOpsOsmPserTxPos,
        tnVwmMsOpsOsmPserState,
        tnVwmMsOpsOsmPserExternalCommand,
        tnVwmMsOpsOsmPserResetSwitchCount,
        tnVwmMsOpsOsmPserClearWtrTimer,
        tnVwmMsOpsOsmPserRowStatus,
        tnVwmMsOpsOsmPserPmudGroup,
        tnVwmMsOpsOsmPserPmudGroupPmud1,
        tnVwmMsOpsOsmPserPmudGroupPmud2,
        tnVwmMsOpsOsmPserPmudGroupPmud3,
        tnVwmMsOpsOsmPserPmudGroupPmud4,
        tnVwmMsOpsOsmPserPmudGroupRowStatus
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS OSM PSE-R group"
    ::= { tnVwmMsOpsGroups 6 }

tnVwmMsOpsOsmPserNotificationsGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tnVwmMsOpsOsmPserCreationNotif,
        tnVwmMsOpsOsmPserDeletionNotif,
        tnVwmMsOpsOsmPserPmudGroupCreationNotif,
        tnVwmMsOpsOsmPserPmudGroupDeletionNotif
    }
    STATUS         current
    DESCRIPTION    "VWMMS OPS OSM PSE-R notification conformance group"
    ::= { tnVwmMsOpsGroups 7 }


tnVwmMsUserGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsUserLastLoginShelf,
        tnVwmMsUserLastLoginTerminalIpType,
        tnVwmMsUserLastLoginTerminalIp
    }
    STATUS         current
    DESCRIPTION    "VWMMS Transfer user conformance group"
    ::= { tnVwmMsUserGroups 1 }

tnVwmMsTransferLogGroup OBJECT-GROUP
    OBJECTS {
        tnVwmMsTransferLogShelfNr,
        tnVwmMsTransferLogRemoteHostAddrType,
        tnVwmMsTransferLogRemoteHostAddr,
        tnVwmMsTransferLogOperResult,
        tnVwmMsTransferLogAbort
    }
    STATUS         current
    DESCRIPTION    "VWMMS Transfer Log conformance group"
    ::= { tnVwmMsTransferLogGroups 1 }

--------------------------------------------------------------------------------
-- Compliance Statements
--------------------------------------------------------------------------------
tnVwmMsShelfCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup
    }
    ::= { tnVwmMsEquipmentCompliances 1 }

tnVwmMsShelfR830Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance for R830"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsShelfTopologyGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup,
        tnVwmMsOpsCardGroup
    }
    ::= { tnVwmMsEquipmentCompliances 2 }

tnVwmMsShelfR840Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance for R840"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsShelfTopologyGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup,
        tnVwmMsOpsCardGroup,
        tnVwmMsShelfNotificationsGroup
    }
    ::= { tnVwmMsEquipmentCompliances 3 }

tnVwmMsShelfR850Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance for R850"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsShelfTopologyGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup,
        tnVwmMsOpsCardGroup,
        tnVwmMsShelfNotificationsGroup,
        tnVwmMsOsmDsvGroup,
        tnVwmMsPmudGroup,
        tnVwmMsInsertionLossGroup
    }
    ::= { tnVwmMsEquipmentCompliances 4 }

tnVwmMsShelfR900Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance for R900"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsShelfTopologyGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup,
        tnVwmMsOpsCardGroup,
        tnVwmMsShelfNotificationsGroup,
        tnVwmMsOsmDsvGroup,
        tnVwmMsPmudGroup,
        tnVwmMsInsertionLossGroup,
        tnVwmMsSfd10InventoryGroup,
        tnVwmMsAmplifierCardGroup
    }
    ::= { tnVwmMsEquipmentCompliances 5 }

tnVwmMsShelfR901Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf compliance for R901"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfGroup,
        tnVwmMsShelfTopologyGroup,
        tnVwmMsSlotGroup,
        tnVwmMsCardGroup,
        tnVwmMsOpsCardGroup,
        tnVwmMsShelfNotificationsGroup,
        tnVwmMsOsmDsvGroup,
        tnVwmMsPmudGroup,
        tnVwmMsInsertionLossGroup,
        tnVwmMsSfd10InventoryGroup,
        tnVwmMsAmplifierCardGroup,
        tnVwmMsDcmLmCardGroup,
        tnVwmMsShelfTypeStringGroup
    }
    ::= { tnVwmMsEquipmentCompliances 6 }

tnVwmMsShelfOldObjectsCompliance MODULE-COMPLIANCE
    STATUS         deprecated
    DESCRIPTION    "VWMMS Shelf compliance for deprecated objects."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsShelfOldObjectsGroup
    }
    ::= { tnVwmMsEquipmentCompliances 7 }

tnVwmMsShelfCard2Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Shelf Card2 compliance."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsCard2Group
    }
    ::= { tnVwmMsEquipmentCompliances 8 }

tnVwmMsIfCompliance MODULE-COMPLIANCE
    STATUS         obsolete
    DESCRIPTION    "VWMMS Interface compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsCdrChannelGroup,
        tnVwmMsPowerIfGroup,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup
    }
    ::= { tnVwmMsInterfaceCompliances 1 }

tnVwmMsIfR830Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Interface compliance for R830"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsSfp2Group,
        tnVwmMsCdrChannelGroup,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup,
        tnVwmMsPrbsTestGroup,
        tnVwmMsDdmDataGroup,
        tnVwmMsPwrIfGroup,
        tnVwmMsIfMonitorGroup,
        tnVwmMsIfLosPropagationGroup
    }
    ::= { tnVwmMsInterfaceCompliances 2 }

tnVwmMsIfR840Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Interface compliance for R840"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsSfp2Group,
        tnVwmMsSfp3Group,
        tnVwmMsCdrChannelGroup,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup,
        tnVwmMsPrbsTestGroup,
        tnVwmMsDdmDataGroup,
        tnVwmMsPwrIfGroup,
        tnVwmMsIfMonitorGroup,
        tnVwmMsIfLosPropagationGroup
    }
    ::= { tnVwmMsInterfaceCompliances 3 }

tnVwmMsIfR850Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Interface compliance for R850"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsSfp2Group,
        tnVwmMsSfp3Group,
        tnVwmMsSfpTunableGroup,
        tnVwmMsCdrChannelGroup,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup,
        tnVwmMsPrbsGroup,
        tnVwmMsIfLoopbackGroup,
        tnVwmMsDdmDataGroup,
        tnVwmMsPwrIfGroup,
        tnVwmMsIfMonitorGroup,
        tnVwmMsIfLosPropagationGroup,
        tnVwmMsIfOpticalPowerThresholdsGroup
    }
    ::= { tnVwmMsInterfaceCompliances 4 }

tnVwmMsIfR900Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Interface compliance for R900"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsSfp2Group,
        tnVwmMsSfp3Group,
        tnVwmMsSfpTunableGroup,
        tnVwmMsCdrChannelGroup,
        tnVwmMsCdrChannel2Group,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup,
        tnVwmMsPrbsGroup,
        tnVwmMsIfLoopbackGroup,
        tnVwmMsDdmDataGroup,
        tnVwmMsPwrIfGroup,
        tnVwmMsIfMonitorGroup,
        tnVwmMsIfLosPropagationGroup,
        tnVwmMsIfOpticalPowerThresholdsGroup,
        tnVwmMsUserDataGroup,
        tnVwmMsUserDataNotificationsGroup,
        tnVwmMsAmplifierPortGroup,
        tnVwmMsIfCapabilityGroup,
        tnVwmMsOpticalPortGroup,
        tnVwmMsSfpProfilesGroup
    }
    ::= { tnVwmMsInterfaceCompliances 5 }

tnVwmMsIfR901Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Interface compliance for R901"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsIfGroup,
        tnVwmMsSfpGroup,
        tnVwmMsSfp2Group,
        tnVwmMsSfp3Group,
        tnVwmMsSfpTunableGroup,
        tnVwmMsCdrChannelGroup,
        tnVwmMsCdrChannel2Group,
        tnVwmMsExtAlmIfGroup,
        tnVwmMsExtAnalogIfGroup,
        tnVwmMsExtCtrlIfGroup,
        tnVwmMsPrbsGroup,
        tnVwmMsIfLoopbackGroup,
        tnVwmMsDdmDataGroup,
        tnVwmMsPwrIfGroup,
        tnVwmMsIfMonitorGroup,
        tnVwmMsIfLosPropagationGroup,
        tnVwmMsIfOpticalPowerThresholdsGroup,
        tnVwmMsUserDataGroup,
        tnVwmMsUserDataNotificationsGroup,
        tnVwmMsAmplifierPortGroup,
        tnVwmMsIfCapabilityGroup,
        tnVwmMsOpticalPortGroup,
        tnVwmMsSfpProfileGroup,
        tnVwmMsSfpProfilesGroup,
        tnVwmMsIfOtdrGroup
    }
    ::= { tnVwmMsInterfaceCompliances 6 }

tnVwmMsIfSfp4Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS SFP4 compliance."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSfp4Group
    }
    ::= { tnVwmMsInterfaceCompliances 7 }

tnVwmMsIfSfpProfilesPnCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS SFP Profiles Part Number compliance."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSfpProfilesPnGroup
    }
    ::= { tnVwmMsInterfaceCompliances 8 }


tnVwmMsSnmpCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS SNMP compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSnmpGroup,
        tnVwmMsSnmpTrapDestGroup
    }
    ::= { tnVwmMsSnmpCompliances 1 }

tnVwmMsSnmpR840Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS SNMP compliance for R840"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSnmpGroup,
        tnVwmMsSnmpTrapDestGroup,
        tnVwmMsSnmpTrapDestNotificationsGroup
    }
    ::= { tnVwmMsSnmpCompliances 2 }

tnVwmMsFaultCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Fault compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsFaultGroup
    }
    ::= { tnVwmMsFaultCompliances 1 }

tnVwmMsDatabaseCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Database compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsDatabaseGroup
    }
    ::= { tnVwmMsDatabaseCompliances 1 }

tnVwmMsSoftwareCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Software compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSoftwareGroup
    }
    ::= { tnVwmMsSoftwareCompliances 1 }

tnVwmMsMtSoftwareCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Maintenance Software compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsMtSoftwareGroup
    }
    ::= { tnVwmMsSoftwareCompliances 2 }

tnVwmMsTimeCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Time compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsTimeGroup
    }
    ::= { tnVwmMsTimeCompliances 1 }

tnVwmMsSystemIpCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS System IP compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSystemIpGroup
    }
    ::= { tnVwmMsSystemIpCompliances 1 }

tnVwmMsCraftIpCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Craft Port IP compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsCraftIpGroup
    }
    ::= { tnVwmMsSystemIpCompliances 2 }

tnVwmMsSysDiscoveryCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS System Discovery compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSysDiscoveryGroup
    }
    ::= { tnVwmMsSysDiscoveryCompliances 1 }

tnVwmMsPmonCompliance MODULE-COMPLIANCE
    STATUS         obsolete
    DESCRIPTION    "VWMMS Performance Monitoring compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsPmonNotificationsGroup,
        tnVwmMsPmonIfEthStatsGroup,
        tnVwmMsPmonIfOptStatsGroup
    }
    ::= { tnVwmMsPmonCompliances 1 }

tnVwmMsPmonR840Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring compliance for R8.4.0."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsPmonIfEthStatsGroup,
        tnVwmMsPmonIfOptStatsGroup,
        tnVwmMsPmonIfPcsStatsGroup
    }
    ::= { tnVwmMsPmonCompliances 2 }

tnVwmMsPmonR850Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring compliance for R8.5.0."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsPmonIfEthStatsGroup,
        tnVwmMsPmonIfOptStatsGroup,
        tnVwmMsPmonIfPcsStatsGroup,
        tnVwmMsPmonTlu9mGroup,
        tnVwmMsPmonIfThresholdsGroup
    }
    ::= { tnVwmMsPmonCompliances 3 }

tnVwmMsPmonR900Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Performance Monitoring compliance for R9.0.0."
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsPmonIfEthStatsGroup,
        tnVwmMsPmonIfOptStatsGroup,
        tnVwmMsPmonIfPcsStatsGroup,
        tnVwmMsPmonTlu9mGroup,
        tnVwmMsPmonIfThresholdsGroup,
        tnVwmMsPmonIfEthFecStatsGroup
    }
    ::= { tnVwmMsPmonCompliances 4 }

tnVwmMsSecurityCompliance MODULE-COMPLIANCE
    STATUS         obsolete
    DESCRIPTION    "VWMMS Security compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsSecurityNotificationsGroup
    }
    ::= { tnVwmMsSecurityCompliances 1 }

tnVwmMsOpsCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS OPS compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsOpsOsmGroup,
        tnVwmMsOpsPaeGroup
    }
    ::= { tnVwmMsOpsCompliances 1 }

tnVwmMsOpsR840Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS OPS compliance for R840"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsOpsOsmGroup,
        tnVwmMsOpsPaeGroup,
        tnVwmMsOpsPaeNotificationsGroup
    }
    ::= { tnVwmMsOpsCompliances 2 }

tnVwmMsOpsR850Compliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS OPS compliance for R850"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsOpsOsmGroup,
        tnVwmMsOpsPaeGroup,
        tnVwmMsOpsPaeNotificationsGroup,
        tnVwmMsOpsOsmPselGroup,
        tnVwmMsOpsOsmPselNotificationsGroup,
        tnVwmMsOpsOsmPserGroup,
        tnVwmMsOpsOsmPserNotificationsGroup
    }
    ::= { tnVwmMsOpsCompliances 3 }

tnVwmMsUserCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS user compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsUserGroup
    }
    ::= { tnVwmMsUserCompliances 1 }

tnVwmMsTransferLogCompliance MODULE-COMPLIANCE
    STATUS         current
    DESCRIPTION    "VWMMS Transfer log compliance"
    MODULE
    MANDATORY-GROUPS {
        tnVwmMsTransferLogGroup
    }
    ::= { tnVwmMsTransferLogCompliances 1 }
END
