TROPIC-VTSCONN-MIB DEFINITIONS ::= BEGIN

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

IMPORTS
      OBJECT-TYPE, MODULE-IDENTITY,
      IpAddress, Unsigned32                   FROM SNMPv2-SMI
      MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
      TEXTUAL-CONVENTION,
      TruthValue, RowStatus                   FROM SNMPv2-TC
      InterfaceIndex                          FROM IF-MIB
      tnPortModules, tnVtsConnMIB             FROM TROPIC-GLOBAL-REG;

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

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

      DESCRIPTION "VTS Connection MIB types."

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

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

      REVISION    "201102251200Z"
      DESCRIPTION "Defined AluWdmVtsCmodeMapCMode for
                   tnIngressVtsCmodeMapCMode and
                   tnEgressVtsCmodeMapCMode and added a new enum,
                   untagged(7), to the values."

      REVISION    "201102221200Z"
      DESCRIPTION "Updated descriptions of attributes in
                   tnIngressVtsCmodeMapTable."

      REVISION    "201010261200Z"
      DESCRIPTION "Added tnIngressVtsCmodeMapTable and
                   tnEgressVtsCmodeMapTable."

      REVISION    "201010141200Z"
      DESCRIPTION "Added tnVtsConnProtectionState to tnVtsConnTable."

      REVISION    "201006231200Z"
      DESCRIPTION "1) Marked tnVtsMapDirection as obsolete.
                   2) Added tnIngressVtsMapTable and tnEgressVtsMapTable."

      REVISION    "201006041200Z"
      DESCRIPTION "1) Added tnVtsMapSVLANID to tnVtsMapTable.
                   2) Added tnVtsMapDirection to the tnVtsMapTable INDEX."

      REVISION    "201005181200Z"
      DESCRIPTION "Added tnVtsMapDirection to tnVtsMapTable."

      REVISION    "201003031200Z"
      DESCRIPTION "Corrected IMPORTS file reference."

      REVISION    "200907171200Z"
      DESCRIPTION "Added default values for tnVtsConnCIR, tnVtsConnEIR,
                   tnVtsConnCBS, and tnVtsConnEBS."

      REVISION    "200907071200Z"
      DESCRIPTION "Added tnVtsConnIdGroup to tnVtsConnCompliance."

      REVISION    "200906181200Z"
      DESCRIPTION "1) Added tnVtsConnId.
                   2) Added tnVtsConnIdTable.
                   3) Rearranged order and added missing MIB attributes
                      in tnVtsConnGroup."

      REVISION    "200905311200Z"
      DESCRIPTION "Changed tnVtsConnName from SIZE(256) to SIZE(0..256)."

      REVISION    "200904271200Z"
      DESCRIPTION "Fixed typos and corrected descriptions of
                   tnVtsConnAdminState."

      ::= { tnPortModules 4 }

  tnVtsConnConf        OBJECT IDENTIFIER ::= { tnVtsConnMIB 1 }
  tnVtsConnGroups      OBJECT IDENTIFIER ::= { tnVtsConnConf 1 }
  tnVtsConnCompliances OBJECT IDENTIFIER ::= { tnVtsConnConf 2 }
  tnVtsConnObjs        OBJECT IDENTIFIER ::= { tnVtsConnMIB 2 }
  tnVtsConnBasics      OBJECT IDENTIFIER ::= { tnVtsConnObjs 1 }

--------------------------------------------------------------------------------
-- Type Definitions
--------------------------------------------------------------------------------
    AluWdmVtsCmodeMapCMode ::= TEXTUAL-CONVENTION
        STATUS         current
        DESCRIPTION    "It is used to provision classification mode.
                        The value of the classification mode can be:
                        cvlan(1) - CEVLAN TAGGED.  Only configured cvlantag
                          packets (matched tnIngressVtsCmodeMapCEVLANID)
                          will be passed from client port to line port.
                        svlan(2) - SVLAN TAGGED.  Only configured svlantag
                          packets (matched tnIngressVtsCmodeMapSVLANID)
                          will be passed from client port to line port or
                          from line port to client port.
                        sip(3) - Source IP Address.  Only configured sip
                          packets (matched tnIngressVtsCmodeMapSIP) will
                          be passed from client port to line port.
                        dip(4) - Destination IP Address.  Only configured
                          dip packets (matched tnIngressVtsCmodeMapDIP)
                          will be passed from client port to line port.
                        sipdip(5) - Source IP Address and Destination IP
                          address.  Only configured sip & dip packets
                          (matched both tnIngressVtsCmodeMapSIP and
                          tnIngressVtsCmodeMapDIP)will be passed from
                          client port to line port.
                        port(6) - Port.  All packets coming from client
                          port will be passed to line port.
                        untagged(7) - UNTAGGED.  It is used for untagged
                          and priority tagged traffic.  A unique CEVLAN
                          ID in the range of 1-4094 can be provisioned
                          for pushing the provisioned CEVLAN ID in the
                          untagged and priority tagged  packet."
        SYNTAX         INTEGER {
                         cvlan(1),
                         svlan(2),
                         sip(3),
                         dip(4),
                         sipdip(5),
                         port(6),
                         untagged(7)
                       }

--------------------------------------------------------------------------------
-- VTS cross connection Table
--------------------------------------------------------------------------------
    tnVtsConnTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnVtsConnEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of VTS cross connection attributes."
        ::= { tnVtsConnBasics 1 }

    tnVtsConnEntry OBJECT-TYPE
        SYNTAX         TnVtsConnEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsConnSrcIfIndex,
                tnVtsConnSrcVts,
                tnVtsConnDestIfIndex,
                tnVtsConnDestVts
              }
        ::= { tnVtsConnTable 1 }

    TnVtsConnEntry ::=
        SEQUENCE {
            tnVtsConnSrcIfIndex        InterfaceIndex,
            tnVtsConnSrcVts            Unsigned32,
            tnVtsConnDestIfIndex       InterfaceIndex,
            tnVtsConnDestVts           Unsigned32,
            tnVtsConnAdminState        INTEGER,
            tnVtsConnOperState         INTEGER,
            tnVtsConnBidirectional     TruthValue,
            tnVtsConnName              OCTET STRING,
            tnVtsConnCIR               Unsigned32,
            tnVtsConnEIR               Unsigned32,
            tnVtsConnCBS               Unsigned32,
            tnVtsConnEBS               Unsigned32,
            tnVtsConnRowStatus         RowStatus,
            tnVtsConnId                Unsigned32,
            tnVtsConnProtectionState   INTEGER
        }

    tnVtsConnSrcIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The ifIndex of the VTS connection source."
        ::= { tnVtsConnEntry 1 }

    tnVtsConnSrcVts OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The VTS number of the connection source.
                        line:   1 to 32
                        client: 1 to 10."
        ::= { tnVtsConnEntry 2 }

    tnVtsConnDestIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The ifIndex of the VTS connection destination."
        ::= { tnVtsConnEntry 3 }

    tnVtsConnDestVts OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The VTS number of the connection destination.
                        line:   1 to 32
                        client: 1 to 10."
        ::= { tnVtsConnEntry 4 }

    tnVtsConnAdminState OBJECT-TYPE
        SYNTAX         INTEGER {
                         up(1),
                         down(2)
                       }
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The administrative state of the connection."
        DEFVAL         { down }
        ::= { tnVtsConnEntry 5 }

    tnVtsConnOperState OBJECT-TYPE
        SYNTAX         INTEGER {
                         up(1),
                         down(2)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The operation state of the connection."
        ::= { tnVtsConnEntry 6 }

    tnVtsConnBidirectional OBJECT-TYPE
        SYNTAX         TruthValue
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "An indication as to whether or not this
                        connection is bidirectional or unidirectional."
        DEFVAL         { true }
        ::= { tnVtsConnEntry 7 }

    tnVtsConnName OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..256))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The description of the VTS connection."
        DEFVAL         { "" }
        ::= { tnVtsConnEntry 8 }

    tnVtsConnCIR OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The CIR value of the VTS connection granularity
                        of 100mbps.

                        Current configurable range: 0 to 1000 (mbps)."
        DEFVAL         { 100 }
        ::= { tnVtsConnEntry 9 }

    tnVtsConnEIR OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The EIR value of the VTS connection granularity
                        of 100mbps.

                        Current configurable range: 0 to 1000 (mbps)."
        DEFVAL         { 1000 }
        ::= { tnVtsConnEntry 10 }

    tnVtsConnCBS OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The CBS value of the VTS connection.

                        Current configurable values: 16, 32, 64, 128,
                        256, 512, 1024, 2048, 4096, 8192, 16384 (Kbyte)."
        DEFVAL         { 256 }
        ::= { tnVtsConnEntry 11 }

    tnVtsConnEBS OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "The EBS value of the VTS connection.

                        Current configurable values: 16, 32, 64, 128,
                        256, 512, 1024, 2048, 4096, 8192, 16384 (Kbyte)."
        DEFVAL         { 4096 }
        ::= { tnVtsConnEntry 12 }

    tnVtsConnRowStatus OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Currently all entries have a row status of
                        active.  Sets are permitted with values of
                        createAndGo, active and destroy."
        ::= { tnVtsConnEntry 13 }

    tnVtsConnId OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The ID of the Vts connection.  It is used as
                        the object id value in traps, alarms and logs."
        ::= { tnVtsConnEntry 14 }

    tnVtsConnProtectionState OBJECT-TYPE
        SYNTAX         INTEGER {
                         none(1),
                         working(2),
                         protection(3)
                       }
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The protection state of the connection."
        ::= { tnVtsConnEntry 15 }

--------------------------------------------------------------------------------
-- VTS Vlan MapTable
--------------------------------------------------------------------------------
    tnVtsMapTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of VTS map."
        ::= { tnVtsConnBasics 2 }

    tnVtsMapEntry OBJECT-TYPE
        SYNTAX         TnVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsMapIfIndex,
                tnVtsMapVts
              }
        ::= { tnVtsMapTable 1 }

    TnVtsMapEntry ::=
        SEQUENCE {
            tnVtsMapIfIndex           InterfaceIndex,
            tnVtsMapVts               Unsigned32,
            tnVtsMapCEVLANID          OCTET STRING,
--            obsolete
--            tnVtsMapDirection         INTEGER,
            tnVtsMapSVLANID           Unsigned32
        }

    tnVtsMapIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The ifIndex of the VTS Map Table."
        ::= { tnVtsMapEntry 1 }

    tnVtsMapVts OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "The VTS number of VTS Map Table.

                        Value range: 1 to 10."
        ::= { tnVtsMapEntry 2 }

    tnVtsMapCEVLANID OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..64))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "CEVLANID string indicates the VLANID or VLANID
                        ranges, separated by comma.  Example: 1,5,1-100.

                        Current configurable range: 1 to 4095, ALL."
        DEFVAL         { "" }
        ::= { tnVtsMapEntry 3 }

--    obsolete
--    tnVtsMapDirection OBJECT-TYPE ::= { tnVtsMapEntry 4 }

    tnVtsMapSVLANID OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Current configurable range: 1 to 4095, NULL."
        ::= { tnVtsMapEntry 5 }

--------------------------------------------------------------------------------
-- VTS CONNECTION ID Table
--------------------------------------------------------------------------------
    tnVtsConnIdTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnVtsConnIdEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "This table may be used as a lookup for the full
                        VTS CONNECTION index given an VTS CONNECTION ID.
                        The VTS CONNECTION ID may be found in the object
                        ID of traps, alarms, and logs.  Getnext requests
                        are not supported in this table."
        ::= { tnVtsConnBasics 3 }

    tnVtsConnIdEntry OBJECT-TYPE
        SYNTAX         TnVtsConnIdEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsConnId }
        ::= { tnVtsConnIdTable 1 }

    TnVtsConnIdEntry ::=
        SEQUENCE {
            tnVtsConnIdSrcIfIndex       InterfaceIndex,
            tnVtsConnIdSrcVts           Unsigned32,
            tnVtsConnIdDestIfIndex      InterfaceIndex,
            tnVtsConnIdDestVts          Unsigned32
        }

    tnVtsConnIdSrcIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The ifIndex of the vts connection source."
        ::= { tnVtsConnIdEntry 1 }

    tnVtsConnIdSrcVts OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The vts of the vts connection source."
        ::= { tnVtsConnIdEntry 2 }

    tnVtsConnIdDestIfIndex OBJECT-TYPE
        SYNTAX         InterfaceIndex
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The ifIndex of the vts connection destination."
        ::= { tnVtsConnIdEntry 3 }

    tnVtsConnIdDestVts OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-only
        STATUS         current
        DESCRIPTION    "The vts of the vts connection destination."
        ::= { tnVtsConnIdEntry 4 }

--------------------------------------------------------------------------------
-- Ingress VTS Vlan Map Table
--------------------------------------------------------------------------------
    tnIngressVtsMapTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnIngressVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of Ingress VTS map."
        ::= { tnVtsConnBasics 4 }

    tnIngressVtsMapEntry OBJECT-TYPE
        SYNTAX         TnIngressVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsMapIfIndex,
                tnVtsMapVts
              }
        ::= { tnIngressVtsMapTable 1 }

    TnIngressVtsMapEntry ::=
        SEQUENCE {
            tnIngressVtsMapCEVLANID          OCTET STRING,
            tnIngressVtsMapSVLANID           Unsigned32
        }

    tnIngressVtsMapCEVLANID OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..64))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Ingress CEVLANID string indicates the VLANID or
                        VLANID ranges, separated by comma.
                        Example: 1,5,1-100.

                        Current configurable range: 1 to 4095, ALL."
        DEFVAL         { "" }
        ::= { tnIngressVtsMapEntry 1 }

    tnIngressVtsMapSVLANID OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Ingress Current configurable range: 1 to 4095, NULL."
        ::= { tnIngressVtsMapEntry 2 }

--------------------------------------------------------------------------------
-- Egress VTS Vlan Map Table
--------------------------------------------------------------------------------
    tnEgressVtsMapTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnEgressVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of Egress VTS map."
        ::= { tnVtsConnBasics 5 }

    tnEgressVtsMapEntry OBJECT-TYPE
        SYNTAX         TnEgressVtsMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsMapIfIndex,
                tnVtsMapVts
              }
        ::= { tnEgressVtsMapTable 1 }

    TnEgressVtsMapEntry ::=
        SEQUENCE {
            tnEgressVtsMapCEVLANID          OCTET STRING,
            tnEgressVtsMapSVLANID           Unsigned32
        }

    tnEgressVtsMapCEVLANID OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..64))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Egress CEVLANID string indicates the VLANID or
                        VLANID ranges, separated by comma.
                        Example: 1,5,1-100.

                        Current configurable range: 1 to 4095, ALL."
        DEFVAL         { "" }
        ::= { tnEgressVtsMapEntry 1 }

    tnEgressVtsMapSVLANID OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Egress Current configurable range: 1 to 4095, NULL."
        ::= { tnEgressVtsMapEntry 2 }

--------------------------------------------------------------------------------
-- Ingress VTS Vlan Cmode Map Table
--------------------------------------------------------------------------------
    tnIngressVtsCmodeMapTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnIngressVtsCmodeMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of Ingress VTS Cmode map."
        ::= { tnVtsConnBasics 6 }

    tnIngressVtsCmodeMapEntry OBJECT-TYPE
        SYNTAX         TnIngressVtsCmodeMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsMapIfIndex,
                tnVtsMapVts }
        ::= { tnIngressVtsCmodeMapTable 1 }

    TnIngressVtsCmodeMapEntry ::=
        SEQUENCE {
            tnIngressVtsCmodeMapCEVLANID    OCTET STRING,
            tnIngressVtsCmodeMapSVLANID     Unsigned32,
            tnIngressVtsCmodeMapSIP         IpAddress,
            tnIngressVtsCmodeMapDIP         IpAddress,
            tnIngressVtsCmodeMapCMode       AluWdmVtsCmodeMapCMode,
            tnIngressVtsCmodeMapRowStatus   RowStatus
        }

    tnIngressVtsCmodeMapCEVLANID OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..64))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Ingress CEVLANID string indicates the VLANID or
                        VLANID ranges, separated by commas.  Example:
                        1,5,1-100.  It is applicable only when
                        tnIngressVtsCmodeMapCMode is cvlan.

                        Current configurable range: 1 to 4095, ALL."
        DEFVAL         { "" }
        ::= { tnIngressVtsCmodeMapEntry 1 }

    tnIngressVtsCmodeMapSVLANID OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Ingress SVLANID string indicates the VLANID or
                        VLANID ranges, separated by commas.  Example:
                        1,5,1-100.  It is applicable only when
                        tnIngressVtsCmodeMapCMode is svlan.

                        Current configurable range: 1 to 4095, ALL."
        ::= { tnIngressVtsCmodeMapEntry 2 }

    tnIngressVtsCmodeMapSIP OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Source IP Address is used for traffic
                        classification based on the Source IP Address.
                        Source IP Address can be a 32 bit number.  The
                        default value is null.  It can be provisioned
                        only when CMODE is set to Source IP Address or
                        source IP and destination IP.  It is applicable
                        only when tnIngressVtsCmodeMapCMode is sip."
        ::= { tnIngressVtsCmodeMapEntry 3 }

    tnIngressVtsCmodeMapDIP OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Destination IP Address is used for traffic
                        classification based on the Source IP Address.
                        Destination IP Address can be a 32 bit number.
                        The default value is null.  It can be provisioned
                        only when CMODE is set to Destination IP Address
                        or source IP and destination IP.  It is applicable
                        only when tnIngressVtsCmodeMapCMode is dip."
        ::= { tnIngressVtsCmodeMapEntry 4 }

    tnIngressVtsCmodeMapCMode OBJECT-TYPE
        SYNTAX          AluWdmVtsCmodeMapCMode
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "It is used to provision classification mode."
        ::= { tnIngressVtsCmodeMapEntry 5 }

    tnIngressVtsCmodeMapRowStatus OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Currently all entries have a row status of active.
                        Sets are permitted with the following values:

                        createAndGo - Create the entry - When
                          tnIngressVtsCmodeMapCMode or
                          tnEgressVtsCmodeMapCMode is provisioned and
                          followed by a non-null value.
                        active - It is read-only after the entry is
                          provisioned.
                        destroy - Delete the entry - When
                          tnIngressVtsCmodeMapCMode or
                          tnEgressVtsCmodeMapCMode is provisioned and
                          followed by a null value."
        ::= { tnIngressVtsCmodeMapEntry 6 }

--------------------------------------------------------------------------------
-- Egress VTS Vlan Cmode Map Table
--------------------------------------------------------------------------------
    tnEgressVtsCmodeMapTable OBJECT-TYPE
        SYNTAX         SEQUENCE OF TnEgressVtsCmodeMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "Table of Egress Cmode VTS map."
        ::= { tnVtsConnBasics 7 }

    tnEgressVtsCmodeMapEntry OBJECT-TYPE
        SYNTAX         TnEgressVtsCmodeMapEntry
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION    "."
        INDEX { tnVtsMapIfIndex,
                tnVtsMapVts }
        ::= { tnEgressVtsCmodeMapTable 1 }

    TnEgressVtsCmodeMapEntry ::=
        SEQUENCE {
            tnEgressVtsCmodeMapCEVLANID     OCTET STRING,
            tnEgressVtsCmodeMapSVLANID      Unsigned32,
            tnEgressVtsCmodeMapSIP          IpAddress,
            tnEgressVtsCmodeMapDIP          IpAddress,
            tnEgressVtsCmodeMapCMode        AluWdmVtsCmodeMapCMode,
            tnEgressVtsCmodeMapRowStatus    RowStatus
        }

    tnEgressVtsCmodeMapCEVLANID OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(0..64))
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Egress CEVLANID string indicates the VLANID or
                        VLANID ranges, separated by commas.  Example:
                        1,5,1-100.

                        Current configurable range: 1 to 4095, ALL."
        DEFVAL         { "" }
        ::= { tnEgressVtsCmodeMapEntry 1 }

    tnEgressVtsCmodeMapSVLANID OBJECT-TYPE
        SYNTAX         Unsigned32
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Egress SVLANID string indicates the VLANID or
                        VLANID ranges, separated by commas.  Example:
                        1,5,1-100.

                        Current configurable range: 1 to 4095, ALL."
        ::= { tnEgressVtsCmodeMapEntry 2 }

    tnEgressVtsCmodeMapSIP OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Source IP Address is used for traffic
                        classification based on the Source IP Address.
                        Source IP Address can be a 32 bit number.  The
                        default value is null.  It can be provisioned
                        only when CMODE is set to Source IP Address or
                        source IP and destination IP."
        ::= { tnEgressVtsCmodeMapEntry 3 }

    tnEgressVtsCmodeMapDIP OBJECT-TYPE
        SYNTAX         IpAddress
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Destination IP Address is used for traffic
                        classification based on the Source IP Address.
                        Destination IP Address can be a 32 bit number.
                        The default value is null.  It can be provisioned
                        only when CMODE is set to Destination IP Address
                        or source IP and destination IP."
        ::= { tnEgressVtsCmodeMapEntry 4 }

    tnEgressVtsCmodeMapCMode OBJECT-TYPE
        SYNTAX         AluWdmVtsCmodeMapCMode
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "It is used to differ classification mode."
        ::= { tnEgressVtsCmodeMapEntry 5 }

    tnEgressVtsCmodeMapRowStatus OBJECT-TYPE
        SYNTAX         RowStatus
        MAX-ACCESS     read-create
        STATUS         current
        DESCRIPTION    "Currently all entries have a row status of
                        active.  Sets are permitted with values of
                        createAndGo, active, and destroy."
        ::= { tnEgressVtsCmodeMapEntry 6 }

--------------------------------------------------------------------------------
-- Conformance Group Definitions
--------------------------------------------------------------------------------
    tnVtsConnGroup OBJECT-GROUP
        OBJECTS {
            tnVtsConnAdminState,
            tnVtsConnOperState,
            tnVtsConnBidirectional,
            tnVtsConnName,
            tnVtsConnCIR,
            tnVtsConnEIR,
            tnVtsConnCBS,
            tnVtsConnEBS,
            tnVtsConnRowStatus,
            tnVtsConnId,
            tnVtsConnProtectionState
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 1 }

    tnVtsMapGroup OBJECT-GROUP
        OBJECTS {
            tnVtsMapCEVLANID,
--            obsolete
--            tnVtsMapDirection,
            tnVtsMapSVLANID
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 2 }

    tnVtsConnIdGroup OBJECT-GROUP
        OBJECTS {
            tnVtsConnIdSrcIfIndex,
            tnVtsConnIdSrcVts,
            tnVtsConnIdDestIfIndex,
            tnVtsConnIdDestVts
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 3 }

    tnIngressVtsMapGroup OBJECT-GROUP
        OBJECTS {
            tnIngressVtsMapCEVLANID,
            tnIngressVtsMapSVLANID
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 4 }

    tnEgressVtsMapGroup OBJECT-GROUP
        OBJECTS {
            tnEgressVtsMapCEVLANID,
            tnEgressVtsMapSVLANID
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 5 }

    tnIngressVtsCmodeMapGroup OBJECT-GROUP
        OBJECTS {
            tnIngressVtsCmodeMapCEVLANID,
            tnIngressVtsCmodeMapSVLANID,
            tnIngressVtsCmodeMapSIP,
            tnIngressVtsCmodeMapDIP,
            tnIngressVtsCmodeMapCMode,
            tnIngressVtsCmodeMapRowStatus
            }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 6 }

    tnEgressVtsCmodeMapGroup OBJECT-GROUP
        OBJECTS {
            tnEgressVtsCmodeMapCEVLANID,
            tnEgressVtsCmodeMapSVLANID,
            tnEgressVtsCmodeMapSIP,
            tnEgressVtsCmodeMapDIP,
            tnEgressVtsCmodeMapCMode,
            tnEgressVtsCmodeMapRowStatus
        }
        STATUS         current
        DESCRIPTION    "."
        ::= { tnVtsConnGroups 7 }

--------------------------------------------------------------------------------
-- Compliance Statements (mandatory)
--------------------------------------------------------------------------------
    tnVtsConnCompliance MODULE-COMPLIANCE
        STATUS         current
        DESCRIPTION    "."
        MODULE
        MANDATORY-GROUPS  {
            tnVtsConnGroup,
            tnVtsMapGroup,
            tnVtsConnIdGroup,
            tnIngressVtsMapGroup,
            tnEgressVtsMapGroup,
            tnIngressVtsCmodeMapGroup,
            tnEgressVtsCmodeMapGroup

        }
        ::= { tnVtsConnCompliances 1 }

END -- DEFINITION OF TROPIC-VTSCONN-MIB
