TROPIC-ABSNODE-MIB DEFINITIONS ::= BEGIN

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

IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE,
      Unsigned32, Integer32                   FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
      TEXTUAL-CONVENTION,
      TruthValue,
      RowStatus,
      DisplayString                           FROM SNMPv2-TC
      InetAddressIPv4                         FROM INET-ADDRESS-MIB
      tnAbsNodeMIBModules, tnAbsNodeObjs,
      tnAbsNodeMIB                            FROM TROPIC-GLOBAL-REG
      InterfaceIndex                          FROM IF-MIB
      TnGmreOptLineImpEncoding,
      TnGmreOptLineImpCompModule              FROM TROPIC-ASON-MIB;

  tnAbsNodeMibModule MODULE-IDENTITY
      LAST-UPDATED    "201907050200Z"
      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     "Abstract Node Data Plane Interface MIB types."

      REVISION        "201907050200Z"
      DESCRIPTION     "1) Added the following to TnAbsNodeAnalogBandwidth:
                          otm-134p463(18),
                          to
                          otm-600(28).
                       2) Added the following to TnAbsNodeTransponderType:
                          tt-S4X400H(65),
                          to
                          tt-DFC12E(69)."

      REVISION        "201811220200Z"
      DESCRIPTION     "1) Replaced tt-S13X100(46) with tt-S13X100R(46).
                       2) Added the following to TnAbsNodeTransponderType:
                          tt-DA2C4(58),
                          tt-LCI2000(59),
                          tt-LCI2000L(60),
                          tt-2UX200(61),
                          tt-S13X100L(62),
                          tt-4MX200(63),
                          tt-DA2C4E(64)."

      REVISION        "201805020200Z"
      DESCRIPTION     "1) Replaced tt-S2AD200(55) with tt-S2AD200H(55).
                       2) Added the following to TnAbsNodeAddDropType:
                          opsMCS(14),
                          opsMCS-AAR2X(15)
                       3) Added the following to TnAbsNodeTransponderType:
                          tt-20AN80(57)."

      REVISION        "201804131200Z"
      DESCRIPTION     "1) Replaced all instances of OPSA and opsa by OPS and ops,
                          respectively.
                       2) Added the following to TnAbsNodeAddDropType:
                          sfd-iroadm(13).
                       3) Added the following to TnAbsNodeTransponderType:
                          tt-S2AD200(55).
                       4) Added the following to tnAbsNodeOtsPortTable:
                          tnAbsNodeOtsPortIsPreparedForOps."

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

      REVISION        "201802021200Z"
      DESCRIPTION     "1) Added MIB extensions for 1830PSS R10.1 for the following
                          textual conventions:
                          TnAbsNode3RConnType
                          TnAbsNodeEndPointType
                          TnAbsNodeAddDropType
                          TnAbsNodeTransponderType.
                       2) Added the following to tnAbsNodeOtLinePortTable:
                          tnAbsNodeOtLinePortIsr
                          tnAbsNodeOtLinePortSpareIsr
                          tnAbsNodeOtLinePortPhaseEncodeTypes
                          tnAbsNodeOtLinePortHasPhaseEncodeDep
                          tnAbsNodeOtLinePortSamePhaseEncodePortId."

      REVISION        "201701181200Z"
      DESCRIPTION     "Replaced tnAbsNodeOtLinePortSpacing with tnAbsNodeOtLinePortServiceWidth."

      REVISION        "201612071200Z"
      DESCRIPTION     "Added invalid(0) to the following:
                       TnAbsNodeOpState
                       TnAbsNodeAnalogBandwidth
                       TnAbsNodeChannelSpacing
                       TnAbsNodeSlotWidth
                       TnAbsNode3RType
                       TnAbsNode3RConnType
                       TnAbsNodeEndPointType
                       TnAbsNodeAddDropType
                       TnAbsNodeTransponderType."

      REVISION        "201611221200Z"
      DESCRIPTION     "Changed the access from read-only to read-create
                       for tnAbsNodeTeLinkRowStatus."

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

      REVISION        "201610271200Z"
      DESCRIPTION     "PSSSW-44414: Added MIB extensions for 1830PSS R9.1
                       features:
                       - added TnAbsNodeTransponderType
                       - tnAbsNodeOtsPortRemoteOtsPortIfId
                       - tnAbsNodeOtLinePortPhysicalClientPortIfIds
                       - tnAbsNodeOtLinePortTransponderType
                       - tnAbsNodeOtLinePortMinDropPower
                       - tnAbsNodeOtLinePortSpareMinDropPower"

      REVISION        "201610041200Z"
      DESCRIPTION     "PSSSW-44414: Added MIB extensions for 1830PSS R9.1
                       features."

      REVISION        "201604281200Z"
      DESCRIPTION     "Added the following to tnAbsNodeOtLinePortTable:
                       tnAbsNodeOtLinePortAddDropSparePort,
                       tnAbsNodeOtLinePortAddDropOpsPort."

      REVISION        "201602261200Z"
      DESCRIPTION     "Initial version."

      ::= { tnAbsNodeMIBModules 1 }

--------------------------------------------------------------------------------
-- Top level components of this MIB
--------------------------------------------------------------------------------
-- traps
--  tnGmplsDpifNotifications  OBJECT IDENTIFIER ::= { tnAbsNodeMIB 2 }
--  tnGmplsDpifNotifyPrefix   OBJECT IDENTIFIER ::= { tnGmplsDpifNotifications 0 }

  tnAbsNodeConf           OBJECT IDENTIFIER ::= { tnAbsNodeMIB 3 }
  tnAbsNodeGroups         OBJECT IDENTIFIER ::= { tnAbsNodeConf 1 }
  tnAbsNodeCompliances    OBJECT IDENTIFIER ::= { tnAbsNodeConf 2 }

--------------------------------------------------------------------------------
-- ABSNODE Scalar
--------------------------------------------------------------------------------
    tnAbsNodeAttributeTotal OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "Total number of attributes in this MIB file."
        ::= { tnAbsNodeObjs 1 }

--------------------------------------------------------------------------------
-- TEXTUAL CONVENTIONS (i.e. types used in this MIB file
--------------------------------------------------------------------------------
    TnAbsNodeOpState ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "The Operational State of an Abstract Node interface.
                      Up - interface is fully functional.
                      Down - operator has manually taken the interface down: it
                             is not operational.
                      Deg - interface is running in degraded mode: problably
                            some alarms/defects were detected by the interface."
        SYNTAX       INTEGER {
                       invalid(0), -- Invalid: used if no other value is correct
                       up(1),    -- Up
                       down(2),  -- Down
                       deg(3)    -- Degraded
                     }

    TnAbsNodeAnalogBandwidth ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Analog Bandwidth of an Abstract Node interface."
        SYNTAX       INTEGER {
                       invalid(0),
                       otm-2p666(1),
                       otm-9p95328(2),
                       otm-10p3125(3),
                       otm-10p519(4),
                       otm-10p709(5),
                       otm-11p049(6),
                       otm-11p096(7),
                       otm-11p317(8),
                       otm-39p813(9),
                       otm-43p018(10),
                       otm-44p583(11),
                       otm-103p125(12),
                       otm-111p810(13),
                       otm-129p280(14),
                       otm-258p560(15),
                       otm-268p925(16),
                       otm-11p270(17),
                       otm-134p463(18),
                       otm-131p679(19),
                       otm-229p280(20),
                       otm-50(21),
                       otm-100(22),
                       otm-200(23),
                       otm-250(24),
                       otm-300(25),
                       otm-400(26),
                       otm-500(27),
                       otm-600(28)
                     }

    TnAbsNodeChannelSpacing ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Channel Spacing of an Abstract Node interface."
        SYNTAX       INTEGER {
                       invalid(0),
                       cs-50-GHz(1),
                       cs-100-GHz(2),
                       cs-6p25-GHz(3),
                       cs-12p5-GHz(4),
                       cs-25-GHz(5)
                     }

    TnAbsNodeSlotWidth ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Slot Width of an Abstract Node interface."
        SYNTAX       INTEGER {
                       invalid(0),
                       sw-12p5-GHz(1),
                       sw-25-GHz(2),
                       sw-37p5-GHz(3),
                       sw-50-GHz(4),
                       sw-62p5-GHz(5),
                       sw-75-GHz(6),
                       sw-87p5-GHz(7),
                       sw-100-GHz(8)
                     }

    TnAbsNode3RType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "The type of a 3R."
        SYNTAX       INTEGER {
                       invalid(0),      -- Invalid: used if no other value is correct
                       uni3r(1),        -- Unidirectional regeneration
                       cross-regen(2),  -- Cross regeneration
                       b2b-regen(3),    -- Back to back regeneration
                       lo-regen(4),     -- Low-Order regeneration
                       none(5)          -- No 3R
                     }

    TnAbsNode3RConnType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Connection type of a 3R."
        SYNTAX       INTEGER {
                       invalid(0),
                       uni(1),
                       bidi(2),
                       uni-no-recoloring(3)
                     }

    TnAbsNodeEndPointType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "End Point Type of an OTS port."
        SYNTAX       INTEGER {
                       invalid(0),           -- Invalid: used if no other value is correct
                       roadm(1),             -- WR8-88 based ROADM (including IROADM9R)
                       ila(2),               -- In-Line Amplifier
                       roadm-wr20(3),        -- WR20 based ROADM (including IROADM20)
                       roadm-wr8-88AF(4),    -- WR8-88AF based ROADM
                       single-wr20-DGE(5)    -- DGE with a single WR20
                     }

    TnAbsNodeAddDropType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Add Drop type of the IF-Group."
        SYNTAX       INTEGER {
                       invalid(0),               -- Invalid: used if no other value is correct
                       local(1),                 -- local IF-Group
                       configD(2),               -- config D IF-Group
                       configDprime(3),          -- config D' IF-Group
                       configDdoublePrime(4),    -- config D'' IF-Group
                       mCS(5),                   -- MCS IF-Group (on CDC-F node)
                       opsConfigD(6),            -- config D IF-Group with OPS protected OTs
                       opsConfigDprime(7),       -- config D' IF-Group with OPS protected OTs
                       opsConfigDdoublePrime(8), -- config D'' IF-Group with OPS protected OTs
                       pscLocal(9),              -- IROADM PSC IF-Group
                       pscCF(10),                -- C-F PSC IF-Group
                       mCS-AAR2X(11),            -- MCS IF-Group with AAR2X amplifier array for C-band.
                       mCS-AAR2X-L(12),          -- MCS IF-Group with AAR2X amplifier array for L-band.
                       sfd-iroadm(13),           -- SFD-IROADM
                       opsMCS(14),               -- MCS IF-Group with OPSFlex
                       opsMCS-AAR2X(15)          -- MCS IF-Group with AAR2X and OPSFlex
                     }

    TnAbsNodeTransponderType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Optical Transponder card type"
        SYNTAX       INTEGER {
                       invalid(0),
                       tt-4DPA4(1),
                       tt-11STAR1(2),
                       tt-11STGE12(3),
                       tt-11DPE12(4),
                       tt-11DPE12E(5),
                       tt-11QPA4(6),
                       tt-11STMM10(7),
                       tt-11DPM12(8),
                       tt-43STA1P(9),
                       tt-43STX4P(10),
                       tt-43STX4(11),
                       tt-43SCX4(12),
                       tt-112SCA1(13),
                       tt-112SCX10(14),
                       tt-11QTA4(15),
                       tt-43SCA1(16),
                       tt-112SNX10(17),
                       tt-112SNA1(18),
                       tt-11QCUP(19),
                       tt-43SCUP(20),
                       tt-11QPEN4(21),
                       tt-11QPE24(22),
                       tt-11DPE12A(23),
                       tt-11STAR1A(24),
                       tt-43SCX4E(25),
                       tt-43SCGE1(26),
                       tt-11QCUPC(27),
                       tt-130SCX10(28),
                       tt-130SCUP(29),
                       tt-130SNX10(30),
                       tt-130SCUPB(31),
                       tt-260SCX2(32),
                       tt-130SCUPC(33),
                       tt-11OPE8(34),
                       tt-11QCE12X(35),
                       tt-130SCA1(36),
                       tt-4UC400(37),
                       tt-2UC400(38),
                       tt-20UC200(39),
                       tt-11DPM8(40),
                       tt-130SNQ10(41),
                       tt-D5X500(42),
                       tt-1UD200(43),
                       tt-12P120(44),
                       tt-130SCUPH(45),
                       tt-S13X100R(46),
                       tt-S13X100E(47),
                       tt-11OCUP(48),
                       tt-D5X500L(49),
                       tt-1UX100(50),
                       tt-20AX200(51),
                       tt-20MX80(52),
                       tt-D5X500Q(53),
                       tt-130SLX10(54),
                       tt-130SLA1(55),
                       tt-S2AD200H(56),
                       tt-20AN80(57),
                       tt-DA2C4(58),
                       tt-LCI2000(59),
                       tt-LCI2000L(60),
                       tt-2UX200(61),
                       tt-S13X100L(62),
                       tt-4MX200(63),
                       tt-DA2C4E(64),
                       tt-S4X400H(65),
                       tt-S4X400E(66),
                       tt-S4X400L(67),
                       tt-DFC12(68),
                       tt-DFC12E(69)
                     }

    TnAbsNodeIsPreparedForOps ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "State if OTS port is prepared for OPS."
        SYNTAX       INTEGER {
                       invalid(0),           -- Invalid: used if no other value is correct
                       true(1),              -- Is prepared for OPS
                       false(2),             -- Is not prepared for OPS
                       not-applicable(3)     -- Is not applicable
                     }

--------------------------------------------------------------------------------
-- TABLES
--------------------------------------------------------------------------------

---------------------------------------------------------------------------
-- Abstract Node - Subnode Table
---------------------------------------------------------------------------
    tnAbsNodeSubnodeTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeSubnodeEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node Subnode Table."
        ::= { tnAbsNodeObjs 2 }

    tnAbsNodeSubnodeEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeSubnodeEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents an AbsNode Subnode
                        (logical node)."
        REFERENCE      "?"
        INDEX          { tnAbsNodeSubnodeLocalShelfId }
        ::= { tnAbsNodeSubnodeTable 1 }

    TnAbsNodeSubnodeEntry ::= SEQUENCE {
        tnAbsNodeSubnodeLocalShelfId    Unsigned32,
        tnAbsNodeSubnodeLocalDPNodeId   Unsigned32,
        tnAbsNodeSubnodeNodalSrg        Unsigned32,
        tnAbsNodeSubnodeOpState         TnAbsNodeOpState
    }

    tnAbsNodeSubnodeLocalShelfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Index of this table. The physical address of the
                        subnode (given in the interface naming scheme)."
        ::= { tnAbsNodeSubnodeEntry 1 }

    tnAbsNodeSubnodeLocalDPNodeId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The local dataplane node ID. Auto-generated."
        ::= { tnAbsNodeSubnodeEntry 2 }

    tnAbsNodeSubnodeNodalSrg OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "SRG Id of the subnode. Auto-generated: Default: NodeId + MSB"
        ::= { tnAbsNodeSubnodeEntry 3 }

    tnAbsNodeSubnodeOpState OBJECT-TYPE
        SYNTAX         TnAbsNodeOpState
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Operational State of the Subnode"
        ::= { tnAbsNodeSubnodeEntry 4 }

------------------------------------------------------------------------------------------
-- Abstract Node - Traffic Engineering Link Table
------------------------------------------------------------------------------------------
    tnAbsNodeTeLinkTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeTeLinkEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node Traffic Engineering Link Table."
        ::= { tnAbsNodeObjs 3 }

    tnAbsNodeTeLinkEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeTeLinkEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents a TE-Link object."
        REFERENCE      "?"
        INDEX          { tnAbsNodeTeLinkIfId }
        ::= { tnAbsNodeTeLinkTable 1 }

    TnAbsNodeTeLinkEntry ::= SEQUENCE {
        tnAbsNodeTeLinkIfId                  Unsigned32,
        tnAbsNodeTeLinkRemoteIfId            Unsigned32,
        tnAbsNodeTeLinkRemoteNodeAddress     InetAddressIPv4,
        tnAbsNodeTeLinkUserLabel             DisplayString,
        tnAbsNodeTeLinkMetric                Unsigned32,
        tnAbsNodeTeLinkSrgIds                DisplayString,
        tnAbsNodeTeLinkColors                Unsigned32,
        tnAbsNodeTeLinkLatency               Unsigned32,
        tnAbsNodeTeLinkComponentIfIdList     DisplayString,
        tnAbsNodeTeLinkRowStatus             RowStatus
    }

    tnAbsNodeTeLinkIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Index of this table. The local TE-Link interface ID.
                        Auto-generated: derived from OTS line port interface ID."
        ::= { tnAbsNodeTeLinkEntry 1 }

    tnAbsNodeTeLinkRemoteIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The remote TE-Link interface ID. Auto-generated: derived
                        from OTS line port interface ID."
        ::= { tnAbsNodeTeLinkEntry 2 }

    tnAbsNodeTeLinkRemoteNodeAddress OBJECT-TYPE
        SYNTAX         InetAddressIPv4
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The node address of the remote node the TE-Link is
                        connecting with. Default: 0.0.0.0"
        ::= { tnAbsNodeTeLinkEntry 3 }

    tnAbsNodeTeLinkUserLabel OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The TE-Link user label. Default: empty."
        ::= { tnAbsNodeTeLinkEntry 4 }

    tnAbsNodeTeLinkMetric OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The TE-Link metrict (cost). Default: 1."
        ::= { tnAbsNodeTeLinkEntry 5 }

    tnAbsNodeTeLinkSrgIds OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The list of SRG IDs: list of Unsigned32 separated by ','."
        ::= { tnAbsNodeTeLinkEntry 6 }

    tnAbsNodeTeLinkColors OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The resource colors assigned to this TE-Link. Default 0."
        ::= { tnAbsNodeTeLinkEntry 7 }

    tnAbsNodeTeLinkLatency OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The latency value assigned to this TE-Link. In WDM
                        always value 0."
        DEFVAL         { 0 }
        ::= { tnAbsNodeTeLinkEntry 8 }

    tnAbsNodeTeLinkComponentIfIdList OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The list of OTS-line interface indexes assigned to the
                        TE-Link: list of Unsigned32 separated by ','. Default:
                        only OTS Line port."
        ::= { tnAbsNodeTeLinkEntry 9 }

    tnAbsNodeTeLinkRowStatus OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "This variable is used to create, modify, and/or
                        delete a row in this table.  Supported values
                        for this table are:
                          active       => activate new TE link config
                          notInService => configuration not active
                          notReady     => mandatory parameters missing
                          destroy      => delete TE link
                          createAndGo  => create and activate new TE link entry

                        CreateAndWait of row entries is not allowed."
        ::= { tnAbsNodeTeLinkEntry 10 }

------------------------------------------------------------------------------------------
-- Abstract Node - OTS Port Table
------------------------------------------------------------------------------------------
    tnAbsNodeOtsPortTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeOtsPortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node OTS Port Table."
        ::= { tnAbsNodeObjs 4 }

    tnAbsNodeOtsPortEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeOtsPortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents an OTS Port object."
        REFERENCE      "?"
        INDEX          { tnAbsNodeOtsPortIfId }
        ::= { tnAbsNodeOtsPortTable 1 }

    TnAbsNodeOtsPortEntry ::= SEQUENCE {
        tnAbsNodeOtsPortIfId                        Unsigned32,
        tnAbsNodeOtsPortNeIfIndex                   InterfaceIndex,
        tnAbsNodeOtsPortLocalShelfId                Unsigned32,
        tnAbsNodeOtsPortRemoteIfId                  Unsigned32,
        tnAbsNodeOtsPortRemoteNodeAddress           InetAddressIPv4,
        tnAbsNodeOtsPortRemoteOtsPortIfId           Unsigned32,
        tnAbsNodeOtsPortUserLabel                   DisplayString,
        tnAbsNodeOtsPortCentralFrequencyGranularity TnAbsNodeChannelSpacing,
        tnAbsNodeOtsPortSlotWidthGranularity        TnAbsNodeSlotWidth,
        tnAbsNodeOtsPortMinSlotWidth                TnAbsNodeSlotWidth,
        tnAbsNodeOtsPortMaxSlotWidth                TnAbsNodeSlotWidth,
        tnAbsNodeOtsPortMinChannel                  Integer32,
        tnAbsNodeOtsPortMaxChannel                  Integer32,
        tnAbsNodeOtsPortWssGranularity              TnAbsNodeChannelSpacing,
        tnAbsNodeOtsPortEndPointType                TnAbsNodeEndPointType,
        tnAbsNodeOtsPortOpState                     TnAbsNodeOpState,
        tnAbsNodeOtsPortIsPreparedForOps            TnAbsNodeIsPreparedForOps
    }

    tnAbsNodeOtsPortIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Index of this table. Maps to the Interface Id of the OTS Port."
        ::= { tnAbsNodeOtsPortEntry 1 }

    tnAbsNodeOtsPortNeIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The unique identifier in the NE which needs to be used to retrieve
                        the optical impairments and wavelength sets of this OTS line port."
        ::= { tnAbsNodeOtsPortEntry 2 }

    tnAbsNodeOtsPortLocalShelfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The physical address of the subnode."
        ::= { tnAbsNodeOtsPortEntry 3 }

    tnAbsNodeOtsPortRemoteIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The node index of the remote node the link is connecting
                        with."
        ::= { tnAbsNodeOtsPortEntry 4 }

    tnAbsNodeOtsPortRemoteNodeAddress OBJECT-TYPE
        SYNTAX         InetAddressIPv4
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The node address of the remote node the link is connecting
                        with."
        ::= { tnAbsNodeOtsPortEntry 5 }

    tnAbsNodeOtsPortRemoteOtsPortIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Physical interface Index of remote OTS port the port
                        is connecting with."
        ::= { tnAbsNodeOtsPortEntry 6 }

    tnAbsNodeOtsPortUserLabel OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The OTS Port user specific label. Default: empty."
        ::= { tnAbsNodeOtsPortEntry 7 }

    tnAbsNodeOtsPortCentralFrequencyGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeChannelSpacing
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The central frequency granularity."
        ::= { tnAbsNodeOtsPortEntry 8 }

    tnAbsNodeOtsPortSlotWidthGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The slot width granularity."
        ::= { tnAbsNodeOtsPortEntry 9 }

    tnAbsNodeOtsPortMinSlotWidth  OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The minimum supported slot width."
        ::= { tnAbsNodeOtsPortEntry 10 }

    tnAbsNodeOtsPortMaxSlotWidth OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The maximum supported slot width."
        ::= { tnAbsNodeOtsPortEntry 11 }

    tnAbsNodeOtsPortMinChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The minimum allowed channel (central frequency for m = 1)."
        ::= { tnAbsNodeOtsPortEntry 12 }

    tnAbsNodeOtsPortMaxChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The maximum allowed channel (central frequency for m = 1)."
        ::= { tnAbsNodeOtsPortEntry 13 }

    tnAbsNodeOtsPortWssGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeChannelSpacing
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "WSS granularity (6.25 GHz for WR20, 12.5 GHz for WR8-88AF,
                        50 GHz for WR8-88)."
        ::= { tnAbsNodeOtsPortEntry 14 }

    tnAbsNodeOtsPortEndPointType OBJECT-TYPE
        SYNTAX         TnAbsNodeEndPointType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Data link endpoint type (OTS line attribute, relevant
                        for path thru node penalty calculation)."
        ::= { tnAbsNodeOtsPortEntry 15 }

    tnAbsNodeOtsPortOpState OBJECT-TYPE
        SYNTAX         TnAbsNodeOpState
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Operational State of the OTS Port."
        ::= { tnAbsNodeOtsPortEntry 16 }

    tnAbsNodeOtsPortIsPreparedForOps OBJECT-TYPE
        SYNTAX         TnAbsNodeIsPreparedForOps
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Is data link prepared for OPS (OTS line attribute)."
        ::= { tnAbsNodeOtsPortEntry 17 }

------------------------------------------------------------------------------------------
-- Abstract Node - IF-Group Table
------------------------------------------------------------------------------------------
    tnAbsNodeIfGroupTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeIfGroupEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node IF-Group Table."
        ::= { tnAbsNodeObjs 5 }

    tnAbsNodeIfGroupEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeIfGroupEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents an IF-Group object."
        REFERENCE      "?"
        INDEX          { tnAbsNodeIfGroupIfId }
        ::= { tnAbsNodeIfGroupTable 1 }

    TnAbsNodeIfGroupEntry ::= SEQUENCE {
        tnAbsNodeIfGroupIfId                        Unsigned32,
        tnAbsNodeIfGroupCentralFrequencyGranularity TnAbsNodeChannelSpacing,
        tnAbsNodeIfGroupSlotWidthGranularity        TnAbsNodeSlotWidth,
        tnAbsNodeIfGroupMinSlotWidth                TnAbsNodeSlotWidth,
        tnAbsNodeIfGroupMaxSlotWidth                TnAbsNodeSlotWidth,
        tnAbsNodeIfGroupMinChannel                  Integer32,
        tnAbsNodeIfGroupMaxChannel                  Integer32,
        tnAbsNodeIfGroupWssGranularity              TnAbsNodeChannelSpacing,
        tnAbsNodeIfGroupAdType                      TnAbsNodeAddDropType
    }

    tnAbsNodeIfGroupIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Index of this table. Maps to the IF-Group Interface Id."
        ::= { tnAbsNodeIfGroupEntry 1 }

    tnAbsNodeIfGroupCentralFrequencyGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeChannelSpacing
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The central frequency granularity."
        ::= { tnAbsNodeIfGroupEntry 2 }

    tnAbsNodeIfGroupSlotWidthGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The slot width granularity."
        ::= { tnAbsNodeIfGroupEntry 3 }

    tnAbsNodeIfGroupMinSlotWidth  OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The minimum supported slot width."
        ::= { tnAbsNodeIfGroupEntry 4 }

    tnAbsNodeIfGroupMaxSlotWidth OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The maximum supported slot width."
        ::= { tnAbsNodeIfGroupEntry 5 }

    tnAbsNodeIfGroupMinChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The minimum allowed channel (central frequency for m = 1)."
        ::= { tnAbsNodeIfGroupEntry 6 }

    tnAbsNodeIfGroupMaxChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The maximum allowed channel (central frequency for m = 1)."
        ::= { tnAbsNodeIfGroupEntry 7 }

    tnAbsNodeIfGroupWssGranularity OBJECT-TYPE
        SYNTAX         TnAbsNodeChannelSpacing
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "WSS granularity (6.25 GHz for WR20, 12.5 GHz for WR8-88AF,
                        50 GHz for WR8-88)."
        ::= { tnAbsNodeIfGroupEntry 8 }

    tnAbsNodeIfGroupAdType OBJECT-TYPE
        SYNTAX         TnAbsNodeAddDropType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The add/drop type of the IF-Group."
        ::= { tnAbsNodeIfGroupEntry 9 }

------------------------------------------------------------------------------------------
-- Abstract Node - OT Line Port Table
------------------------------------------------------------------------------------------
    tnAbsNodeOtLinePortTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeOtLinePortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node OT Line Port Table."
        ::= { tnAbsNodeObjs 6 }

    tnAbsNodeOtLinePortEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeOtLinePortEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents an OT Line Port object."
        REFERENCE      "?"
        INDEX          { tnAbsNodeOtLinePortIfId }
        ::= { tnAbsNodeOtLinePortTable 1 }

    TnAbsNodeOtLinePortEntry ::= SEQUENCE {
        tnAbsNodeOtLinePortIfId                    Unsigned32,
        tnAbsNodeOtLinePortRemoteUplinkNodeAddress InetAddressIPv4,
        tnAbsNodeOtLinePortRemoteUplinkPortIfId    Unsigned32,
        tnAbsNodeOtLinePortPhysicalClientPortIfIds DisplayString,
        tnAbsNodeOtLinePortLocalShelfId            Unsigned32,
        tnAbsNodeOtLinePortIfGroupIfId             Unsigned32,
        tnAbsNodeOtLinePortSubGroupIfId            Unsigned32,
        tnAbsNodeOtLinePortIsOpsProtected          TruthValue,
        tnAbsNodeOtLinePortSpareIfGroupIfId        Unsigned32,
        tnAbsNodeOtLinePortSpareSubGroupIfId       Unsigned32,
        tnAbsNodeOtLinePortModType                 TnGmreOptLineImpEncoding,
        tnAbsNodeOtLinePortAnalogBw                TnAbsNodeAnalogBandwidth,
        tnAbsNodeOtLinePortCompMode                TnGmreOptLineImpCompModule,
        tnAbsNodeOtLinePortFecTypes                DisplayString,
        tnAbsNodeOtLinePortServiceWidth            TnAbsNodeSlotWidth,
        tnAbsNodeOtLinePortMinChannel              Integer32,
        tnAbsNodeOtLinePortMaxChannel              Integer32,
        tnAbsNodeOtLinePortChanStep                Unsigned32,
        tnAbsNodeOtLinePortHas100GHzSubGroupWidth  TruthValue,
        tnAbsNodeOtLinePortIsFlexBwSupported       TruthValue,
        tnAbsNodeOtLinePort3RType                  TnAbsNode3RType,
        tnAbsNodeOtLinePortConnectedIfId           Unsigned32,
        tnAbsNodeOtLinePort3RConnType              TnAbsNode3RConnType,
        tnAbsNodeOtLinePortOpState                 TnAbsNodeOpState,
        tnAbsNodeOtLinePortAddDropPort             DisplayString,
        tnAbsNodeOtLinePortAddDropSparePort        DisplayString,
        tnAbsNodeOtLinePortAddDropOpsPort          DisplayString,
        tnAbsNodeOtLinePortTransponderType         TnAbsNodeTransponderType,
        tnAbsNodeOtLinePortMinDropPower            Integer32,
        tnAbsNodeOtLinePortSpareMinDropPower       Integer32,
        tnAbsNodeOtLinePortIsr                     Integer32,
        tnAbsNodeOtLinePortSpareIsr                Integer32,
        tnAbsNodeOtLinePortPhaseEncodeTypes        DisplayString,
        tnAbsNodeOtLinePortHasPhaseEncodeDep       TruthValue,
        tnAbsNodeOtLinePortSamePhaseEncodePortId   Unsigned32
    }

    tnAbsNodeOtLinePortIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Index of this table. Maps to the IF-Group Interface Id."
        ::= { tnAbsNodeOtLinePortEntry 1 }

    tnAbsNodeOtLinePortRemoteUplinkNodeAddress OBJECT-TYPE
        SYNTAX         InetAddressIPv4
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Node Address of co-located OCS compound."
        ::= { tnAbsNodeOtLinePortEntry 2 }

    tnAbsNodeOtLinePortRemoteUplinkPortIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Connected UpLink card port."
        ::= { tnAbsNodeOtLinePortEntry 3 }

    tnAbsNodeOtLinePortPhysicalClientPortIfIds OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Physical OT client port interface indexes connected
                        to this OT line port."
        ::= { tnAbsNodeOtLinePortEntry 4 }

    tnAbsNodeOtLinePortLocalShelfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The physical address of the subnode."
        ::= { tnAbsNodeOtLinePortEntry 5 }

    tnAbsNodeOtLinePortIfGroupIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The interface index of the IF-Group the OT is part of."
        ::= { tnAbsNodeOtLinePortEntry 6 }

    tnAbsNodeOtLinePortSubGroupIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The interface index of the IF-Group subgroup the OT is
                        part of."
        ::= { tnAbsNodeOtLinePortEntry 7 }

    tnAbsNodeOtLinePortIsOpsProtected OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Indicates whether the OT is OPS protected."
        ::= { tnAbsNodeOtLinePortEntry 8 }

    tnAbsNodeOtLinePortSpareIfGroupIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The interface index of the spare leg IF-Group (for OPS
                        protected OT only)."
        ::= { tnAbsNodeOtLinePortEntry 9 }

    tnAbsNodeOtLinePortSpareSubGroupIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The interface index of the spare leg IF-Group subgroup
                        (for OPS protected OT only)."
        ::= { tnAbsNodeOtLinePortEntry 10 }

    tnAbsNodeOtLinePortModType OBJECT-TYPE
        SYNTAX         TnGmreOptLineImpEncoding
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The modulation type of the OT."
        ::= { tnAbsNodeOtLinePortEntry 11 }

    tnAbsNodeOtLinePortAnalogBw OBJECT-TYPE
        SYNTAX         TnAbsNodeAnalogBandwidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The analog bandwidth of the OT."
        ::= { tnAbsNodeOtLinePortEntry 12 }

    tnAbsNodeOtLinePortCompMode OBJECT-TYPE
        SYNTAX         TnGmreOptLineImpCompModule
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The compensation module."
        ::= { tnAbsNodeOtLinePortEntry 13 }

    tnAbsNodeOtLinePortFecTypes OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The supported FEC types."
        ::= { tnAbsNodeOtLinePortEntry 14 }

    tnAbsNodeOtLinePortServiceWidth OBJECT-TYPE
        SYNTAX         TnAbsNodeSlotWidth
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The channel spacing."
        ::= { tnAbsNodeOtLinePortEntry 15 }

    tnAbsNodeOtLinePortMinChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        ::= { tnAbsNodeOtLinePortEntry 16 }

    tnAbsNodeOtLinePortMaxChannel OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "."
        ::= { tnAbsNodeOtLinePortEntry 17 }

    tnAbsNodeOtLinePortChanStep OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The channel step."
        ::= { tnAbsNodeOtLinePortEntry 18 }

    tnAbsNodeOtLinePortHas100GHzSubGroupWidth OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Indicates whether the required sub-group width is 100 GHz."
        ::= { tnAbsNodeOtLinePortEntry 19 }

    tnAbsNodeOtLinePortIsFlexBwSupported OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Indicates whether the OT is supporting flexible bandwidth."
        ::= { tnAbsNodeOtLinePortEntry 20 }

    tnAbsNodeOtLinePort3RType OBJECT-TYPE
        SYNTAX         TnAbsNode3RType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Indicates whether the OT is configured as a 3R and its type."
        ::= { tnAbsNodeOtLinePortEntry 21 }

    tnAbsNodeOtLinePortConnectedIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The interface index of the connected OT composing the 3R group."
        ::= { tnAbsNodeOtLinePortEntry 22 }

    tnAbsNodeOtLinePort3RConnType OBJECT-TYPE
        SYNTAX         TnAbsNode3RConnType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The 3R connection type."
        ::= { tnAbsNodeOtLinePortEntry 23 }

    tnAbsNodeOtLinePortOpState OBJECT-TYPE
        SYNTAX         TnAbsNodeOpState
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The operational state of the OT line port."
        ::= { tnAbsNodeOtLinePortEntry 24 }

    tnAbsNodeOtLinePortAddDropPort OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "SFD, CWR, MCS, PSC access port of the IF-Group."
        ::= { tnAbsNodeOtLinePortEntry 25 }

    tnAbsNodeOtLinePortAddDropSparePort OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "SFD, CWR, MCS, PSC access port of the spare OPS leg IF-Group."
        ::= { tnAbsNodeOtLinePortEntry 26 }

    tnAbsNodeOtLinePortAddDropOpsPort OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "OPS port if OT is involved in OPS."
        ::= { tnAbsNodeOtLinePortEntry 27 }

    tnAbsNodeOtLinePortTransponderType OBJECT-TYPE
        SYNTAX         TnAbsNodeTransponderType
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The optical transponder card type"
        ::= { tnAbsNodeOtLinePortEntry 28 }

    tnAbsNodeOtLinePortMinDropPower OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Minimal Drop Power of the main port.
                        If present, the value has the range from -3000 to 1100 and
                        has the unit mBm - as defined in 1830PSS NE;
                        with mBm as power relative to 1 milliwatt, in millibels
                        (one hundredth of a decibel). 100 mBm = 1dBm"
        ::= { tnAbsNodeOtLinePortEntry 29 }

    tnAbsNodeOtLinePortSpareMinDropPower OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Minimal Drop Power of the spare port.
                        If present, the value has the range from -3000 to 1100 and
                        has the unit mBm - as defined in 1830PSS NE;
                        with mBm as power relative to 1 milliwatt, in millibels
                        (one hundredth of a decibel). 100 mBm = 1dBm"
        ::= { tnAbsNodeOtLinePortEntry 30 }

    tnAbsNodeOtLinePortIsr OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Interference to Signal Ratio (ISR) at the main port.
                        Unit: 10000 * dB, i.e. precision in dB with 4 decimal digits.
                        Only relevant in an IROADM-PSC NE configuration."
        ::= { tnAbsNodeOtLinePortEntry 31 }

    tnAbsNodeOtLinePortSpareIsr OBJECT-TYPE
        SYNTAX         Integer32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Interference to Signal Ratio (ISR) at the spare port.
                        Unit: 10000 * dB, i.e. precision in dB with 4 decimal digits.
                        Only relevant in an IROADM-PSC NE configuration."
        ::= { tnAbsNodeOtLinePortEntry 32 }

    tnAbsNodeOtLinePortPhaseEncodeTypes OBJECT-TYPE
        SYNTAX         DisplayString
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The supported Phase encodings."
        ::= { tnAbsNodeOtLinePortEntry 33 }

    tnAbsNodeOtLinePortHasPhaseEncodeDep OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "Indicates whether there is a second OT line port that must
                        have the same phase encoding. This is relevant for all OTs
                        with an ADD3 chip, e.g. all kind of D5X500 OTs."
        ::= { tnAbsNodeOtLinePortEntry 34 }

    tnAbsNodeOtLinePortSamePhaseEncodePortId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The OT line port with the same phase encoding
                        (e.g. the second OT line port of a D5X500 card)."
        ::= { tnAbsNodeOtLinePortEntry 35 }

------------------------------------------------------------------------------------------
-- Abstract Node - Restricted Connectivity Table
------------------------------------------------------------------------------------------
    tnAbsNodeConnectivityTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnAbsNodeConnectivityEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The Abstract Node Restricted Connectivity Table."
        ::= { tnAbsNodeObjs 7 }

    tnAbsNodeConnectivityEntry OBJECT-TYPE
        SYNTAX         TnAbsNodeConnectivityEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "An entry in this table represents an unidirectional connectivity
                        between an IF-Group and OTS Port or vice versa, identified
                        by their interface IDs."
        REFERENCE      "?"
        INDEX          { tnAbsNodeConnectivityFromIfId,
                         tnAbsNodeConnectivityToIfId }
        ::= { tnAbsNodeConnectivityTable 1 }

    TnAbsNodeConnectivityEntry ::= SEQUENCE {
        tnAbsNodeConnectivityFromIfId              Unsigned32,
        tnAbsNodeConnectivityToIfId                Unsigned32,
        tnAbsNodeConnectivityOpState               TnAbsNodeOpState
    }

    tnAbsNodeConnectivityFromIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Source TP of the connectivity. Maps to IF-Group or OTS
                        Port Interface Id."
        ::= { tnAbsNodeConnectivityEntry 1 }

    tnAbsNodeConnectivityToIfId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Destination TP of the connectivity. Maps to IF-Group or
                        OTS Port Interface Id."
        ::= { tnAbsNodeConnectivityEntry 2 }

    tnAbsNodeConnectivityOpState OBJECT-TYPE
        SYNTAX         TnAbsNodeOpState
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The operational State of the connectivity."
        ::= { tnAbsNodeConnectivityEntry 3 }

---------------------------------------------------------------------------
-- Conformance Group Definitions
---------------------------------------------------------------------------
    tnAbsNodeObjsGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeAttributeTotal
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnAbsNodeGroups 1 }

    tnAbsNodeSubnodeGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeSubnodeLocalDPNodeId,
            tnAbsNodeSubnodeNodalSrg,
            tnAbsNodeSubnodeOpState
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node Subnode group of objects providing for
                        management of Abstract Node."
        ::= { tnAbsNodeGroups 2 }

    tnAbsNodeTeLinkGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeTeLinkRemoteIfId,
            tnAbsNodeTeLinkRemoteNodeAddress,
            tnAbsNodeTeLinkUserLabel,
            tnAbsNodeTeLinkMetric,
            tnAbsNodeTeLinkSrgIds,
            tnAbsNodeTeLinkColors,
            tnAbsNodeTeLinkLatency,
            tnAbsNodeTeLinkComponentIfIdList,
            tnAbsNodeTeLinkRowStatus
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node TE link interface group of
                        objects providing for management of Abstract Node TE
                        entities."
        ::= { tnAbsNodeGroups 3 }

    tnAbsNodeOtsPortGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeOtsPortNeIfIndex,
            tnAbsNodeOtsPortLocalShelfId,
            tnAbsNodeOtsPortRemoteIfId,
            tnAbsNodeOtsPortRemoteNodeAddress,
            tnAbsNodeOtsPortRemoteOtsPortIfId,
            tnAbsNodeOtsPortUserLabel,
            tnAbsNodeOtsPortCentralFrequencyGranularity,
            tnAbsNodeOtsPortSlotWidthGranularity,
            tnAbsNodeOtsPortMinSlotWidth,
            tnAbsNodeOtsPortMaxSlotWidth,
            tnAbsNodeOtsPortMinChannel,
            tnAbsNodeOtsPortMaxChannel,
            tnAbsNodeOtsPortWssGranularity,
            tnAbsNodeOtsPortEndPointType,
            tnAbsNodeOtsPortOpState,
            tnAbsNodeOtsPortIsPreparedForOps
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node OTS Port  interface group of
                        objects providing for management of Abstract Node
                        OTS Port entities."
        ::= { tnAbsNodeGroups 4 }

    tnAbsNodeIfGroupGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeIfGroupCentralFrequencyGranularity,
            tnAbsNodeIfGroupSlotWidthGranularity,
            tnAbsNodeIfGroupMinSlotWidth,
            tnAbsNodeIfGroupMaxSlotWidth,
            tnAbsNodeIfGroupMinChannel,
            tnAbsNodeIfGroupMaxChannel,
            tnAbsNodeIfGroupWssGranularity,
            tnAbsNodeIfGroupAdType
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node IF-Group interface group of
                        objects providing for management of Abstract Node
                        IF-Group entities."
        ::= { tnAbsNodeGroups 5 }

    tnAbsNodeOtLinePortGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeOtLinePortRemoteUplinkNodeAddress,
            tnAbsNodeOtLinePortRemoteUplinkPortIfId,
            tnAbsNodeOtLinePortPhysicalClientPortIfIds,
            tnAbsNodeOtLinePortLocalShelfId,
            tnAbsNodeOtLinePortIfGroupIfId,
            tnAbsNodeOtLinePortSubGroupIfId,
            tnAbsNodeOtLinePortIsOpsProtected,
            tnAbsNodeOtLinePortSpareIfGroupIfId,
            tnAbsNodeOtLinePortSpareSubGroupIfId,
            tnAbsNodeOtLinePortModType,
            tnAbsNodeOtLinePortAnalogBw,
            tnAbsNodeOtLinePortCompMode,
            tnAbsNodeOtLinePortFecTypes,
            tnAbsNodeOtLinePortServiceWidth,
            tnAbsNodeOtLinePortMinChannel,
            tnAbsNodeOtLinePortMaxChannel,
            tnAbsNodeOtLinePortChanStep,
            tnAbsNodeOtLinePortHas100GHzSubGroupWidth,
            tnAbsNodeOtLinePortIsFlexBwSupported,
            tnAbsNodeOtLinePort3RType,
            tnAbsNodeOtLinePortConnectedIfId,
            tnAbsNodeOtLinePort3RConnType,
            tnAbsNodeOtLinePortOpState,
            tnAbsNodeOtLinePortAddDropPort,
            tnAbsNodeOtLinePortAddDropSparePort,
            tnAbsNodeOtLinePortAddDropOpsPort,
            tnAbsNodeOtLinePortTransponderType,
            tnAbsNodeOtLinePortMinDropPower,
            tnAbsNodeOtLinePortSpareMinDropPower,
            tnAbsNodeOtLinePortIsr,
            tnAbsNodeOtLinePortSpareIsr,
            tnAbsNodeOtLinePortPhaseEncodeTypes,
            tnAbsNodeOtLinePortHasPhaseEncodeDep,
            tnAbsNodeOtLinePortSamePhaseEncodePortId
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node dataplane TE link interface group of
                        objects providing for management of Abstract Node TE
                        entities."
        ::= { tnAbsNodeGroups 6 }

    tnAbsNodeConnectivityGroup OBJECT-GROUP
        OBJECTS {
            tnAbsNodeConnectivityOpState
        }
        STATUS         current
        DESCRIPTION    "The Abstract Node connectivity group of
                        objects providing for management of Abstract Node
                        restricted connectivity entities."
        ::= { tnAbsNodeGroups 7 }

---------------------------------------------------------------------------
-- Compliance Statements (mandatory)
---------------------------------------------------------------------------
    tnAbsNodeCompliance MODULE-COMPLIANCE
        STATUS         current
        DESCRIPTION    "The compliance statement for SNMPv2 entities
                        which implement Abstract Node."
        MODULE
        MANDATORY-GROUPS {
            tnAbsNodeObjsGroup,
            tnAbsNodeSubnodeGroup,
            tnAbsNodeTeLinkGroup,
            tnAbsNodeOtsPortGroup,
            tnAbsNodeIfGroupGroup,
            tnAbsNodeOtLinePortGroup,
            tnAbsNodeConnectivityGroup
        }
        ::= { tnAbsNodeCompliances 1 }

END -- DEFINITION OF TROPIC-ABSNODE-MIB
