TLS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-IDENTITY,
 OBJECT-TYPE,
    NOTIFICATION-TYPE,
    IpAddress,
    Integer32,
    Counter32,
    Counter64
        FROM SNMPv2-SMI
    enterprises
        FROM RFC1155-SMI
    TEXTUAL-CONVENTION,
    DisplayString,
    MacAddress,
    RowStatus,
    TruthValue,
    TimeStamp,
    DateAndTime
        FROM SNMPv2-TC;


tls    MODULE-IDENTITY
       LAST-UPDATED    "200306200000Z"
       ORGANIZATION    "Nortel Networks"
       CONTACT-INFO    "Global Optical Customer Service
                        Tel:   1-800 (ASK-TRAN) or
                               1-800 (ASK-ETAS)"
       DESCRIPTION
           "Nortel Networks Transparent Lan Service (TLS) Enterprise MIB"
       REVISION "200101020000Z" -- 02 January 2001
       DESCRIPTION
           "v1:  The Initial Revision"
       REVISION "200105170000Z" -- 17 May 2001
       DESCRIPTION
           "v2:  Updates by Manjiri Gadagkar based on
               'TLS and OPE MIBs Restructuring'
                  (May 09 2001, Harpreet Singh Gill)
               'Updated TLS and Qos MIB'
                  (May May 17 2001, Gerald Smallegange)
               'tls mib v1.9'
                 (May 23 2001, Harpreet Singh Gill)
               1. tls = nortel.62
               2. Reverted TlsIfEntry SEQUENCE to match tls_mibs.aa01.txt
                  (Moved tlsIfIpAddress, tlsIfSubnetMask, tlsIfDefaultGateway,
                   tlsIfUnknownTD, tlsIfDestPhysAddress, tlsIfDestPhysPort to
                   their original positions and tlsIfDefaultPriority to the end)
               3. Added tlsIfPolicingState, tlsIfQueueNumber
               4. Reverted TlsTDEntry SEQUENCE to match tls_mibs.aa01.txt
                  (Added tlsTDUNIIndex, tlsTDFlushEnabled, tlsTDFlushDelayTimer,
                  tlsTDPriorityMap)
               5. Reverted TlsTDIfEntry SEQUENCE to match tls_mibs.aa01.txt
                  (Moved tlsTDIfRowStatus to its original position, moved
                  tlsTDIfPriorityMap to the end.)
               6. Changed tlsTDIfPriorityMap to tlsTDIfL2ToTDPriorityMap
               7. Added tlsTDIfEnabled.
               8. Reverted igmpMCastStats* description from 'TD' to 'multicast
                  address group' as per tls_mibs.aa01.txt
               9. Added tlsIgmpRobustness and tlsIgmpUnsolicitedReportInt
              10. tlsBucket: rpr.5 -> tls.5;  tlsFDB: rpr.6 -> tls.6
              11. Added tlsIfQueueNumber."
       REVISION "200105250000Z" -- 25 May 2001
       DESCRIPTION
           "v3:  Updates by Harpreet Singh Gill
               1. Converting to SMIv2 based on David Levi's input and RFC2576
                    - added IMPORTS OBJECT-IDENTITY FROM SNMPv2-SMI
                    - change OBJECT-TYPE IMPORT from RFC-1212 to SNMPv2-SMI
                    - added IMPORTS TEXTUAL-CONVENTION FROM SNMPv2-TC
                    - changed INTEGER to Integer32
                    - changed ACCESS to MAX-ACCESS
                    - changed STATUS of 'mandatory' to 'current'
                    - added IMPORTS NOTIFICATION-TYPE FROM SNMPv2-SMI
                    - changed TRAP-TYPE to NOTIFICATION-TYPE
                    - added notifications group tlsNotifications
               2. Changed IPTBucketEntry to tlsBucketEntry
               3. Renamed tlsBucketIndex to tlsBucketIfIndex
               4. Renamed tlsBucketIndex2 to tlsBucketTDIndex
               5. Added tlsQoS
               6. Added tlsFDB group
               7. tlsIftypes of p2p, tls-ip-nni and ipt-ring-local renamed to
                  unused (1,2,3 resp.)
               8. tlsIfDestPhysAddress and tlsIfDestPhysPort deprecated
               9. tlsIfMode of reconfig renamed to unused
              10. tlsTDIfStatsTBFrameDiscards and tlsTDIfStatsTBByteDiscards
                  added
              11. Redefined token bucket table in tlsQoS group (deleted some
                  objects)
              12. Added tlsIfStatsTable"
       REVISION "200106290000Z" -- 29 June 2001
       DESCRIPTION
           "v4:  Updates by Harpreet Singh Gill
               1. Removed the tlsBucket group. OIDs for tlsFDB and tlsQoS change
               2. Added tlsFdbAgingTime to the tlsFdb group"
       REVISION "200108020000Z" -- 02 August 2001
       DESCRIPTION
           "v5:  Updates by Harpreet Singh Gill
               1. New group for holding data not defined elsewhere and
                  only needed for SNMP notifications (tlsNotificationObjects).
               2. Added following new traps:
                    - tlsTDStateChanged
                          notification that a TD's state has changed
                    - tlsCraftPortDisabled
                          notification that a craft port has been disabled
                    - tlsIpAddrConflict
                          notification that the just assigned IP exists
                          somewhere else in the tls network.
               3. tlsIfTDStateChangeNotifEnabled: enable or disable sending
                  notification of change in TD State (tlsTDStateChanged)"
       REVISION "200109070000Z" -- 07 September 2001
       DESCRIPTION
           "v6:  Updates by Harpreet Singh Gill
               1. Added tlsNotificationConfig group to hold booleans
                  for TLS notifications to be enabled/disabled
               2. Added a boolean tlsIPAddressConflictEnabled to
                  enable/disable the IP address conflict trap
               3. Added a variable to the tlsIpAddrConflict notification
               4. Updates description of tlsTDStateChanged notification"
       REVISION "200201090000Z" -- 09 January 2002
       DESCRIPTION
           "v7:  Updates by Harpreet Singh Gill
               1. tlsTest and TD Connectivity MIB Group (tlsTestTdc)
                      - tlsTestTdcTable : provisioning info and test results
                      - tlsTestTdcTraceTable : trace results
               2. Renamed tlsConflictingMac to tlsRemoteConflictingMac, also
                  added tlsConflictingIp to the IP address conflict trap data.
                  Also updated description of the ip address conflict trap.
               3. Changed description for tlsCraftPortDisabledTrap
               4. Added tlsNNITDIf group for nni mapping and filtering
                      - added a local define tlsDataTDId
               5. Changes to tlsIfTable
                      - tlsIfCustomerFramesTag is now tlsIfCustDefaultFramesTag
                      - increased range for cust-def and mgmt qtags to 4096
                      - tlsIfEntry now includes tlsIfCustDefaultFramesTagFilter
                      - added 2 new counters: tlsIfReconfMismatchEgress and
                        tlsIfReconfMismatchIngress
               6. tlsTDIfConnectivity added to tlsTDIf group: Pt-pt stuff
               7. Removed 'misconfig' from tlsFdbEntryType
               8. New tlsSystem group added
                      - tlsSysSubnettingRulesEnabled added tlsSystem group"
       REVISION "200204300000Z" -- 30 April 2002
       DESCRIPTION
           "v8:  Updates by Harpreet Singh Gill
               1. Redefining syntax for the following as per David Levi's
                  comments:
                       tlsTestTdcSrcPortNum - Integer32
                       tlsTestTdcDstPortNum - Integer32
                       tlsTestTdcPriOpePkt - TlsPriorityMap
                       tlsTestTracePortOut - Integer32
                       tlsTestTracePortIn - Integer32
                       tlsNNITDIfIndex - Integer32
               2. Redefining the range for tlsFdbFormat and
                  tlsFdbMaximumCapability
               3. Adding error code descriptions for tlsTestTdcErrorMask"
       REVISION "200208160000Z" -- 16 August 2002
       DESCRIPTION
           "v9:  Updates by Harpreet Singh Gill
               1. Added the new tlsTrunkGroup
               2. Introduced the TlsIfType Textual Convention
               3. Changed the range of tlsNNITDIfTagValue to 1..4096 from
                  0..4096"
       REVISION "200209100000Z" -- 10 September 2002
       DESCRIPTION
           "v10: Updates by David Levi and Harpreet
               1.  Added TlsDscpPriorityMap Textual Convention.
               2.  Added new stats counters to tlsIfStatsTable:
                      tlsIfStatsUCastMACOctetsOut
                      tlsIfStatsMCastMACOctetsOut
               3.  Added tlsTDIfDSCPToTDPriorityMap to tlsTDIfTable, provides
                   mapping from end-user DSCP values to carrier 802.1p values.
               4.  Added new stats counters to tlsTDIfStatsTable:
                      tlsTDIfStatsUCastMACOctetsIn
                      tlsTDIfStatsUCastMACOctetsOut
                      tlsTDIfStatsMCastMACOctetsIn
                      tlsTDIfStatsMCastMACOctetsOut
                      tlsTDIfStatsBCastMACOctetsIn
                      tlsTDIfStatsBCastMACOctetsOut
               5.  Added tlsExtendQoSBucketTable for policing per 802.1p value.
               6.  Changed tls trunk group MIB value's names:
                      tlsTrunkGroupOperState: disabled (3) to error (3)
                      tlsTrunkGroupGroupType: split(1) to dmlt(1)."
       REVISION "200210110000Z" -- 11 October 2002
       DESCRIPTION
           "v11: Updates by David Levi and Mike Palgon
               1. Added tlsIfStatsHCUnknownTD counter, 64-bit version of
                  tlsIfStatsUnknownTD.
               2. Added tlsTDIfUseTDPriorityMap object, to select which mapping
                  to TD priority is used for end-user ingress packets.
               3. Added bySomeCoSEnabled enumeration to tlsIfPolicingState
                  object, along with change to DESCRIPTION mentioning that the
                  object's value affects the existing rows in the
                  tlsExtendQoSBucketTable.
               4. Changes to DESCRIPTION of tlsExtendQoSBucketTable to describe
                  what rows should exist for particular values of tlsIfType and
                  tlsIfPolicingState.
               5. Added new objects to tlsTestTDCTable: tlsTestTdcErrorBitMask
                  to tlsTestTdcCurrentPeriodicCount
               6. Added new table to collect history information for TDC:
                       tlsTestTdcHistoryTable
               7. Added tlsTestTdcErrorBitType Textual Convention."
       REVISION "200211080000Z" -- 08 November 2002
       DESCRIPTION
           "v12: Updates by David Levi
               1. Cleaned up typos to make it compile"
       REVISION "200211110000Z" -- 11 November 2002
       DESCRIPTION
           "v13: Updates by David Levi
               1. Added additional bits to TlsTestTdcErrorBitType"
       REVISION "200211250000Z" -- 25 November 2002
       DESCRIPTION
           "v14: Updates by David Levi
               1. Added byGroupOfUniEnabled enumeration to tlsIfPolicingType
               2. Added tlsExtendQoSBucketSharedPort to tlsExtendQoSBucketTable"
       REVISION "200211250000Z" -- 25 November 2002
       DESCRIPTION
           "v15: Updates by David Levi
               1. Added tlsIfDiscontinuityTime to tlsIfTable.
               2. Added tlsTDIfDiscontinuityTime to tlsTDIfTable."
       REVISION "200301140000Z" -- 14 January 2003
       DESCRIPTION
           "v16: Updates by David Levi
               1. Removed tlsTestTdcRepeatCnt, this object has never been in
                  an official release, and so it is safe to simply remove it.
               2. Changed range of tlsTestTdcPeriodCount to 0..1440, the value
                  -1 is no longer allowed.  This object has never been in an
                  official release, so this change is safe."
       REVISION "200301160000Z" -- 16 January 2003
       DESCRIPTION
           "v17: Updates by David Levi
               1. Moved tlsTestTdcHistoryTable and related scalar objects down
                  into tlsTestTdcHistory branch, this gives better organization
                  of the MIB's structure (and also resolves a MIB compiler
                  incompatibility with the old structure).  This table and these
                  objects have never been in an official release, and so it is
                  safe to move them."
       REVISION "200301310000Z" -- 31 January 2003
       DESCRIPTION
           "v18: Updates by David Levi
               1. Added DateAndTime to IMPORTS."
       REVISION "200302070000Z" -- 7 February 2003
       DESCRIPTION
           "v19: Updates by David Levi
               1. Cleaned up formatting throughout the document.
               2. Fixed DESCRIPTION of tlsTestTdcRttThreshold
               3. Added tlsTestTdcTestFailure notification type
               4. Added tlsTestTdcRttThresholdExceeded notification type"
       REVISION "200302120000Z" -- 12 February 2003
       DESCRIPTION
           "v20: Updates by David Levi
               1. Fixes to DESCRIPTION of tlsExtendQoSBucketTable."
       REVISION "200306200000Z" -- 20 June 2003
       DESCRIPTION
           "v21: Updates by David Levi
               1. Added objects to the tlsTestTdcHistoryTable:
                       tlsTestTdcHistorySrcPortNum
                       tlsTestTdcHistoryDstPortNum
                       tlsTestTdcHistoryPktPriority
                       tlsTestTdcHistoryPriOpePkt"
       ::= { enterprises nortel(562) 62 }

-- Local definitions here.

tlsNotifications OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "Registration point for TLS notifications."
       ::= { tls 0 }

tlsIf                  OBJECT IDENTIFIER ::= { tls 1 }
tlsTD                  OBJECT IDENTIFIER ::= { tls 2 }
tlsTDIf                OBJECT IDENTIFIER ::= { tls 3 }
tlsIgmp                OBJECT IDENTIFIER ::= { tls 4 }
tlsFdb                 OBJECT IDENTIFIER ::= { tls 5 }
tlsQoS                 OBJECT IDENTIFIER ::= { tls 6 }
tlsNotificationObjects OBJECT IDENTIFIER ::= { tls 7 }
tlsNotificationConfig  OBJECT IDENTIFIER ::= { tls 8 }
tlsTest                OBJECT IDENTIFIER ::= { tls 9 }
tlsSystem              OBJECT IDENTIFIER ::= { tls 10 }
tlsNNITDIf             OBJECT IDENTIFIER ::= { tls 11 }
tlsTrunkGroup          OBJECT IDENTIFIER ::= { tls 12 }


--
-- Local defines for clarity
--
TlsPriorityMap ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "1d:1d:1d:1d:1d:1d:1d:1d"
        STATUS       current
        DESCRIPTION  "A mapping of L2 priority values to Optical Ethernet
                      class-of-service values."
        SYNTAX       OCTET STRING (SIZE (8))

TlsTDId ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "x"
        STATUS       current
        DESCRIPTION  "A transparent domain identifier, or TDI.  This is
                      a 24-bit value (carried in a 32-bit integer)."
        SYNTAX       Integer32 (1..'FFFFFF'H)

TlsDataTDId ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "x"
        STATUS       current
        DESCRIPTION  "A transparent domain identifier, or TDI used only
                      for data traffic.  This is a 24-bit value (carried
                      in a 32-bit integer)."
        SYNTAX       Integer32 (100..'FFFFFF'H)

TlsIfType ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Indicates the OPE Ethernet port type that can be
                      provisioned by the customer."
        SYNTAX       INTEGER {
                         transparent(1),
                         p2p(2),
                         mapped(3),
                         tls-nni(4),
                         tls-ip-nni(5),
                         ipt-ring-local(6),
                         craft (7)
                     }

TlsTrunkGroupId ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION  "Indicates the trunk group id range."
        SYNTAX       INTEGER (1..64)
        
TlsTrunkGroupOperState ::= TEXTUAL-CONVENTION
         STATUS       current
         DESCRIPTION  "Indicates the trunk group state."
         SYNTAX       INTEGER {
                          up(1),
                          down(2),
                          error(3),
                          unknown(4)
                      }

TlsDscpPriorityMap ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "1d:"
        STATUS       current
        DESCRIPTION  "A mapping of DSCP values to Optical Ethernet
                      class-of-service 802.1p values."
        SYNTAX       OCTET STRING (SIZE (64))

TlsTestTdcErrorBitType ::= TEXTUAL-CONVENTION
        STATUS        current
        DESCRIPTION
            "The error mask associated with the TDC test. Each bit
             in the mask represents a specific error. The errors
             from least significant bit to highest significant bit are:
                bit  1 - TD nonexistent on destination port
                bit  2 - TD disabled on destination port
                bit  3 - TD not assigned to destination port
                bit  4 - TD filtered on destination NNI port
                bit  5 - destination port is NNI
                bit  6 - destination port is craft
                bit  7 - destination FDB test failed
                bit  8 - destination administrative state down
                bit  9 - destination operational state down
                bit 10 - destination port connectivity mismatch error
                bit 11 - destination port type mismatch
                bit 12 - destination port mode mismatch error
                bit 13 - destination MIB query failed
                bit 14 - destination system error
                bit 15 - invalid destination port
                bit 16 - destination port is CPU
                bit 17 - destination port mode mismatch warning
                bit 18 - destination port connectivity mismatch warning
                bit 19 - default priority used on destination
                bit 20 - IP not assigned on destination oel2 port
                bit 21 - static entry exists on destination port
                bit 22 - destination FDB table full warning
                bit 33 - TD nonexistent on source port
                bit 34 - TD not assigned to source port
                bit 35 - source FDB test failed
                bit 36 - source administrative state down
                bit 37 - source operational state down
                bit 38 - source system error
                bit 39 - no response
                bit 40 - could not get trace information
                bit 41 - could not get time information
                bit 42 - source MIB query failed
                bit 43 - TD disabled on source port
                bit 44 - invalid source port
                bit 45 - all ports down on the source node
                bit 46 - unknown error
                bit 47 - source FDB test failed
                bit 48 - static entry exists on source port
                bit 49 - no FDB entry for destination MAC, unicast aborted 
                bit 50 - RTT threshold exceeded.
                bit 51 - test in progress
                bit 52 - TDI out of range
                bit 53 - priority value out of range
                bit 54 - destination port out of range
                bit 55 - time and trace options are mutually exclusive
                bit 56 - invalid test id
                bit 57 - invalid test name
                bit 58 - source IP invalid
                bit 59 - priority value required for given TDI
                bit 60 - maximum configs reached
                bit 61 - test name already exists
                bit 62 - multicast count out of range
                bit 63 - unicast count out of range
                bit 64 - repeat value out of range
                bit 65 - period out of range
                bit 66 - periodic count out of range
                bit 67 - history value out of range
                bit 68 - RTT threshold out of range
                bit 69 - test cannot be run periodically
                            (periodic parameters unspecified)
                bit 70 - multicast-only and unicast-only are mutually exclusive"
        SYNTAX       BITS {
                          unused0(0),
                          bit1(1),
                          bit2(2),
                          bit3(3),
                          bit4(4),
                          bit5(5),
                          bit6(6),
                          bit7(7),
                          bit8(8),
                          bit9(9),
                          bit10(10),
                          bit11(11),
                          bit12(12),
                          bit13(13),
                          bit14(14),
                          bit15(15),
                          bit16(16),
                          bit17(17),
                          bit18(18),
                          bit19(19),
                          bit20(20),
                          bit21(21),
                          bit22(22),
                          unused23(23),
                          unused24(24),
                          unused25(25),
                          unused26(26),
                          unused27(27),
                          unused28(28),
                          unused29(29),
                          unused30(30),
                          unused31(31),
                          unused32(32),
                          bit33(33),
                          bit34(34),
                          bit35(35),
                          bit36(36),
                          bit37(37),
                          bit38(38),
                          bit39(39),
                          bit40(40),
                          bit41(41),
                          bit42(42),
                          bit43(43),
                          bit44(44),
                          bit45(45),
                          bit46(46),
                          bit47(47),
                          bit48(48),
                          bit49(49),
                          bit50(50),
                          bit51(51),
                          bit52(52),
                          bit53(53),
                          bit54(54),
                          bit55(55),
                          bit56(56),
                          bit57(57),
                          bit58(58),
                          bit59(59),
                          bit60(60),
                          bit61(61),
                          bit62(62),
                          bit63(63),
                          bit64(64),
                          bit65(65),
                          bit66(66),
                          bit67(67),
                          bit68(68),
                          bit69(69),
                          bit70(70)
                        }

-- TLS If Table

tlsIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a collection of
                     TLS capable interfaces attached to a particular
                     system."
        ::= { tlsIf 1 }

tlsIfEntry OBJECT-TYPE
        SYNTAX      TlsIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a particular TLS
                     capable interface."
        INDEX       { tlsIfIndex }
        ::= { tlsIfTable 1 }

TlsIfEntry ::=
        SEQUENCE {
            tlsIfIndex                      Integer32,
            tlsIfType                       TlsIfType,
            tlsIfDestPhysAddress            MacAddress,
            tlsIfDestPhysPort               Integer32,
            tlsIfUnknownTD                  Counter32,
            tlsIfCustDefaultFramesTag       INTEGER,
            tlsIfMgmtFramesTag              INTEGER,
            tlsIfIpAddress                  IpAddress,
            tlsIfDefaultGateway             IpAddress,
            tlsIfMode                       INTEGER,
            tlsIfAction                     INTEGER,
            tlsIfResult                     INTEGER,
            tlsIfSubnetMask                 IpAddress,
            tlsIfDefaultPriority            INTEGER (0..7),    
            tlsIfPolicingState              INTEGER,  
            tlsIfQueueNumber                INTEGER,
            tlsIfTDStateChangeNotifEnabled  TruthValue,
            tlsIfCustDefaultFramesTagFilter TruthValue,
            tlsIfReconfMismatchEgress       Counter32, 
            tlsIfReconfMismatchIngress      Counter32,
            tlsIfCounterDiscontinuityTime   TimeStamp 
        }

tlsIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies a TLS
                     capable interface.  The interface identified by
                     a particular value of this index is the same
                     interface as identified by the same value of
                     ifIndex."
        ::= { tlsIfEntry 1 }

tlsIfType OBJECT-TYPE
        SYNTAX      TlsIfType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Identifies the service type being provided
                     on this interface."
        DEFVAL      { transparent }
        ::= { tlsIfEntry 2 }

tlsIfDestPhysAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "Physical address of the remote iPT node to
                     which all packets will be forwarded.  This
                     attribute applies only to TLS interfaces of
                     type p2p (point to point)."
        ::= { tlsIfEntry 3 }

tlsIfDestPhysPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "Port number on the remote iPT node to which
                     all packets will be forwarded.  This attribute
                     applies only to TLS interfaces of type p2p
                     (point to point)."
        ::= { tlsIfEntry 4 }

tlsIfUnknownTD OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION "The number of ingress MAC frames discarded
                     because they could not be classified into a TD.
                     This attribute applies only to TLS interfaces
                     of type Mapped or Transparent modes."
        ::= { tlsIfEntry 5 }

tlsIfCustDefaultFramesTag OBJECT-TYPE

        SYNTAX      INTEGER (1..4096)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In order to allow non-TLS equipment
                     (bridges, routers,etc) to separate Customer frames
                     from Management/Control Frames, NNI ports will tag
                     every customer frame exiting the NNI (at egress) with
                     this 802.1q tag. This attribute only applies to
                     interfaces with a TLS interface type of tls-nni.
                         1-4094 = 802.1Q Tagged Frames
                         4095   = unused and disallowed
                         4096   = Untagged Frame"
        ::= { tlsIfEntry 6 }

tlsIfMgmtFramesTag OBJECT-TYPE

        SYNTAX      INTEGER (1..4096)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "In order to allow non-TLS equipment
                     (bridges, routers,etc) to separate Management frames
                     from Customer Frames, NNI ports will tag
                     every Management frame exiting the NNI (at egress) with
                     this 802.1q tag. This attribute only applies to
                     interfaces with a TLS interface type of tls-nni.
                         1-4094 = 802.1Q Tagged Frames
                         4095   = unused and disallowed
                         4096   = Untagged Frame"
        ::= { tlsIfEntry 7 }

tlsIfIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IP address of this interface"
        ::= { tlsIfEntry 8 }

tlsIfDefaultGateway OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The default gateway address of this interface"
        ::= { tlsIfEntry 9 }


tlsIfMode OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        tls-l2(2),
                        unused(3),
                        oel2(4)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The mode of this interface"
        ::= { tlsIfEntry 10 }

tlsIfAction OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1), -- none of these
                        arp(2),  -- issue an ARP
                        arpFlush(3) -- flush the ARP cache
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Initiate an action pertaining to a port.  ie, ARP."
        DEFVAL      { none }
        ::= { tlsIfEntry 11 }

tlsIfResult OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1), -- none of these
                        inProgress(2), -- action still in progress
                        success(3), -- action successful
                        fail(4) -- action failed
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Result from the last If action"
        DEFVAL      { none }
        ::= { tlsIfEntry 12 }

tlsIfSubnetMask OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The subnet mask for the UNI port.  Currently,
                     this is simply a mirror of the CPU subnet
                     mask and thus is read-only.  Future releases
                     might include multi-subnetting and hence might
                     change this to read-write."
        ::= { tlsIfEntry 13 }

tlsIfDefaultPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The 802.1P priority to be assigned to incident frames 
                     having no such priority of their own."
        ::= { tlsIfEntry 14 }

tlsIfPolicingState OBJECT-TYPE
        SYNTAX      INTEGER {
                        disabled(1),
                        byPortEnabled(2),
                        byAllTDEnabled(3),
                        bySomeTDEnabled(4),
                        bySomeCoSEnabled(5),
                        byGroupOfUniEnabled(6)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The state of policing on this interface.  The value of
                     this object will determine which rows exist in the
                     tlsExtendQoSBucketTable, as described in the
                     descriptions for that table."
        ::= { tlsIfEntry 15 }

tlsIfQueueNumber OBJECT-TYPE
        SYNTAX      INTEGER (1..8)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of (scheduler) queues supported on 
                     this interface."
        ::= { tlsIfEntry 16 }

tlsIfTDStateChangeNotifEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Boolean value indicating whether the tlsTDStateChanged
                     Notification is enabled for this port."
        ::= { tlsIfEntry 17 }

tlsIfCustDefaultFramesTagFilter OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicate whether the default customer Qtag on this
                     port is filtered (dropped) on egress and Ingress.
                     This value will be set to true for filtered and
                     false if not filtered."
        ::= { tlsIfEntry 18 }

tlsIfReconfMismatchEgress OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The nubmer of packets received where the cpu port 
                     mode is not matched with the source port's capability 
                     (as shown in the FDB)" 
        ::= { tlsIfEntry 19 }

tlsIfReconfMismatchIngress OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The nubmer of packets sent where the cpu port 
                     mode is not matched with the destination port's 
                     capability (as shown in the FDB)"
        ::= { tlsIfEntry 20 }

tlsIfCounterDiscontinuityTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of sysUpTime on the most recent occasion
                     at which any of the counters in the associated entry
                     in the tlsIfStatsTable suffered a discontinuity."
        ::= { tlsIfEntry 21 }
 
-- TLS If Stats Table

tlsIfStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsIfStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Statistical information for a collection of
                     TLS capable interfaces attached to a particular
                     system."
        ::= { tlsIf 2 }

tlsIfStatsEntry OBJECT-TYPE
        SYNTAX      TlsIfStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a particular TLS
                     capable interface."
        INDEX       { tlsIfStatsIfIndex }
        ::= { tlsIfStatsTable 1 }

TlsIfStatsEntry ::=
        SEQUENCE {
            tlsIfStatsIfIndex                    Integer32,
            tlsIfStatsUnknownTD                  Counter32,
            tlsIfStatsTBFrameDiscards            Counter32,
            tlsIfStatsTBByteDiscards             Counter64,
            tlsIfStatsPauseFramesTransmitted     Counter32,
            tlsIfStatsUCastMACOctetsOut          Counter64,
            tlsIfStatsMCastMACOctetsOut          Counter64,
            tlsIfStatsHCUnknownTD                Counter64
        }

tlsIfStatsIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies an TLS
                     capable interface.  The interface identified by
                     a particular value of this index is the same
                     interface as identified by the same value of
                     ifIndex."
        ::= { tlsIfStatsEntry 1 }

tlsIfStatsUnknownTD OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION "The number of ingress MAC frames discarded
                     because they could not be classified into a TD.
                     This attribute applies only to TLS interfaces
                     of type Mapped or Transparent modes.  This object
                     has been replaced by a 64-bit version,
                     tlsIfStatsHCUnknownTD."
        ::= { tlsIfStatsEntry 2 }

tlsIfStatsTBFrameDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of frames discarded due to a lack of tokens.
                     If this counter is increasing, the device connected
                     to this port is sending data in excess of the provisioned
                     rate."
        ::= { tlsIfStatsEntry 3 }

tlsIfStatsTBByteDiscards OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of bytes discarded due to a lack of tokens.
                     If this counter is increasing, the device connected
                     to this port is sending data in excess of the
                     provisioned rate."
        ::= { tlsIfStatsEntry 4 }

tlsIfStatsPauseFramesTransmitted OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This counter provides the number of pause frames 
                     transmitted."
        ::= { tlsIfStatsEntry 5 }

tlsIfStatsUCastMACOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in unicast MAC frames egressed
                     on this port."
        ::= { tlsIfStatsEntry 6 }

tlsIfStatsMCastMACOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in multicast MAC frames egressed
                     on this port."
        ::= { tlsIfStatsEntry 7 }

tlsIfStatsHCUnknownTD OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of ingress MAC frames discarded
                     because they could not be classified into a TD.
                     This attribute applies only to TLS interfaces
                     of type Mapped or Transparent modes."
        ::= { tlsIfStatsEntry 8 }


-- Transparent Domain (TD) table

tlsTDTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTDEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a collection of
                     Transparent Domains relevant at this system."
        ::= { tlsTD 1 }

tlsTDEntry OBJECT-TYPE
        SYNTAX      TlsTDEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a particular
                     Transparent Domain on this system."
        INDEX       { tlsTDId }
        ::= { tlsTDTable 1 }

TlsTDEntry ::=
        SEQUENCE {
            tlsTDId                         TlsTDId,
            tlsTDName                       DisplayString,
            tlsTDUNIIndex                   Integer32,
            tlsTDMCastAddr                  IpAddress,
            tlsTDFlushEnabled               TruthValue,
            tlsTDFlushDelayTimer            Integer32,
            tlsTDPriorityMap                TlsPriorityMap,
            tlsTDRowStatus                  RowStatus
        }

tlsTDId OBJECT-TYPE
        SYNTAX      TlsTDId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A network wide identifier for a particular
                     Transparent Domain."
        ::= { tlsTDEntry 1 }

tlsTDName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..63))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A text string providing further information about
                     the registrant/owner of a particular Transparent
                     Domain."
        DEFVAL      { "none" }
        ::= { tlsTDEntry 2 }
        
tlsTDUNIIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "Index of the TLS/IP UNI table entry which is to
                     be used by this TD when communicating in the TLS/IP
                     network.  A value of zero indicates that only TLS/L2
                     en/decapsulation will be done for this TD."
        ::= { tlsTDEntry 3 }

tlsTDMCastAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "An IP multicast address which is to be used by this
                     TD for flooding on th TLS/IP network.  This attribute
                     is only relevant for TDs which are associated with a
                     TLS/IP UNI.  A value of 0.0.0.0 should be reported
                     for TDs which are not associated with a
                     TLS/IP UNI."
        ::= { tlsTDEntry 4 }

tlsTDFlushEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "Boolean value indicating whether the TLS Flush
                     protocol is enabled for this TD.  This protocol
                     can only be enabled on TDs which are running full
                     TLS/IP, and must be disabled otherwise."
        ::= { tlsTDEntry 5 }

tlsTDFlushDelayTimer OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "The maximum delay in seconds before IP unicasting
                     to a newly learned MAC destination.  This is
                     only valid if the TLS Flush protocol is enabled."
        ::= { tlsTDEntry 6 }

tlsTDPriorityMap OBJECT-TYPE
        SYNTAX      TlsPriorityMap
        MAX-ACCESS  read-write
        STATUS      deprecated
        DESCRIPTION "Maps 802.1p priorities (0-7) to Optical Ethernet 
                     class-of-service (COS) values (0-7) for packets across 
                     a UNI. The first bytes represent the COS for 802.1p 
                     priority of 0. Subsequent bytes represent the mappings
                     of the remaining 802.1p priorities."
        DEFVAL      { "00:01:02:02:03:03:05:05" }
        ::= { tlsTDEntry 7 }

tlsTDRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry."
        ::= { tlsTDEntry 8 }


-- Transparent Domain Interface (TDIf) Table

tlsTDIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTDIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioned mappings (or classification functions)
                     between {ifIndex, Tag Value} : tlsTDId."
        ::= { tlsTDIf 1 }

tlsTDIfEntry OBJECT-TYPE
        SYNTAX      TlsTDIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Mapping from a particular {ifIndex, Tag Value} pair
                     to a Transparent Domain."
        INDEX       { tlsTDIfIndex, tlsTDIfTagValue }
        ::= { tlsTDIfTable 1 }

TlsTDIfEntry ::=
        SEQUENCE {
            tlsTDIfIndex                    Integer32,
            tlsTDIfTagValue                 INTEGER,
            tlsTDIfTDIndex                  TlsTDId,
            tlsTDIfRowStatus                RowStatus,
            tlsTDIfL2ToTDPriorityMap        TlsPriorityMap,
            tlsTDIfEnabled                  TruthValue,
            tlsTDIfConnectivity             INTEGER,
            tlsTDIfDSCPToTDPriorityMap      TlsDscpPriorityMap,
            tlsTDIfUseTDPriorityMap         INTEGER,
            tlsTDIfCounterDiscontinuityTime TimeStamp
        }

tlsTDIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the ifIndex object,
                     defined in MIB-II, over which this mapping is
                     valid."
        ::= { tlsTDIfEntry 1 }

tlsTDIfTagValue OBJECT-TYPE
        SYNTAX      INTEGER (0..4097)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Tag Value for which this mapping is valid.
                         0-4095 = 802.1Q Tagged Frames
                         4096   = Untagged Frame
                         4097   = Transparent"
        ::= { tlsTDIfEntry 2 }

tlsTDIfTDIndex OBJECT-TYPE
        SYNTAX      TlsTDId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Transparent Domain in which to classify frames
                     matching the key for this table entry."
        ::= { tlsTDIfEntry 3 }

tlsTDIfRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry."
        ::= { tlsTDIfEntry 4 }

tlsTDIfL2ToTDPriorityMap OBJECT-TYPE
        SYNTAX      TlsPriorityMap
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Maps 802.1p priorities (0-7) to Optical Ethernet 
                     class-of-service (COS) values (0-7) for packets 
                     across a UNI. The first bytes represent the COS for
                     802.1p priority of 0. Subsequent bytes represent the 
                     mappings of the remaining 802.1p priorities."
        DEFVAL      { "00:01:02:03:04:05:05:05" }
        ::= { tlsTDIfEntry 5 }

tlsTDIfEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicate whether service has been activated on this TD."
        DEFVAL      { false }
        ::= { tlsTDIfEntry 6 }

tlsTDIfConnectivity OBJECT-TYPE
        SYNTAX      INTEGER {
                        hub(1),
                        spoke(2),
                        pt-pt(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The TD connectivity type."
        DEFVAL      { hub }
        ::= { tlsTDIfEntry 7 }
        
tlsTDIfDSCPToTDPriorityMap OBJECT-TYPE
        SYNTAX      TlsDscpPriorityMap
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Maps DSCP (64) to service provider 802.1p (8) for
                     packets across a UNI. The first byte represents the
                     Optical Ethernet class-of-service (CoS) value for
                     DSCP 0.  Subsequent bytes represent the Optical
                     Ethernet class-of-service (CoS) values for DSCP 1-63.
                     Default value is all 0 bytes."
        ::= { tlsTDIfEntry 8 }

tlsTDIfUseTDPriorityMap OBJECT-TYPE
        SYNTAX      INTEGER {
                        l2(1),
                        dscp(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object indicates which mapping to TD priority
                     values is used for end-user ingress packets.  A value
                     of l2(1) means the 802.1p to TD priority mapping in
                     the associated value of tlsTDIfL2ToTDPriorityMap is
                     used.  A value of dscp(2) means the DSCP to TD
                     priority mapping in the associated value of
                     tlsTDIfDSCPToTDPriorityMap is used."
        DEFVAL       { l2 }
        ::= { tlsTDIfEntry 9 }

tlsTDIfCounterDiscontinuityTime OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of sysUpTime on the most recent occasion
                     at which any of the counters in the associated entry
                     in the tlsTDIfStatsTable suffered a discontinuity."
        ::= { tlsTDIfEntry 10 }
                                
-- Transparent Domain Statistics Table Per Interface
--
-- Implementation of the tlsTDIfStatsTable is optional.  It is implemented
-- by those TLS devices which are capable of capturing these stats for
-- each Transparent Domain per Port.

tlsTDIfStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTDIfStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Statistics about the operation of Transparent 
                     Domains per Port."
        ::= { tlsTDIf 2 }

tlsTDIfStatsEntry OBJECT-TYPE
        SYNTAX      TlsTDIfStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Statistics about the operation of a particular
                     Transparent Domain of a particular port."
        INDEX       { tlsTDIfStatsIfIndex, tlsTDIfStatsTDIndex }
        ::= { tlsTDIfStatsTable 1 }

TlsTDIfStatsEntry ::=
        SEQUENCE {
            tlsTDIfStatsIfIndex               Integer32,
            tlsTDIfStatsTDIndex               TlsTDId,
            tlsTDIfStatsUCastMACIn            Counter32,
            tlsTDIfStatsUCastMACOut           Counter32,
            tlsTDIfStatsUCastMACInUnknownDest Counter32,
            tlsTDIfStatsMCastMACIn            Counter32,
            tlsTDIfStatsMCastMACOut           Counter32,
            tlsTDIfStatsBCastMACIn            Counter32,
            tlsTDIfStatsBCastMACOut           Counter32,
            tlsTDIfStatsOctetsIn              Counter64,
            tlsTDIfStatsOctetsOut             Counter64,
            tlsTDIfStatsTBFrameDiscards       Counter32,
            tlsTDIfStatsTBOctetsDiscards      Counter64,
            tlsTDIfStatsUCastMACOctetsIn      Counter64,
            tlsTDIfStatsUCastMACOctetsOut     Counter64,
            tlsTDIfStatsMCastMACOctetsIn      Counter64,
            tlsTDIfStatsMCastMACOctetsOut     Counter64,
            tlsTDIfStatsBCastMACOctetsIn      Counter64,
            tlsTDIfStatsBCastMACOctetsOut     Counter64
        }

tlsTDIfStatsIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the ifIndex object,
                     defined in MIB-II, over which this mapping is
                     valid."
        ::= { tlsTDIfStatsEntry 1 }

tlsTDIfStatsTDIndex OBJECT-TYPE
        SYNTAX      TlsTDId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the tlsTDId object for
                     the Transparent Domain for which these stats are
                     collected."
        ::= { tlsTDIfStatsEntry 2 }

tlsTDIfStatsUCastMACIn OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of unicast MAC frames ingressed on this TD."
        ::= { tlsTDIfStatsEntry 3 }

tlsTDIfStatsUCastMACOut OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of unicast MAC frames egressed on this TD."
        ::= { tlsTDIfStatsEntry 4 }

tlsTDIfStatsUCastMACInUnknownDest OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of unicast MAC frames which arrived at ingress
                     for which the MAC destination address (DA) was not
                     found in the FDB for this TD."
        ::= { tlsTDIfStatsEntry 5 }

tlsTDIfStatsMCastMACIn OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of multicast MAC frames ingressed on this TD."
        ::= { tlsTDIfStatsEntry 6 }

tlsTDIfStatsMCastMACOut OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of multicast MAC frames egressed on this TD."
        ::= { tlsTDIfStatsEntry 7 }

tlsTDIfStatsBCastMACIn OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of broadcast MAC frames ingressed on this TD."
        ::= { tlsTDIfStatsEntry 8 }

tlsTDIfStatsBCastMACOut OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of broadcast MAC frames egressed on this TD."
        ::= { tlsTDIfStatsEntry 9 }

tlsTDIfStatsOctetsIn OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets ingressed on this TD."
        ::= { tlsTDIfStatsEntry 10 }

tlsTDIfStatsOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets egressed on this TD."
        ::= { tlsTDIfStatsEntry 11 }

tlsTDIfStatsTBFrameDiscards OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of packets discarded due to a lack of tokens.
                     If this counter is increasing, the device connected
                     to this port is sending data in excess of the
                     provisioned rate for this TD."
        ::= { tlsTDIfStatsEntry 12 }

tlsTDIfStatsTBOctetsDiscards OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets discarded due to a lack of tokens.
                     If this counter is increasing, the device connected
                     to this port is sending data in excess of the
                     provisioned rate for this TD."
        ::= { tlsTDIfStatsEntry 13 }

tlsTDIfStatsUCastMACOctetsIn OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in unicast MAC frames
                     ingressed on this TD."
        ::= { tlsTDIfStatsEntry 14 }

tlsTDIfStatsUCastMACOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in unicast MAC frames
                     egressed on this TD."
        ::= { tlsTDIfStatsEntry 15 }

tlsTDIfStatsMCastMACOctetsIn OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in multicast MAC frames
                     ingressed on this TD."
        ::= { tlsTDIfStatsEntry 16 }

tlsTDIfStatsMCastMACOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in multicast MAC frames
                     egressed on this TD."
        ::= { tlsTDIfStatsEntry 17 }

tlsTDIfStatsBCastMACOctetsIn OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in broadcast MAC frames
                     ingressed on this TD."
        ::= { tlsTDIfStatsEntry 18 }

tlsTDIfStatsBCastMACOctetsOut OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of octets in broadcast MAC frames
                     egressed on this TD."
        ::= { tlsTDIfStatsEntry 19 }


-- TLS IGMP MCast statistics Table

tlsIgmpMCastStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsIgmpMCastStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Statistics pertaining to IGMP multicast"
        ::= { tlsIgmp 1 }

tlsIgmpMCastStatsEntry OBJECT-TYPE
        SYNTAX      TlsIgmpMCastStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Statistics pertaining to IGMP for a specific TD"
        INDEX       { tlsIgmpMCastStatsIndex }
        ::= { tlsIgmpMCastStatsTable 1 }

TlsIgmpMCastStatsEntry ::=
        SEQUENCE {
            tlsIgmpMCastStatsIndex IpAddress,
            tlsIgmpMembershipRecv  Counter32,
            tlsIgmpMembershipSent  Counter32,
            tlsIgmpQueriesRecv     Counter32,
            tlsIgmpInvalidTypes    Counter32
        }

tlsIgmpMCastStatsIndex OBJECT-TYPE
        SYNTAX      IpAddress 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The multicast address belonging to the group 
                     for which these stats are collected."
        ::= { tlsIgmpMCastStatsEntry 1 }        

tlsIgmpMembershipRecv OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of membership reports received by
                     this multicast group"
        ::= { tlsIgmpMCastStatsEntry 2 }

tlsIgmpMembershipSent OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of membership reports sent by this
                     multicast group"
        ::= { tlsIgmpMCastStatsEntry 3 }

tlsIgmpQueriesRecv OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of queries received by this multicast group."
        ::= { tlsIgmpMCastStatsEntry 4 }

tlsIgmpInvalidTypes OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of messages received containing
                     invalid types."
        ::= { tlsIgmpMCastStatsEntry 5 }

tlsIgmpGenQueriesRecv OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of general queries received by
                     the system"
        ::= { tlsIgmp 2 }

tlsIgmpInvalidType OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of packets received with an
                     invalid type"
        ::= { tlsIgmp 3 }

tlsIgmpErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The packets received with errors"
        ::= { tlsIgmp 4 }

tlsIgmpRobustness OBJECT-TYPE
        SYNTAX      INTEGER (2..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IGMP robustness value defines how many
                     Membership reports are sent when a new multicast
                     address is added."
        DEFVAL      { 2 }
        ::= { tlsIgmp 5 }

tlsIgmpUnsolicitedReportInt OBJECT-TYPE
        SYNTAX      INTEGER (1..255)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The Unsolicited Report Interval is the time
                     between repetitions (robustness variable) of
                     a hosts initial report of it's multicast group
                     addresses."
        DEFVAL      { 100 }
        ::= { tlsIgmp 6 }


--
-- Filtering Database
--
tlsFdbTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsFdbEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "TLS filtering database.  There exists one FDB per port
                     per TD."
        ::= { tlsFdb 1 }
 
tlsFdbEntry OBJECT-TYPE
        SYNTAX      TlsFdbEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Information on a learned or static MAC entry
                     on a per interface, per TD basis"
        INDEX       { tlsFdbTDId, tlsFdbIfIndex, tlsFdbMAC }
        ::= { tlsFdbTable 1 }
 
TlsFdbEntry ::=
    SEQUENCE {
        tlsFdbTDId              TlsTDId,
        tlsFdbIfIndex           Integer32,
        tlsFdbMAC               MacAddress,
        tlsFdbNextHopMacAddr    MacAddress,
        tlsFdbNextHopPort       Integer32,
        tlsFdbEntryType         INTEGER,
        tlsFdbIpAddress         IpAddress,
        tlsFdbRowStatus         RowStatus,
        tlsFdbLocalNode         INTEGER,
        tlsFdbLocalSubnet       INTEGER,
        tlsFdbFormat            INTEGER,
        tlsFdbMaximumCapability INTEGER,
        tlsFdbGatewayRouterIp   IpAddress,
        tlsFdbGatewayIMac       MacAddress,
        tlsFdbGatewayEMac       MacAddress,
        tlsFdbVirtualPort       INTEGER,
        tlsFdbLocalPort         INTEGER
    }
 
tlsFdbTDId OBJECT-TYPE
        SYNTAX      TlsTDId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Transparent Domain Identifier for which this 
                     entry contains filtering database information."
        ::= { tlsFdbEntry 1 }

tlsFdbIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the ifIndex object
                     defined in MIB-II to which this FDB entry pertains.
                     Systems using a per TD FDB can set this index to zero."
        ::= { tlsFdbEntry 2 }

tlsFdbMAC OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Ethernet MAC address pertaining to this 
                     FDB entry."
        ::= { tlsFdbEntry 3 }

tlsFdbNextHopMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Physical address of the destination node or port 
                     to which packets destined to the tlsFdbMac will be 
                     forwarded on this ring."
        ::= { tlsFdbEntry 4 }

tlsFdbNextHopPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Interface index of the port on the destination
                     node to which packets are forwarded. This is used
                     by protocols (tls/l2) that set the tlsFdbNextHopMacAddr 
                     as a node address."
        ::= { tlsFdbEntry 5 }

tlsFdbEntryType OBJECT-TYPE
        SYNTAX      INTEGER {
                        static(1),
                        dynamic(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The type of the entry in regards to static or
                     dynamic (learned)."
        ::= { tlsFdbEntry 6 }

tlsFdbIpAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Unicast IP Address of the destination TLS UNI 
                     for this entry.  A value of 0.0.0.0 should be
                     reported for TDs which are not associated with
                     a OEL2 UNI."
        ::= { tlsFdbEntry 7 }

tlsFdbRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry."
        ::= { tlsFdbEntry 8 }

tlsFdbLocalNode OBJECT-TYPE
        SYNTAX      INTEGER {
                        local(1),
                        remote(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This entry is either remote or local to the node but not
                     on the same port."
        ::= { tlsFdbEntry 9 }

tlsFdbLocalSubnet OBJECT-TYPE
        SYNTAX      INTEGER {
                        local(1),
                        remote(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This entry is either remote or local to the ring 
                     subnet."
        ::= { tlsFdbEntry 10 }

tlsFdbFormat OBJECT-TYPE
        SYNTAX      INTEGER {
                        tls-l2(1),
                        oel2(2),
                        unknown(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This entry is either in tls-L2 format, OEL2
                     format, or is unknown."
        ::= { tlsFdbEntry 11 }

tlsFdbMaximumCapability OBJECT-TYPE
        SYNTAX      INTEGER {
                        tls-l2(1),
                        oel2(2),
                        tlsl2-and-oel2(3),
                        unknown(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum remote port capability - ie, it can
                     understand tls-l2, oel2, both tls-l2 and oel2, 
                     or is unknown." 
        ::= { tlsFdbEntry 12 }

tlsFdbGatewayRouterIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IP address of the entry's gateway. This is not
                     necessarily the port's default gateway. An ICMP redirect
                     could cause it to be some other gateway."
        ::= { tlsFdbEntry 13 }

tlsFdbGatewayIMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The IMac address of the gateway nni port."
        ::= { tlsFdbEntry 14 }

tlsFdbGatewayEMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The EMac address of the entry's default gateway."
        ::= { tlsFdbEntry 15 }

tlsFdbVirtualPort OBJECT-TYPE
        SYNTAX      INTEGER (0..15)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The virtual port on the gateway NNI port."
        ::= { tlsFdbEntry 16 }

tlsFdbLocalPort OBJECT-TYPE
        SYNTAX      INTEGER {
                        local(1),
                        remote(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This entry is either remote or local to the port."
        ::= { tlsFdbEntry 17 }

-- Filtering Database Aging Time

tlsFDBAgingTime OBJECT-TYPE
        SYNTAX      INTEGER (0..600)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Filtering database aging time expressed in
                     seconds. This entry indicates the amount of time it
                     takes for the entries in the filtering database to
                     age out. A value of 0 (zero) disables aging."
        DEFVAL      { 300 } 
        ::= { tlsFdb 2 }
--
--  TLS QoS Group
--
tlsQoSSystem         OBJECT IDENTIFIER ::= { tlsQoS 1 }
tlsIfQoS             OBJECT IDENTIFIER ::= { tlsQoS 2 }
tlsQoSBucket         OBJECT IDENTIFIER ::= { tlsQoS 3 }
tlsExtendQoSBucket   OBJECT IDENTIFIER ::= { tlsQoS 4 }


-- tlsQoSSystem Group
--
tlsQoSSystemCntrlPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The OEL2 priority to be assigned to outgoing control
                     frames."
        ::= { tlsQoSSystem 1 }

tlsQoSSystemOutOAMPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The OEL2 priority to be assigned to outgoing OAM frames."
        ::= { tlsQoSSystem 2 }

--tlsIfQoS Group

tlsIfQoSPriorityToQueueMapTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TLSIfQoSPriorityToQueueMapEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Priority to Queue Mapping for each interface"
        ::= { tlsIfQoS 1 }

tlsIfQoSPriorityToQueueMapEntry OBJECT-TYPE
        SYNTAX      TLSIfQoSPriorityToQueueMapEntry        
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "List of priority and queue ids"
        INDEX       { tlsIfQoSPriorityToQueueMapIfIndex, 
                      tlsIfQosPriorityToQueueMapPrioIndex }
        ::= { tlsIfQoSPriorityToQueueMapTable 1 }

TLSIfQoSPriorityToQueueMapEntry ::=
        SEQUENCE {
            tlsIfQoSPriorityToQueueMapIfIndex   Integer32,
            tlsIfQosPriorityToQueueMapPrioIndex INTEGER,
            tlsIfQosPriorityToQueueMapQueueId   INTEGER
        }

tlsIfQoSPriorityToQueueMapIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the ifIndex object,
                     defined in MIB-II, over which this mapping is
                     valid."
        ::= { tlsIfQoSPriorityToQueueMapEntry 1 }

tlsIfQosPriorityToQueueMapPrioIndex OBJECT-TYPE
        SYNTAX       INTEGER (1..8)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "The priority for which this mapping is valid. Since
                      zero is rarely used as an index the priority range
                      0..7 is mapped to the index 1..8"
        ::= { tlsIfQoSPriorityToQueueMapEntry 2 }

tlsIfQosPriorityToQueueMapQueueId OBJECT-TYPE
        SYNTAX       INTEGER (1..8)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "The Queue to which this entry is being mapped."
        ::= { tlsIfQoSPriorityToQueueMapEntry 3 }

tlsIfQoSQueueSettingsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF TLSIfQoSQueueSettingsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "Queue settings for each queue for each interface"
        ::= { tlsIfQoS 2 }

tlsIfQoSQueueSettingsEntry OBJECT-TYPE
        SYNTAX       TLSIfQoSQueueSettingsEntry        
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION  "List of Queue settings"
        INDEX        { tlsIfQoSQueueSettingsIfIndex, 
                       tlsIfQoSQueueSettingsQueueIndex}
        ::= { tlsIfQoSQueueSettingsTable 1 }

TLSIfQoSQueueSettingsEntry        ::=
        SEQUENCE {
            tlsIfQoSQueueSettingsIfIndex    Integer32,
            tlsIfQoSQueueSettingsQueueIndex Integer32,
            tlsIfQoSQueueSettingsScheduler  INTEGER,
            tlsIfQoSQueueSettingsWeights    INTEGER
        }

tlsIfQoSQueueSettingsIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of the instance of the ifIndex object,
                     defined in MIB-II, over which this mapping is
                     valid."
        ::= { tlsIfQoSQueueSettingsEntry 1 }

tlsIfQoSQueueSettingsQueueIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Queue for which the settings are valid. The value
                     will range between 1 and the tlsIfQueueNumber."
        ::= { tlsIfQoSQueueSettingsEntry 2 }

tlsIfQoSQueueSettingsScheduler OBJECT-TYPE
        SYNTAX      INTEGER {
                        weighted-fair-queuing(1),
                        strict-priority(2),
                        weighted-round-robin(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The Scheduler for this queue."
        ::= { tlsIfQoSQueueSettingsEntry 3 }

tlsIfQoSQueueSettingsWeights OBJECT-TYPE
        SYNTAX      INTEGER (0..100)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Percentage bandwidth weight for this queue. When scheduler
                     is strict-priority the value will be always 100."
        ::= { tlsIfQoSQueueSettingsEntry 4 }

--
-- Token bucket information
--
tlsQoSBucketTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TLSQoSBucketEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table containing token bucket information per port or
                     per port per TD"
        ::= { tlsQoSBucket 1 }

tlsQoSBucketEntry OBJECT-TYPE
        SYNTAX      TLSQoSBucketEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "List of information maintained by every port
                     regarding token buckets for that port"
        INDEX       { tlsQoSBucketIfIndex, tlsQoSBucketTDIndex }
        ::= { tlsQoSBucketTable 1 }

TLSQoSBucketEntry ::=
    SEQUENCE {
        tlsQoSBucketIfIndex                 Integer32,
        tlsQoSBucketTDIndex                 Integer32,
        tlsQoSBucketMaxBurstDuration        INTEGER,
        tlsQoSBucketRate                    INTEGER,
        tlsQoSBucketBurstRate               INTEGER,
        tlsQoSBucketEnabled                 TruthValue
    }

tlsQoSBucketIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port number for which this entry contains token
                     bucket information.  Equal to the interface index
                     that this port corresponds to"
        ::= { tlsQoSBucketEntry 1 }

tlsQoSBucketTDIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..'FFFFFF'H)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This second index is the TDId for which
                     this token bucket is being used or zero.
                     Zero will be used to store per port information."
        ::= { tlsQoSBucketEntry 2 }

tlsQoSBucketMaxBurstDuration OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The maximum allowable burst duration expressed in
                     milliseconds.  The token bucket mechanism always
                     permits traffic bursts at line rate.  This parameter
                     allows the duration of this burst to be controlled."
        ::= { tlsQoSBucketEntry 3 }

tlsQoSBucketRate OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Steady state data rate of this port expressible in
                     Megabits per second. Default value for this should be
                     set to 1/10th of the line rate. Value can be
                     incremented by one."
        ::= { tlsQoSBucketEntry 4 }

tlsQoSBucketBurstRate OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Burst Rate in Megabits per second. For OPE it will
                     always be line rate."
        ::= { tlsQoSBucketEntry 5 }

tlsQoSBucketEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicate whether this token bucket is enabled or not."
        DEFVAL      { true }
        ::= { tlsQoSBucketEntry 6 }


--
-- Token bucket information
--
tlsExtendQoSBucketTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TLSExtendQoSBucketEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Table containing token bucket information per port per port per
             TD per carrier provider 802.1p.  This table replaces the
             tlsQoSBucketTable, and an implementation should not support
             both tables.

             The entries that exist in this table depend on the value of
             tlsIfPolicingState and tlsIfType in the tlsIfTable, as follows:

             If tlsIfType is any value and tlsIfPolicingState is disabled:
                 No entries in this table

             If tlsIfType is transparent and tlsIfPolicingState is
             byPortEnabled, and there is a TD associated with the port:
                 A single entry containing per-port data will exist with:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with the port
                     tlsExtendQoSBucketCoSIndex = 0

             If tlsIfType is transparent and tlsIfPolicingState is
             bySomeCoSEnabled, and there is a TD associated with the port:
                 There will be 8 entries, one for each CoS value:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with the port
                     tlsExtendQoSBucketCoSIndex = CoS value, 0 through 7
                 These entries contain per-port-per-CoS data, possibly
                 with data shared amongst groups of CoS values.

             If tlsIfType is transparent and tlsIfPolicingState is
             byGroupOfUniEnabled, and there is a TD associated with the port:
                 A single entry containing per-port data will exist with:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with the port
                     tlsExtendQoSBucketCoSIndex = 0

             If tlsIfType is mapped and tlsIfPolicingState is byAllTDEnabled:
                 An entry will exist for each TD associated with the port,
                 containing per-port-per-TD data, with:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with port
                     tlsExtendQoSBucketCoSIndex = 0
                 In this case, the value of tlsExtendQoSBucketEnabled
                 associated with these rows may not be set to false(2) (and
                 the implementation may choose not to instantiate these
                 instances at all).

             If tlsIfType is mapped and tlsIfPolicingState is bySomeTDEnabled:
                 An entry will exist for each TD associated with the port,
                 containing per-port-per-TD data, with:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with port
                     tlsExtendQoSBucketCoSIndex = 0

             If tlsIfType is mapped and tlsIfPolicingState is
             bySomeCoSEnabled:
                 For each TD associated with the port, there will be 8
                 entries, one for each CoS value:
                     tlsExtendQoSBucketIfIndex  = value of tlsIfIndex
                     tlsExtendQoSBucketTDIndex  = value of TD associated
                                                  with port
                     tlsExtendQoSBucketCoSIndex = CoS value, 0 through 7
                 These entries contain per-port-per-TD-per-CoS data, possibly
                 with data shared amongst groups of CoS values."
        ::= { tlsExtendQoSBucket 1 }

tlsExtendQoSBucketEntry OBJECT-TYPE
        SYNTAX      TLSExtendQoSBucketEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "List of information maintained by every port
                     regarding token buckets for that port"
        INDEX       { tlsExtendQoSBucketIfIndex,
                      tlsExtendQoSBucketTDIndex,
                      tlsExtendQoSBucketCoSIndex }
        ::= { tlsExtendQoSBucketTable 1 }

TLSExtendQoSBucketEntry ::=
    SEQUENCE {
        tlsExtendQoSBucketIfIndex                 Integer32,
        tlsExtendQoSBucketTDIndex                 Integer32,
        tlsExtendQoSBucketCoSIndex                INTEGER,
        tlsExtendQoSBucketMaxBurstDuration        INTEGER,
        tlsExtendQoSBucketRate                    INTEGER,
        tlsExtendQoSBucketBurstRate               INTEGER,
        tlsExtendQoSBucketEnabled                 TruthValue,
        tlsExtendQoSBucketSharedPriority          BITS,
        tlsExtendQoSBucketSharedPort              Integer32
    }

tlsExtendQoSBucketIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port number for which this entry contains token
                     bucket information.  Equal to the interface index
                     that this port corresponds to"
        ::= { tlsExtendQoSBucketEntry 1 }

tlsExtendQoSBucketTDIndex OBJECT-TYPE
        SYNTAX      Integer32 (0..'FFFFFF'H)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This second index is the TDId asociated with
                     this interface."
        ::= { tlsExtendQoSBucketEntry 2 }

tlsExtendQoSBucketCoSIndex OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "carrier provider 802.1p value"
        ::= { tlsExtendQoSBucketEntry 3 }

tlsExtendQoSBucketMaxBurstDuration OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The maximum allowable burst duration expressed in
                     milliseconds.  The token bucket mechanism always
                     permits traffic bursts at line rate.  This parameter
                     allows the duration of this burst to be controlled."
        ::= { tlsExtendQoSBucketEntry 4 }

tlsExtendQoSBucketRate OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Steady state data rate of this port expressible in
                    Megabits per second. Default value for this should be
                    set to 1/10th of the line rate. Value can be incremented
                    by one."
        ::= { tlsExtendQoSBucketEntry 5 }

tlsExtendQoSBucketBurstRate OBJECT-TYPE
        SYNTAX      INTEGER (1..1000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Burst Rate in Megabits per second. For OPE it will
                     always be line rate."
        ::= { tlsExtendQoSBucketEntry 6 }

tlsExtendQoSBucketEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicate whether this token bucket is enabled or not."
        DEFVAL       { true }
        ::= { tlsExtendQoSBucketEntry 7 }

tlsExtendQoSBucketSharedPriority OBJECT-TYPE
        SYNTAX      BITS {
                      pri0(0),
                      pri1(1),
                      pri2(2),
                      pri3(3),
                      pri4(4),
                      pri5(5),
                      pri6(6),
                      pri7(7)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates which 802.1p values, for a particular
             port/TDI pair, will share the same QoS token bucket.  The
             value indicates a set of 802.1p values which share the same
             bucket.  Bits in the value which are not set indicate 802.1p
             values which use a separate bucket.

             The value of instances of this object must be exactly equal
             for entries corresponding to bits which are set.  For example,
             if the value for port 1, TDI 111, CoS 1 has bits 1, 3, and 7
             set, then the value for port 1, TDI 111, and CoS 3 and 7 must
             also have bits 1, 3, and 7 set.

             Modifying an instance of this object without simultaneously
             modifying instances correspoding to the bits being set will
             result in an inconsistentValue error.  Also, modifying an
             instance of this object without simultaneously modifying
             instances corresponding to bits that are being cleared from
             the old value will also result in an inconsistentValue error.
             Usually, it is best to first retrieve the 8 instances of this
             object for a particular port/TDI pair, modify the retrieved
             values, and send them back in a Set request.

             Note that for an instance of this object, the bit corresponding
             to the instance must always be set.  In other words, for an
             instance with CoS index of 0, the bit pri0 must always be set.

             The bits pri0 through pri7 correspond to 802.1p priority
             values of 0 through 7."
        DEFVAL           { { pri0, pri1, pri2, pri3, pri4, pri5, pri6, pri7 } }
        ::= { tlsExtendQoSBucketEntry 8 }

tlsExtendQoSBucketSharedPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates which Uni ports will share the same QoS
             token bucket.  The value is only used for ports whose value of
             tlsIfPolicingState is equal to byGroupOfUniEnabled.  The value
             is a bit mask indicating which ports share the same bucket.
             Bits in the value which are not set indicate ports which use a
             separate bucket.

             Bits in the value of this object correspond to particular values
             of ifIndex.  The least significant bit, bit 0, corresponds to
             ifIndex value 1.  Bit 1, corresponds to ifIndex value 2, and so
             on, up to bit 31, which corresponds to ifIndex value 32.  Note
             that this object can only be used on non-stackable systems with
             at most 32 ports (new objects would be required for other systems).

             The value of instances of this object must be exactly equal
             for all entries corresponding to bits which are set.  For
             example, if the value for port 1 has bits 0, 2, and 6 set,
             then the value for port 3 and port 7 must also have bits
             0, 2, and 6 set.

             Modifying an instance of this object without simultaneously
             modifying instances correspoding to the bits being set will
             result in an inconsistentValue error.  Also, modifying an
             instance of this object without simultaneously modifying
             instances corresponding to bits that are being cleared from
             the old value will also result in an inconsistentValue error.

             Note that for an instance of this object, the bit corresponding
             to the instance must always be set.  In other words, for an
             instance with ifIndex of 1, bit 0 must always be set."
        ::= { tlsExtendQoSBucketEntry 9 }

--
-- TD Connectivity
--
tlsTestTdc      OBJECT IDENTIFIER ::= { tlsTest 1 }

--
-- tlsTestTdc - TD Connectivity Test
--
tlsTestTdcTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTestTdcEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for all TD Connectivity
                     tests and each tests' results."
        ::= { tlsTestTdc 1 }

tlsTestTdcEntry OBJECT-TYPE
        SYNTAX      TlsTestTdcEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning information for a particular TD
                     Connectivity test and the test results."
        INDEX       { tlsTestTdcTestId }
        ::= { tlsTestTdcTable 1 }

TlsTestTdcEntry ::=
        SEQUENCE {
                tlsTestTdcTestId               INTEGER,
                tlsTestTdcTDI                  INTEGER,
                tlsTestTdcSrcPortNum           Integer32,
                tlsTestTdcDstPortNum           Integer32,
                tlsTestTdcSrcPortIP            IpAddress,
                tlsTestTdcDstPortIP            IpAddress,
                tlsTestTdcPktPriority          INTEGER,
                tlsTestTdcPktTimeout           INTEGER,
                tlsTestTdcProtocol             INTEGER,
                tlsTestTdcTestType             INTEGER,
                tlsTestTdcTimeTrace            INTEGER,
                tlsTestTdcPriority             TruthValue,
                tlsTestTdcPktsSent             Integer32,
                tlsTestTdcPktsReceived         Integer32,
                tlsTestTdcRttBroadcast         Integer32,
                tlsTestTdcRttUnicast           Integer32,
                tlsTestTdcPriOpePkt            TlsPriorityMap,
                tlsTestTdcTestDate             OCTET STRING,
                tlsTestTdcTestTime             OCTET STRING,
                tlsTestTdcTraceInfo            TruthValue,
                tlsTestTdcRowStatus            RowStatus,
                tlsTestTdcAction               INTEGER,
                tlsTestTdcResult               INTEGER,
                tlsTestTdcErrorMask            Counter64,
                tlsTestTdcErrorBitMask         TlsTestTdcErrorBitType,
                tlsTestTdcName                 DisplayString,
                tlsTestTdcMulticastCnt         INTEGER,
                tlsTestTdcUnicastCnt           INTEGER,
                tlsTestTdcPeriodicRate         INTEGER,
                tlsTestTdcPeriodicCount        INTEGER,
                tlsTestTdcHistoryCnt           INTEGER,
                tlsTestTdcRttThreshold         INTEGER,
                tlsTestTdcSnmpTrapControl      TruthValue,
                tlsTestTdcRttBroadcastMin      Integer32,
                tlsTestTdcRttBroadcastMax      Integer32,
                tlsTestTdcRttBroadcastAvg      Integer32,
                tlsTestTdcRttUnicastMin        Integer32,
                tlsTestTdcRttUnicastMax        Integer32,
                tlsTestTdcRttUnicastAvg        Integer32,
                tlsTestTdcHopCountMin          INTEGER,
                tlsTestTdcHopCountMax          INTEGER,
                tlsTestTdcHopCountAvg          INTEGER,
                tlsTestTdcClearHistoryAction   INTEGER,
                tlsTestTdcScheduled            TruthValue,
                tlsTestTdcCurrentPeriodicCount INTEGER
                }

tlsTestTdcTestId OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The unique TDC test ID for this entry."
        ::= { tlsTestTdcEntry 1 }

tlsTestTdcTDI OBJECT-TYPE
        SYNTAX      INTEGER (100..16777215)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The customer TD on which this test is executed."
        ::= { tlsTestTdcEntry 2 }

tlsTestTdcSrcPortNum OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies the TLS
                     interface (UNI port) at the source of the test."
        ::= { tlsTestTdcEntry 3 }

tlsTestTdcDstPortNum OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies the
                     destination TLS interface (LAN port)."
        ::= { tlsTestTdcEntry 4 }

tlsTestTdcSrcPortIP OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IP address of the source port or CPU."
        ::= { tlsTestTdcEntry 5 }

tlsTestTdcDstPortIP OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The IP address of the destination port or CPU."
        ::= { tlsTestTdcEntry 6 }

tlsTestTdcPktPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Optional 802.1 network priority to be used for 
                     this test. If not specified by the user, the port default 
                     priority is assumed."
        ::= { tlsTestTdcEntry 7 }

tlsTestTdcPktTimeout OBJECT-TYPE
        SYNTAX      INTEGER (1..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Optional timeout period for the TDC test in seconds.
                     If not specified, a default value of 10 seconds will be
                     used."
        DEFVAL      { 10 }
        ::= { tlsTestTdcEntry 8 }

tlsTestTdcProtocol OBJECT-TYPE
        SYNTAX      INTEGER {
                        l2(1), -- tls/l2
                        oel2(2),  -- oel2
                        l2forcedOel2(3)  -- l2 port to send oel2
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The protocol to use for the TDC test. If not
                     specified by the user, the mode (protocol) of the
                     source UNI port will be assumed."
        ::= { tlsTestTdcEntry 9 }

tlsTestTdcTestType OBJECT-TYPE
        SYNTAX      INTEGER {
                        broadcastandunicast(1), -- both (tlsl2)
                        broadcast(2),  -- broadcast only (tlsl2)
                        unicast(3),  -- unicast only
                        multicastandunicast(4),         -- both (oel2)
                        multicast(5)  -- multicast only (oel2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Optional target address of the TDC test. For tlsl2
                     protocol, the options are broadcast and unicast,
                     broadcast only and unicast only. For oel2 protocol,
                     the options are multicast and unicast, multicast only
                     and unicast only. By default, tlsl2 tests use broadcast
                     and unicast while oel2 tests use multicast and unicast."
        ::= { tlsTestTdcEntry 10 }

tlsTestTdcTimeTrace OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1), -- basic test
                        time(2),  -- time info test
                        trace(3)  -- trace info test
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Optional data associated with the TDC test. The
                     basic test validates the provisioning associated with
                     the source ports, destination ports and TDs configured 
                     in the test. The time test collects the round-trip-time
                     of the packet between source and destination. The trace
                     test collects the IP address, machine adress and port 
                     information for nodes along the source to destination 
                     path (and back again). If not specified, the basic test
                     is assumed."
        DEFVAL      { 1 }
        ::= { tlsTestTdcEntry 11 }

tlsTestTdcPriority OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Boolean value indicating whether the user
                     specified the packet priority or not."
        ::= { tlsTestTdcEntry 12 }

tlsTestTdcPktsSent OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of test packets sent."
        ::= { tlsTestTdcEntry 13 }

tlsTestTdcPktsReceived OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of test packets received."
        ::= { tlsTestTdcEntry 14 }

tlsTestTdcRttBroadcast OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The round-trip-time of the last broadcast test
                     packet in microseconds."
        ::= { tlsTestTdcEntry 15 }

tlsTestTdcRttUnicast OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The round-trip-time of the last unicast test 
                     packet in microseconds."                        
        ::= { tlsTestTdcEntry 16 }

tlsTestTdcPriOpePkt OBJECT-TYPE
        SYNTAX      TlsPriorityMap
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The OPE network priority. (ie. Customer priority
                     mapped into an OPE priority. Same as tlsTDPriorityMap.)"
        ::= { tlsTestTdcEntry 17 }

tlsTestTdcTestDate OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (6))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The local date stamp for the test (DD/MM)."
        ::= { tlsTestTdcEntry 18 }

tlsTestTdcTestTime OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (9))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The local time-of-day stamp for the test (HH:MM:SS)."
        ::= { tlsTestTdcEntry 19 }

tlsTestTdcTraceInfo OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Boolean value indicating whether the trace info
                     exists for this entry."
        ::= { tlsTestTdcEntry 20 }

tlsTestTdcRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry in this table"
        ::= { tlsTestTdcEntry 21 }

tlsTestTdcAction OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        start(2),
                        startPeriodic(3),
                        abort (4),
                        abortPeriodic(5)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This action controls test execution:
                 start(2) .......... execute the test one time
                 startPeriodic(3) .. begin periodic execution of a test
                 abort(4) .......... terminate the test if it is currently
                                     executing
                 abortPeriodic(5) .. cancel future executions of a periodic
                                     test (will not halt a current test)
             No test results are collected for an aborted test.
             abort and abortPeriodic have no affect if a test is not running."
        DEFVAL      { none }
        ::= { tlsTestTdcEntry 22 }

tlsTestTdcResult OBJECT-TYPE
        SYNTAX      INTEGER {
                         none(1), -- none of these
                         inProgress(2), -- action still in progress
                         success(3), -- action successful
                         fail(4) -- action failed
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Result from the last TDC action"
        DEFVAL      { none }
        ::= { tlsTestTdcEntry 23 }

tlsTestTdcErrorMask OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      deprecated
        DESCRIPTION "The error mask associated with the TDC test. Each bit
                           in the mask represents a specific error. The errors
                           from least significant bit to highest significant
                           bit are:
                        bit  1 - TD nonexistent on destination port
                        bit  2 - TD disabled on destination port
                        bit  3 - TD not assigned to destination port
                        bit  4 - TD filtered on destination NNI port
                        bit  5 - destination port is NNI
                        bit  6 - destination port is craft
                        bit  7 - destination FDB test failed
                        bit  8 - destination administrative state down
                        bit  9 - destination operational state down
                        bit 10 - destination port connectivity mismatch error
                        bit 11 - destination port type mismatch
                        bit 12 - destination port mode mismatch error
                        bit 13 - destination MIB query failed
                        bit 14 - destination system error
                        bit 15 - invalid destination port
                        bit 16 - destination port is CPU
                        bit 17 - destination port mode mismatch warning
                        bit 18 - destination port connectivity mismatch warning
                        bit 19 - default priority used on destination
                        bit 20 - IP not assigned on destination oel2 port
                        bit 21 - static entry exists on destination port
                        bit 22 - destination FDB table full warning
                        bit 33 - TD nonexistent on source port
                        bit 34 - TD not assigned to source port
                        bit 35 - source FDB test failed
                        bit 36 - source administrative state down
                        bit 37 - source operational state down
                        bit 38 - source system error
                        bit 39 - no response
                        bit 40 - could not get trace information
                        bit 41 - could not get time information
                        bit 42 - source MIB query failed
                        bit 43 - TD disabled on source port
                        bit 44 - invalid source port
                        bit 45 - all ports down on the source node
                        bit 46 - unknown error
                        bit 47 - source FDB test failed
                        bit 48 - static entry exists on source port
                        bit 49 - no FDB entry for dst MAC, unicast aborted
                        bit 50 - RTT threshold exceeded"
        ::= { tlsTestTdcEntry 24 }

tlsTestTdcErrorBitMask OBJECT-TYPE
        SYNTAX      TlsTestTdcErrorBitType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The error mask associated with the TDC test. Each bit
                     in the mask represents a specific error."
        ::= { tlsTestTdcEntry 25 }

tlsTestTdcName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE (0..64))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "An optional user-defined name for this test.  A TDC
                     test name must be unique for each test."
        ::= { tlsTestTdcEntry 26 }

tlsTestTdcMulticastCnt OBJECT-TYPE
        SYNTAX      INTEGER (0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of multicast messages sent with each test.
                     A value of zero(0) means the test will look at the FDB
                     for a valid entry, and if one exists a multicast packet
                     will not be sent."
        DEFVAL      { 1 }
        ::= { tlsTestTdcEntry 27 }

tlsTestTdcUnicastCnt OBJECT-TYPE
        SYNTAX      INTEGER (0..100)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of unicast messages sent with each test."
        DEFVAL      { 1 }
        ::= { tlsTestTdcEntry 28 }


tlsTestTdcPeriodicRate OBJECT-TYPE
        SYNTAX      INTEGER (0..1440)  -- time in minutes
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to set a periodic test rate.  The time is in
                     minutes.  The time period ranges from once-a-minute
                     (1) to once-a-day (1440).  A time of zero will cause
                     an error indication if a periodic test is initiated.
                     The test will run at the set rate up to the number
                     of times set via tlsTestTdcPeriodicCount. This value
                     can not be changed if a test is currently running
                     periodically. Periodic testing can be halted via
                     tlsTestTdcAction/abortPeriodic(5)."
        DEFVAL      { 0 }
        ::= { tlsTestTdcEntry 30 }

tlsTestTdcPeriodicCount OBJECT-TYPE
        SYNTAX      INTEGER (0..1440)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object allows the user to place a limit on the
                     number of times a test running periodically shall run.
                        0 : Run indefinitely at the periodic rate set via
                            tlsTestTdcPeriodicRate.
                        1..1440 : Run this number of times at the periodic
                                  rate set via tlsTestTdcPeriodicRate. The
                                  maximum allowable value of 1440 allows
                                  the user to run at the maximum periodic
                                  rate of once-per-minute for a 24-hour
                                  period. Beware of the maximum number of
                                  samples which may be saved via the TDC
                                  history table if you wish to save all
                                  the results of a periodic TDC test. 
                     This value cannot be changed if a test is currently
                     running periodically.  Periodic testing can be halted
                     via tlsTestTdcAction/abortPeriodic(5)."
        DEFVAL          { 0 }
        ::= { tlsTestTdcEntry 31 }

tlsTestTdcHistoryCnt OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of results to be saved for a given TDC test.
                     The maximum number of results which may be saved by a
                     given device is obtainable via tlsTestTdcHistoryMax.
                     The total amount of storage allocated for all tests
                     cannot exceed tlsTestTdcHistoryMax."
        DEFVAL      { 1 }
        ::= { tlsTestTdcEntry 32 }

tlsTestTdcRttThreshold OBJECT-TYPE
        SYNTAX      INTEGER (0..10000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of milliseconds allowed for a message to
                     make a round trip journey. Exceeding this threshold will
                     cause the generation of a tlsTestTdcRttThresholdExceeded
                     notification, but will not affect continued execution of
                     the test.  A value of 0 indicates the threshold is
                     disabled."
        DEFVAL      { 0 }
        ::= { tlsTestTdcEntry 33 }

tlsTestTdcSnmpTrapControl OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enable or disable the generation of tlsTestTdcTestFailure
                     and tlsTestTdcRttThresholdExceeded notifications for this
                     test.  Generation of these notifications is disabled if
                     the value is false(2)."
        DEFVAL      { false }
        ::= { tlsTestTdcEntry 34 }

tlsTestTdcRttBroadcastMin OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The minimum round-trip-time, in microseconds,
                     required by a broadcast test packet over for all
                     executions of this test."
        ::= { tlsTestTdcEntry 35 }

tlsTestTdcRttBroadcastMax OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum round-trip-time, in microseconds,
                     required by a broadcast test packet for all 
                     executions of this test."
        ::= { tlsTestTdcEntry 36 }

tlsTestTdcRttBroadcastAvg OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average round-trip-time for a broadcast test
                     packet in microseconds for all executions of this test."
        ::= { tlsTestTdcEntry 37 }

tlsTestTdcRttUnicastMin OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The minimum round-trip-time, in microseconds,
                     required by a unicast test packet for all 
                     executions of this test."
        ::= { tlsTestTdcEntry 38 }

tlsTestTdcRttUnicastMax OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum round-trip-time, in microseconds,
                     required by a unicast test packet for all 
                     executions of this test."
        ::= { tlsTestTdcEntry 39 }

tlsTestTdcRttUnicastAvg OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average round-trip-time for a unicast test
                     packet in microseconds for all executions of this test."
        ::= { tlsTestTdcEntry 40 }

tlsTestTdcHopCountMin OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The minimum hop count for all executions of this test."
        ::= { tlsTestTdcEntry 41 }

tlsTestTdcHopCountMax OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum hop count for all executions of this test."
        ::= { tlsTestTdcEntry 42 }

tlsTestTdcHopCountAvg OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average hop count all executions of this test."
        ::= { tlsTestTdcEntry 43 }

tlsTestTdcClearHistoryAction OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),  -- none of these
                        clear(2)  -- clear history for this test
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The clear option removes all stored test results for
                     this test including the most recent test result.  The
                     clear option has no affect if there are no stored
                     results. A query of this object shall return none(1)."
        DEFVAL      { none }
        ::= { tlsTestTdcEntry 44 }

tlsTestTdcScheduled OBJECT-TYPE
        SYNTAX      TruthValue 
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Indicates whether this test is currently scheduled to
                     execute in periodic mode. A TRUE response indicates the
                     test is scheduled to run at some future time, and will
                     execute as scheduled unless manually aborted."
        ::= { tlsTestTdcEntry 45 }

tlsTestTdcCurrentPeriodicCount OBJECT-TYPE
        SYNTAX      INTEGER (-1..1440)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object returns the current value of the periodic
                     counter.  If the value had been set greater than zero
                     and the test is currently running periodically, then
                     this object is decremented each time the the test
                     runs until a value of zero is reached."
        ::= { tlsTestTdcEntry 46 }

--
-- Trace Information related to the TDC Test.
-- If tlsTestTdcTraceInfo == True, the trace info for the tlsTestTdcTestId
-- can be found in this table
--
tlsTestTdcTraceTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTestTdcTraceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Trace information for a TD Connectivity test."
        ::= { tlsTestTdc 2}

tlsTestTdcTraceEntry OBJECT-TYPE
        SYNTAX      TlsTestTdcTraceEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Trace information for the last TD Connectivity test
                     that had the trace functionality enabled."
        INDEX       { tlsTestTraceTestId,
                      tlsTestTraceTraceType,
                      tlsTestTraceTraceSeq }
        ::= { tlsTestTdcTraceTable 1 }

TlsTestTdcTraceEntry ::=
        SEQUENCE {
                -- index
                tlsTestTraceTestId              INTEGER,
                tlsTestTraceTraceType           INTEGER,
                tlsTestTraceTraceSeq            Integer32,

                -- node info
                tlsTestTraceNodeEthAddr         MacAddress,
                tlsTestTraceNodeIPAddr          IpAddress,
                tlsTestTracePortOut             Integer32,
                tlsTestTracePortIn              Integer32
                }

tlsTestTraceTestId OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The unique TDC test ID to which these results
                     correspond."
        ::= { tlsTestTdcTraceEntry 1 }

tlsTestTraceTraceType OBJECT-TYPE
        SYNTAX      INTEGER {
                        broadcast(1),
                        multicast(2),
                        unicast(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Type of TDC test packet for which these results
                     apply."
        ::= { tlsTestTdcTraceEntry 2 }

tlsTestTraceTraceSeq OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The trace sequence number associated with this
                     entry."
        ::= { tlsTestTdcTraceEntry 3 }

tlsTestTraceNodeEthAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The MAC address of the node by which this sequence
                     entry was generated."
        ::= { tlsTestTdcTraceEntry 4 }

tlsTestTraceNodeIPAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The IP address of the node by which this sequence
                     entry was generated."
        ::= { tlsTestTdcTraceEntry 5 }

tlsTestTracePortOut OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port number on which this node sent the outbound
                     test packet."
        ::= { tlsTestTdcTraceEntry 6 }

tlsTestTracePortIn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port number on which this node received the
                     inbound test packet."
        ::= { tlsTestTdcTraceEntry 7 }

-- History Information related to the TDC Test History.

tlsTestTdcHistory      OBJECT IDENTIFIER ::= { tlsTestTdc 3 }

tlsTestTdcHistoryTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTestTdcHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "History for a TD Connectivity test."
        ::= { tlsTestTdcHistory 1 }

tlsTestTdcHistoryEntry OBJECT-TYPE
        SYNTAX      TlsTestTdcHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "History information for the TD Connectivity tests."
        INDEX       { tlsTestTdcTestHId, tlsTestTdcHistoryId }
        ::= { tlsTestTdcHistoryTable 1 }

TlsTestTdcHistoryEntry ::=
        SEQUENCE {
                tlsTestTdcTestHId                INTEGER,
                tlsTestTdcHistoryId              INTEGER,
                tlsTestTdcHistoryPktsSent        Integer32,
                tlsTestTdcHistoryPktsReceived    Integer32,
                tlsTestTdcHistoryRttBroadcastMin Integer32,  
                tlsTestTdcHistoryRttBroadcastMax Integer32,  
                tlsTestTdcHistoryRttBroadcastAvg Integer32,
                tlsTestTdcHistoryRttUnicastMin   Integer32,
                tlsTestTdcHistoryRttUnicastMax   Integer32,
                tlsTestTdcHistoryRttUnicastAvg   Integer32,                  
                tlsTestTdcHistoryRttAvg          Integer32,
                tlsTestTdcHistoryHopCountMin     INTEGER,
                tlsTestTdcHistoryHopCountMax     INTEGER,
                tlsTestTdcHistoryHopCountAvg     INTEGER,
                tlsTestTdcHistoryTestDateandTime DateAndTime,
                tlsTestTdcHistoryTimeStamp       TimeStamp,
                tlsTestTdcHistoryResult          INTEGER,
                tlsTestTdcHistoryErrorBitMask    TlsTestTdcErrorBitType,
                tlsTestTdcHistorySrcPortNum      Integer32,
                tlsTestTdcHistoryDstPortNum      Integer32,
                tlsTestTdcHistoryPktPriority     INTEGER,
                tlsTestTdcHistoryPriOpePkt       INTEGER
         }

tlsTestTdcTestHId OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The unique TDC test ID for this entry."
        ::= { tlsTestTdcHistoryEntry 1 }

tlsTestTdcHistoryId OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The history id for this entry.  The device will save
                     up to tlsTestTdcHistoryCnt entries per test.  Test
                     results are stored in the next available row, and if
                     more than tlsTestTdcHistoryCnt are present the oldest
                     stored result will be removed. Once the maximum row id
                     is reached the index will wrap-around."
        ::= { tlsTestTdcHistoryEntry 2 }

tlsTestTdcHistoryPktsSent OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of packets sent during this test."
        ::= { tlsTestTdcHistoryEntry 3 }

tlsTestTdcHistoryPktsReceived OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of packets received during this test."
        ::= { tlsTestTdcHistoryEntry 4 }

tlsTestTdcHistoryRttBroadcastMin OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average broadcast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 5 }

tlsTestTdcHistoryRttBroadcastMax OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average broadcast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 6 }

tlsTestTdcHistoryRttBroadcastAvg OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average broadcast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 7 }

tlsTestTdcHistoryRttUnicastMin OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average unicast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 8 }

tlsTestTdcHistoryRttUnicastMax OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average unicast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 9 }

tlsTestTdcHistoryRttUnicastAvg OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average unicast RTT during this test."
        ::= { tlsTestTdcHistoryEntry 10 }

tlsTestTdcHistoryRttAvg OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average RTT during this test."
        ::= { tlsTestTdcHistoryEntry 11 }

tlsTestTdcHistoryHopCountMin OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The minimum hop count during this test.  May be
                     invalid if test trace is disabled."
        ::= { tlsTestTdcHistoryEntry 12 }

tlsTestTdcHistoryHopCountMax OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum hop count during this test.  May be
                     invalid if test trace is disabled."
        ::= { tlsTestTdcHistoryEntry 13 }

tlsTestTdcHistoryHopCountAvg OBJECT-TYPE
        SYNTAX      INTEGER (0..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The average hop count during this test.  May be
                     invalid if test trace is disabled."
        ::= { tlsTestTdcHistoryEntry 14 }

tlsTestTdcHistoryTestDateandTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The date the test was run."
        ::= { tlsTestTdcHistoryEntry 15 }

tlsTestTdcHistoryTimeStamp OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The value of sysUpTime at which the test began
                     execution."
        ::= { tlsTestTdcHistoryEntry 16 }

tlsTestTdcHistoryResult OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1), -- none of these
                        success(3), -- action successful
                        fail(4) -- action failed
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Result from the TDC action"
        DEFVAL      { none }
        ::= { tlsTestTdcHistoryEntry 17 }

tlsTestTdcHistoryErrorBitMask OBJECT-TYPE
        SYNTAX      TlsTestTdcErrorBitType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The error mask associated with the TDC test. Each bit
                     in the mask represents a specific error."
        ::= { tlsTestTdcHistoryEntry 18 }

tlsTestTdcHistorySrcPortNum OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies the TLS
                     interface (UNI port) at the source of the test."
        ::= { tlsTestTdcHistoryEntry 19 }

tlsTestTdcHistoryDstPortNum OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies the TLS
                     interface (UNI port) at the destination of the test."
        ::= { tlsTestTdcHistoryEntry 20 }

tlsTestTdcHistoryPktPriority OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Optional 802.1 network priority used for this test."
        ::= { tlsTestTdcHistoryEntry 21 }

tlsTestTdcHistoryPriOpePkt OBJECT-TYPE
        SYNTAX      INTEGER (0..7)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The OPE network priority used for this test. (i.e.,
                     Customer priority mapped into an OPE priority.  Same
                     as tlsTDPriorityMap.)"
        ::= { tlsTestTdcHistoryEntry 22 }

tlsTestTdcHistoryMax OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The maximum amount of test history storage available
                     on this device."
        ::= { tlsTestTdcHistory 2 }

tlsTestTdcHistoryRemaining OBJECT-TYPE
        SYNTAX      INTEGER (1..9999)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The amount of test history storage remaining unused
                     on this device."
        ::= { tlsTestTdcHistory 3 }

--
-- TLS System Group
--
tlsSysSubnettingRulesEnabled OBJECT-TYPE
        SYNTAX      INTEGER { 
                          enabled(1), 
                          disabled(2) 
                         }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Provisioning Rules regarding  UNI port subnetting 
                     are to be enabled or disabled."
        DEFVAL       { enabled }
        ::= {tlsSystem 1}


--
-- NNI Trasparent Domain Interface Table
--
tlsNNITDIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsNNITDIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The NNITDIF table contains the NNI port TDI to 
                     Qtag mappings for this entity"
        ::= { tlsNNITDIf 1 }

tlsNNITDIfEntry OBJECT-TYPE
        SYNTAX      TlsNNITDIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION " An NNI port TDI to Qtag mapping"
        INDEX       { tlsNNITDIfIndex, tlsNNITDIfTDIndex }
        ::= { tlsNNITDIfTable 1 }

TlsNNITDIfEntry ::=
        SEQUENCE {
                tlsNNITDIfIndex     Integer32,
                tlsNNITDIfTDIndex   TlsDataTDId,
                tlsNNITDIfTagValue  INTEGER,
                tlsNNITDIfFilter    TruthValue,
                tlsNNITDIfRowStatus RowStatus
            }

tlsNNITDIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The port on which this entry resides"
        ::= { tlsNNITDIfEntry 1 }

tlsNNITDIfTDIndex OBJECT-TYPE
        SYNTAX      TlsDataTDId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Transparent Domain in which to classify frames
                     matching the key for this table entry."
        ::= { tlsNNITDIfEntry 2 }

tlsNNITDIfTagValue OBJECT-TYPE
        SYNTAX      INTEGER (1..4096)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Tag Value for which this mapping is valid.
                         1-4094 = 802.1Q Tagged Frames
                         4095   = unused and disallowed
                         4096   = Untagged Frame"
        ::= { tlsNNITDIfEntry 3}

tlsNNITDIfFilter OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Filter value for dropping frames for this td to
                     Qtag mapping. This value will be set to true for
                     filtered frames and false for frames not being
                     filtered"
        ::= { tlsNNITDIfEntry 4}

tlsNNITDIfRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry."
        ::= { tlsNNITDIfEntry 5 }

--
-- TLS Trunk Group Definitions
--
tlsTrunkGroupNumCardGroups OBJECT-TYPE
        SYNTAX      INTEGER (0..2)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of trunk groups currently defined on the card."
        DEFVAL      { 0 }
        ::= {tlsTrunkGroup 1 }

tlsTrunkGroupNumRingGroups OBJECT-TYPE
        SYNTAX      INTEGER (0..64)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of trunk groups currently defined on the ring."
        DEFVAL      { 0 }
        ::= {tlsTrunkGroup 2 }
        
--
-- TLS Trunk Group Table Specific Definitions
--

tlsTrunkGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table containing provisioning and status information
                     pertaining to all trunk groups defined on the OPE card."
        ::= { tlsTrunkGroup 3 }

tlsTrunkGroupEntry OBJECT-TYPE
        SYNTAX      TlsTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Provisioning and status information pertaining to
                    a particular TLS trunk group."
        INDEX           { tlsTrunkGroupId }
        ::= { tlsTrunkGroupTable 1 }

TlsTrunkGroupEntry ::=
        SEQUENCE {
                tlsTrunkGroupId                      TlsTrunkGroupId,
                tlsTrunkGroupName                    DisplayString,
                tlsTrunkGroupAdminTrafficDistrId     INTEGER,
                tlsTrunkGroupOperTrafficDistrId      INTEGER,
                tlsTrunkGroupEnabled                 TruthValue,
                tlsTrunkGroupMacAddr                 MacAddress,
                tlsTrunkGroupGroupType               INTEGER,
                tlsTrunkGroupPortType                TlsIfType,
                tlsTrunkGroupPortList                BITS,
                tlsTrunkGroupWTRTimer                INTEGER,
                tlsTrunkGroupOperState               TlsTrunkGroupOperState,
                tlsTrunkGroupDistrAlgorithm          INTEGER,
                tlsTrunkGroupRowStatus               RowStatus
        }

tlsTrunkGroupId OBJECT-TYPE
        SYNTAX      TlsTrunkGroupId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A value that uniquely identifies the trunk group on
                     the ring."
        ::= { tlsTrunkGroupEntry 1 }

tlsTrunkGroupName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..20))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A text string providing further information about
                     the trunk group."
        DEFVAL      { "Default Trunk Group" }
        ::= { tlsTrunkGroupEntry 2 }

tlsTrunkGroupAdminTrafficDistrId OBJECT-TYPE
        SYNTAX      INTEGER (0..2)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A user assigned identifier that is used to distribute
                     traffic between the two redundant ports. This identifier
                     is a result of a load-sharing algorithm applied to all
                     frames forwarded by ports in a trunk group. Frames
                     whose hash result is 0 will be forwarded by port with
                     traffic ditribution id of 0. Frames with result 1 will be
                     forwarded by port with ditribution id of 1.
                     The value of 0/1 can be provisioned. The value of 2 can
                     not be provisioned."
        DEFVAL      { 2 }
        ::= { tlsTrunkGroupEntry 3 }
        
tlsTrunkGroupOperTrafficDistrId OBJECT-TYPE
        SYNTAX      INTEGER (0..2)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A user assigned identifier that is used to distribute
                     traffic between the two redundant ports. This identifier
                     is a result of a load-sharing algorithm applied to all
                     frames forwarded by ports in a trunk group. Frames
                     whose hash result is 0 will be forwarded by port with
                     traffic ditribution id of 0. Frames with result 1 will be
                     forwarded by port with ditribution id of 1."
        ::= { tlsTrunkGroupEntry 4 }

tlsTrunkGroupEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enables a specific trunk group on the ring."
        ::= { tlsTrunkGroupEntry 5 }


tlsTrunkGroupMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The trunk group Mac address. The trunk group Mac
                     address is not provisionable at this time.
                     The trunk group Mac address is the trunk group port
                     member port Mac address."
        ::= { tlsTrunkGroupEntry 6 }

tlsTrunkGroupGroupType OBJECT-TYPE
        SYNTAX      INTEGER {
                        dmlt(1)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The type of the trunk group. Only type 'split' is
                     supported at this time."
        DEFVAL      { 1 }
        ::= { tlsTrunkGroupEntry 7 }

tlsTrunkGroupPortType OBJECT-TYPE
        SYNTAX      TlsIfType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The type of the port: nni, uni mapped, uni transparent.
                     Only type nni is supported at this time."
        DEFVAL      { 4 }
        ::= { tlsTrunkGroupEntry 8 }

tlsTrunkGroupPortList OBJECT-TYPE
        SYNTAX      BITS {
                        lan1 (0),
                        lan2 (1),
                        lan3 (2),
                        lan4 (3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The list of ports defined on this card that belong to
                     this trunk group."
        DEFVAL      { { } }
        ::= { tlsTrunkGroupEntry 9 }

tlsTrunkGroupWTRTimer OBJECT-TYPE
        SYNTAX      INTEGER (5..60)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The Wait To Restore timer in seconds. Only the value of
                     30 seconds is supported at this time."
        DEFVAL      { 30 }
        ::= { tlsTrunkGroupEntry 10 }

tlsTrunkGroupOperState OBJECT-TYPE
        SYNTAX      TlsTrunkGroupOperState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The operational state of the trunk group."
        ::= { tlsTrunkGroupEntry 11 }


tlsTrunkGroupDistrAlgorithm OBJECT-TYPE
        SYNTAX      INTEGER { none(0) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The type of distribution algorithm used by this trunk
                     group. To be used in the future."
        DEFVAL      { 0 }
        ::= { tlsTrunkGroupEntry 12 }

tlsTrunkGroupRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Used to create/delete an entry."
        ::= { tlsTrunkGroupEntry 13 }

--
-- TLS Wan Trunk Group Table Specific Definitions
--

tlsWanTrunkGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsWanTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table containing information pertaining to all trunk
                     groups defined on the OPE ring."
        ::= { tlsTrunkGroup 4 }

tlsWanTrunkGroupEntry OBJECT-TYPE
        SYNTAX      TlsWanTrunkGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Status information pertaining to a particular TLS
                     trunk group defined on the ring."
        INDEX           { tlsWanTrunkGroupMacAddr, tlsWanTrunkGroupId }
        ::= { tlsWanTrunkGroupTable 1 }

TlsWanTrunkGroupEntry ::=
        SEQUENCE {
                tlsWanTrunkGroupMacAddr         MacAddress,
                tlsWanTrunkGroupId              TlsTrunkGroupId,
                tlsWanTrunkGroupTrafficDistrId  INTEGER,
                tlsWanTrunkGroupWanAddr         MacAddress,
                tlsWanTrunkGroupIpAddr          IpAddress,
                tlsWanTrunkGroupOperState       TlsTrunkGroupOperState
                }

tlsWanTrunkGroupMacAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The trunk group Mac address referred to by this entry.
                     The Mac address of the trunk group is the trunk group
                     port member Mac address at this time."
        ::= { tlsWanTrunkGroupEntry 1 }

tlsWanTrunkGroupId OBJECT-TYPE
        SYNTAX      TlsTrunkGroupId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A value that uniquely identifies the trunk group on
                     the ring."
        ::= { tlsWanTrunkGroupEntry 2 }

tlsWanTrunkGroupTrafficDistrId OBJECT-TYPE
        SYNTAX      INTEGER (0..2)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A user assigned identifier that is used to distribute
                     traffic between the two redundant ports. This identifier
                     is a result of a load-sharing algorithm applied to all
                     frames forwarded by ports in a trunk group. Frames
                     whose hash result is 0 will be forwarded by port with
                     traffic ditribution id of 0. Frames with result 1 will be
                     forwarded by port with ditribution id of 1.
                     The value of 0/1 can be provisioned. The value of 2 can
                     not be provisioned."
        ::= { tlsWanTrunkGroupEntry 3 }

tlsWanTrunkGroupWanAddr OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The OPE MAC address of the node on which the trunk group
                         is defined."
        ::= { tlsWanTrunkGroupEntry 4 }

tlsWanTrunkGroupIpAddr OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The OPE Node IP address of the node on which the 
                     trunk group is defined."
        ::= { tlsWanTrunkGroupEntry 5 }

tlsWanTrunkGroupOperState OBJECT-TYPE
        SYNTAX      TlsTrunkGroupOperState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The operational state of the trunk group."
        ::= { tlsWanTrunkGroupEntry 6 }

--
-- TLS Wan Trunk Group Statistics Table Specific Definitions
--

tlsTrunkGroupStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF TlsTrunkGroupStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table containing statistics pertaining to control 
                     messages sent by a trunk group defined on the 
                     OPE card."
        ::= { tlsTrunkGroup 5 }
tlsTrunkGroupStatsEntry OBJECT-TYPE
        SYNTAX      TlsTrunkGroupStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Contains statistics for a specific trunk group."
        INDEX       { tlsTrunkGroupStatsIndex }
        ::= { tlsTrunkGroupStatsTable 1 }

TlsTrunkGroupStatsEntry ::=
        SEQUENCE {
                tlsTrunkGroupStatsIndex              TlsTrunkGroupId,
                tlsTrunkGroupStatsHelloTxMsg         Counter32,
                tlsTrunkGroupStatsHelloRxMsg         Counter32,
                tlsTrunkGroupStatsUpdateTxMsg        Counter32,
                tlsTrunkGroupStatsUpdateRxMsg        Counter32,
                tlsTrunkGroupStatsLinkDownTxMsg      Counter32,
                tlsTrunkGroupStatsLinkDownRxMsg      Counter32,
                tlsTrunkGroupStatsLinkUpTxMsg        Counter32,
                tlsTrunkGroupStatsLinkUpRxMsg        Counter32
        }

tlsTrunkGroupStatsIndex OBJECT-TYPE
        SYNTAX      TlsTrunkGroupId
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "A value that uniquely identifies the trunk group on
                     the ring."
        ::= { tlsTrunkGroupStatsEntry 1 }

tlsTrunkGroupStatsHelloTxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Hello messages sent by this trunk group."
        ::= { tlsTrunkGroupStatsEntry 2}

tlsTrunkGroupStatsHelloRxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Hello messages received by this 
                     trunk group."
        ::= { tlsTrunkGroupStatsEntry 3}

tlsTrunkGroupStatsUpdateTxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Update messages sent by this trunk group."
        ::= { tlsTrunkGroupStatsEntry 4}

tlsTrunkGroupStatsUpdateRxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Update messages received by this 
                     trunk group."
        ::= { tlsTrunkGroupStatsEntry 5}

tlsTrunkGroupStatsLinkDownTxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Link Down messages sent by this 
                     trunk group."
        ::= { tlsTrunkGroupStatsEntry 6}

tlsTrunkGroupStatsLinkDownRxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Link Down messages received from this 
                     trunk group."
        ::= { tlsTrunkGroupStatsEntry 7}

tlsTrunkGroupStatsLinkUpTxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Link Up messages sent by this 
                     trunk group."
        ::= { tlsTrunkGroupStatsEntry 8}

tlsTrunkGroupStatsLinkUpRxMsg OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of Link Up messages received from this trunk
                     group."
        ::= { tlsTrunkGroupStatsEntry 9}

--
-- TLS SNMP Notification Objects Group
--
tlsRemoteConflictingMac OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The MAC address of a remote network device that
                     claims prior ownership of one of the IP addresses
                     being used on the local node. See the notification
                     'tlsIpAddressConflict' for more information."
        ::= { tlsNotificationObjects 1 }

tlsConflictingIp OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The IP address on the local node that has been
                     determined to be in conflict with another device
                     somewhere on the network. See the notification
                     'tlsIpAddressConflict' for more informaiton."
        ::= { tlsNotificationObjects 2 }
        
tlsTrunkGroupConfigErrorType OBJECT-TYPE
        SYNTAX      INTEGER {
                        trunkGroupIdConflict (1),
                        distributionIdConflict (2)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "Potential types  of  configuration  conflicts.
                     Used  by the tlsTrunkGroupConfigError trap."
        ::= { tlsNotificationObjects 3 }

tlsTrunkGroupPacketType OBJECT-TYPE
        SYNTAX      INTEGER {
                        hello(1),
                        linkState(2),
                        update(3)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "Control packet types sent between trunk group peers.
                     Used  by the tlsTrunkGrouErrorEvent trap."
        ::= { tlsNotificationObjects 4 }

tlsTrunkGroupErrorEventType OBJECT-TYPE
        SYNTAX      INTEGER {
                        controlMessageTimeOut(1),
                        fiveMinHeartbeatMissing(2)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "Potential types of errors that can occur during various
                     trunk group protocol stages.
                     Used  by the tlsTrunkGroupErrorEvent trap."
        ::= { tlsNotificationObjects 5 }        


--
-- TLS SNMP Notification Configuration Group
--
-- Objects necessary for enabling/disabling the Nortel TLS
-- notifications individually.
--
tlsIPAddressConflictEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the IP Address Conflict
                     notification is enabled or disabled."
        DEFVAL      { false }
        ::= { tlsNotificationConfig 1 }

tlsTrunkGroupStateChangeEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the Trunk Group State Change
                     trap is enabled or disabled."
        DEFVAL      { false }
        ::= { tlsNotificationConfig 2 }

tlsTrunkGroupProvisioningChangeEnabled OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Indicates whether the Trunk Group Provisioning
                     Change trap is enabled or disabled."
        DEFVAL      { false }
        ::= { tlsNotificationConfig 3 }

--
--  TLS Specific Trap Definitions
--
uniOnRBDTrap  NOTIFICATION-TYPE
        OBJECTS {
            tlsTDIfIndex,
            tlsTDIfTagValue
        }
        STATUS current
        DESCRIPTION
            "UNI placed on Ring-Broadcast-Domain Trap. This trap is
            sent whenever an entry is added to the TlsTDIFTable that
            places a UNI on the same TD as management traffic
            (i.e. the ring broadcat domain)."
        ::= { tlsNotifications 10 }


uniOffRBDTrap NOTIFICATION-TYPE
        OBJECTS {
            tlsTDIfIndex,
            tlsTDIfTagValue
        }
        STATUS current
        DESCRIPTION
            "UNI taken off Ring-Broadcast-Domain Trap. This trap is
            sent whenever an entry is deleted from the TlsTDIFTable that
            removes a UNI from the ring broadcast domain"
        ::= {tlsNotifications 20 }

craftPortEnabledTrap NOTIFICATION-TYPE
        OBJECTS {
            tlsIfIndex
        }
        STATUS current
        DESCRIPTION
            "Craft Port Enabled Trap. This trap is sent whenever
             a lan port is being changed to a craft port"
        ::= { tlsNotifications 30 }

tlsTDStateChanged NOTIFICATION-TYPE
        OBJECTS {
            tlsTDIfTDIndex,
            tlsTDIfEnabled
        }
        STATUS current
        DESCRIPTION
            "This notification is generated to report the transparent 
             domain services (TDs) that have been enabled or disabled
             for one or more ports. The pair of variables tlsTDIfTDIndex 
             and tlsTDIfEnabled will be bound for each TD. It is recommended
             that in order to minimze the number of these notifications,
             implementations send this notification periodically with the
             group of TDs that may have changed state rather than sending a
             notification for each TD as it changes."
        ::= { tlsNotifications 60 }

tlsCraftPortDisabledTrap NOTIFICATION-TYPE
        OBJECTS {
            tlsIfIndex
        }
        STATUS      current
        DESCRIPTION
            "Craft Port Disabled Trap. This trap is sent whenever
             a craft port is changed to a different port type."
     ::= { tlsNotifications 70 }


tlsIpAddrConflict NOTIFICATION-TYPE
        OBJECTS {
            tlsConflictingIp,
            tlsIfIndex,
            tlsRemoteConflictingMac
            -- iptSysName for OPE
            -- iptSysSlot for OPE
        }
        STATUS current
        DESCRIPTION
            "IP Address Conflict. This notification is sent whenever
             an IP address on the local node is changed, and it is
             discovered (through Gratuitous ARP) that another device on
             the network is already using the new IP address. The
             notification contains conflicting IP in question, as well as
             the ifIndex of the local interface that was configured with
             the conflicting IP, and the MAC address of the remote network
             device that claims to already own the IP. Products using this
             notification should bind in additional product-specific MIB
             data in order to best identify the specific source of the
             event."
        ::= { tlsNotifications 80 }

tlsTrunkGroupStateChange NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupId,
            tlsTrunkGroupEnabled
        }
        STATUS current
        DESCRIPTION
            "This trap is generated to report that a trunk group
             has been administratively activated or deactivated on
             a port."
         ::= { tlsNotifications 120 }

tlsTrunkGroupConfigError NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupConfigErrorType,
            tlsTrunkGroupId
        }
        STATUS current
        DESCRIPTION
            "This trap is generated when a frame has been
             received on a redundant port from a redundant port whose
             configuration parameters conflict with this redundant
             port's configuration parameters."
        ::= { tlsNotifications 130 }

tlsTrunkGroupConfigErrorCleared NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupConfigErrorType,
            tlsTrunkGroupId
        }
        STATUS current
        DESCRIPTION
            "This trap clears the tlsTrunkGroupConfigError trap."
        ::= { tlsNotifications 140 }

tlsTrunkGroupErrorEvent  NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupId,
            tlsTrunkGroupErrorEventType,
            tlsTrunkGroupPacketType
        }
        STATUS current
        DESCRIPTION
            "This trap is generated to report various error events for
             a trunk group."
        ::= { tlsNotifications 150 }

tlsTrunkGroupErrorEventCleared  NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupId,
            tlsTrunkGroupErrorEventType,
            tlsTrunkGroupPacketType
        }
        STATUS current
        DESCRIPTION
            "This trap is generated to clear the
             tlsTrunkGroupErrorEvent trap upon resolution of the error or
             disabling of the trunk group after an error occurred."
        ::= { tlsNotifications 160 }
         
tlsTrunkGroupProvisioningChange NOTIFICATION-TYPE
        OBJECTS {
            tlsTrunkGroupId
        }
        STATUS current
        DESCRIPTION
            "This trap is generated to report that a provisioning
             change has occurred that relates to the port being
             a member of a trunk group."
        ::= { tlsNotifications 170 }

tlsTestTdcTestFailure NOTIFICATION-TYPE
        OBJECTS {
            tlsTestTdcTestId
        }
        STATUS current
        DESCRIPTION
            "Test Failure Trap.  This trap is sent when a TD
             Continuity test fails.  This trap will only be sent
             if tlsTestTdcSnmpTrapControl is enabled (true)."
        ::= { tlsNotifications 180 }

tlsTestTdcRttThresholdExceeded NOTIFICATION-TYPE
        OBJECTS {
            tlsTestTdcTestId
        }
        STATUS current
        DESCRIPTION
            "Round Trip Time Threshold Exceeded Trap.  This notification
             is generated when the packet Round Trip Time for a TD
             Continuity test exceeds the provisioned threshold
             (tlsTestTdcRttThreshold).
             It will only be sent if tlsTestTdcRttThreshold is
             greater than zero, and if tlsTestTdcSnmpTrapControl is 
             enabled (true)."
        ::= { tlsNotifications 190 }

END
