-- Namespace: http://viptela.com/app-route

VIPTELA-APP-ROUTE DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Unsigned32, Counter32, Counter64,
    Gauge32, IpAddress
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DateAndTime,
    TruthValue
        FROM SNMPv2-TC
    viptela
        FROM VIPTELA-GLOBAL
;

viptela-app-route MODULE-IDENTITY
    LAST-UPDATED "202307010000Z"
    ORGANIZATION "Viptela, Inc."
    CONTACT-INFO "Viptela, Inc.  Email:support@viptela.com"
    DESCRIPTION "This module defines the data model for application-aware routing operational data"
    REVISION "202307010000Z"
    DESCRIPTION "Viptela Revision 20.12"
    REVISION "202303010000Z"
    DESCRIPTION "Viptela Revision 20.11"
    REVISION "202212150000Z"
    DESCRIPTION "Viptela Revision 20.10"
    REVISION "202206010000Z"
    DESCRIPTION "Viptela Revision 20.9"
    REVISION "202203010000Z"
    DESCRIPTION "Viptela Revision 20.8"
    REVISION "202111010000Z"
    DESCRIPTION "Viptela Revision 20.7"
    REVISION "202107010000Z"
    DESCRIPTION "Viptela Revision 20.6"
    REVISION "202103010000Z"
    DESCRIPTION "Viptela Revision 20.5"
    REVISION "202011010000Z"
    DESCRIPTION "Viptela Revision 20.4"
    REVISION "202007010000Z"
    DESCRIPTION "Viptela Revision 20.3"
    REVISION "202002240000Z"
    DESCRIPTION "Viptela Revision 20.1"
    REVISION "201911150000Z"
    DESCRIPTION "Viptela Revision 19.3"
    REVISION "201908150000Z"
    DESCRIPTION "Viptela Revision 19.2"
    REVISION "201811010000Z"
    DESCRIPTION "Viptela Revision 18.4"
    REVISION "201808200000Z"
    DESCRIPTION "Viptela Revision 18.3.1"
    REVISION "201806250000Z"
    DESCRIPTION "Viptela Revision 18.3"
    REVISION "201804250000Z"
    DESCRIPTION "Viptela Revision 18.2"
    REVISION "201803150000Z"
    DESCRIPTION "Viptela Revision 18.1.1"
    REVISION "201801160000Z"
    DESCRIPTION "Viptela Revision 17.2.3"
    REVISION "201711010000Z"
    DESCRIPTION "Viptela Revision 17.2.1"
    REVISION "201708010000Z"
    DESCRIPTION "Viptela Revision 17.2"
    REVISION "201705250000Z"
    DESCRIPTION "Viptela Revision 17.1.1"
    REVISION "201704060000Z"
    DESCRIPTION "Viptela Revision 17.1"
    REVISION "201702150000Z"
    DESCRIPTION "Viptela Revision 16.3.2"
    REVISION "201702060000Z"
    DESCRIPTION "Viptela Revision 16.3.1"
    REVISION "201611160000Z"
    DESCRIPTION "Viptela Revision 16.3"
    REVISION "201610250000Z"
    DESCRIPTION "Viptela Revision 16.2.10"
    REVISION "201610240000Z"
    DESCRIPTION "Viptela Revision 16.2.4"
    REVISION "201608100000Z"
    DESCRIPTION "Viptela Revision 16.2.2"
    REVISION "201608010000Z"
    DESCRIPTION "Viptela Revision 16.2.1"
    REVISION "201606090000Z"
    DESCRIPTION "Viptela Revision 16.2"
    REVISION "201604220000Z"
    DESCRIPTION "Viptela Revision 16.1.1"
    REVISION "201603150000Z"
    DESCRIPTION "Viptela Revision 16.1"
    REVISION "201601300000Z"
    DESCRIPTION "Viptela Revision 15.4.3"
    REVISION "201512280000Z"
    DESCRIPTION "Viptela Revision 15.4.1"
    REVISION "201512010000Z"
    DESCRIPTION "Viptela Revision 15.4.0"
    REVISION "201510310000Z"
    DESCRIPTION "Viptela Revision 15.3.5"
    REVISION "201509270000Z"
    DESCRIPTION "Viptela Revision 15.3.3"
    REVISION "201509010000Z"
    DESCRIPTION "Viptela Revision 15.3.1"
    REVISION "201507010000Z"
    DESCRIPTION "Viptela Revision 15.3"
    ::= { viptela 9 }

UnsignedByte ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION "xs:unsignedByte"
    SYNTAX      Unsigned32 (0 .. 255)

UnsignedShort ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "d"
    STATUS      current
    DESCRIPTION "xs:unsignedShort"
    SYNTAX      Unsigned32 (0 .. 65535)

ConfdString ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1t"
    STATUS      current
    DESCRIPTION "xs: and confd: types mapped to strings"
    SYNTAX      OCTET STRING

String ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1t"
    STATUS      current
    DESCRIPTION "xs:string"
    SYNTAX      OCTET STRING

InetAddressIP ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "confd:inetAddressIP"
    SYNTAX      OCTET STRING (SIZE (4|16))

-- tagpath /app-route
appRoute OBJECT IDENTIFIER ::= { viptela-app-route 1 }

-- tagpath /app-route/statistics
appRouteStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppRouteStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { viptela-app-route 2 }

-- tagpath /app-route/statistics
appRouteStatisticsEntry OBJECT-TYPE
    SYNTAX      AppRouteStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appRouteStatisticsSrcIp, appRouteStatisticsDstIp, appRouteStatisticsProto, appRouteStatisticsSrcPort, appRouteStatisticsDstPort }
        ::= { appRouteStatisticsTable 1 }

AppRouteStatisticsEntry ::=
    SEQUENCE {
        appRouteStatisticsSrcIp InetAddressIP,
        appRouteStatisticsDstIp InetAddressIP,
        appRouteStatisticsProto INTEGER,
        appRouteStatisticsSrcPort UnsignedShort,
        appRouteStatisticsDstPort UnsignedShort,
        appRouteStatisticsRemoteSystemIp IpAddress,
        appRouteStatisticsLocalColor INTEGER,
        appRouteStatisticsRemoteColor INTEGER,
        appRouteStatisticsMeanLoss UnsignedByte,
        appRouteStatisticsMeanLatency Unsigned32,
        appRouteStatisticsSlaClassIndex String,
        appRouteStatisticsMeanJitter Unsigned32,
        appRouteStatisticsDampSlaClassIndex String,
        appRouteStatisticsDampMultiplierLeft String,
        appRouteStatisticsFallbackSlaClassIndex String
    }

-- tagpath /app-route/statistics/src-ip
appRouteStatisticsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Local TLOC IP address"
    ::= { appRouteStatisticsEntry 1 }

-- tagpath /app-route/statistics/dst-ip
appRouteStatisticsDstIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Remote TLOC IP address"
    ::= { appRouteStatisticsEntry 2 }

-- tagpath /app-route/statistics/proto
appRouteStatisticsProto OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { appRouteStatisticsEntry 3 }

-- tagpath /app-route/statistics/src-port
appRouteStatisticsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Local port number"
    ::= { appRouteStatisticsEntry 4 }

-- tagpath /app-route/statistics/dst-port
appRouteStatisticsDstPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Remote port number"
    ::= { appRouteStatisticsEntry 5 }

-- tagpath /app-route/statistics/remote-system-ip
appRouteStatisticsRemoteSystemIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote system IP address"
    ::= { appRouteStatisticsEntry 6 }

-- tagpath /app-route/statistics/local-color
appRouteStatisticsLocalColor OBJECT-TYPE
    SYNTAX      INTEGER {default(1),mpls(2),metro-ethernet(3),biz-internet(4),public-internet(5),lte(6),threeG(7),red(8),green(9),blue(10),gold(11),silver(12),bronze(13),custom1(14),custom2(15),custom3(16),private1(17),private2(18),private3(19),private4(20),private5(21),private6(22)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC color"
    ::= { appRouteStatisticsEntry 7 }

-- tagpath /app-route/statistics/remote-color
appRouteStatisticsRemoteColor OBJECT-TYPE
    SYNTAX      INTEGER {default(1),mpls(2),metro-ethernet(3),biz-internet(4),public-internet(5),lte(6),threeG(7),red(8),green(9),blue(10),gold(11),silver(12),bronze(13),custom1(14),custom2(15),custom3(16),private1(17),private2(18),private3(19),private4(20),private5(21),private6(22)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC color"
    ::= { appRouteStatisticsEntry 8 }

-- tagpath /app-route/statistics/mean-loss
appRouteStatisticsMeanLoss OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average loss in percentage across all the polling intervals"
    ::= { appRouteStatisticsEntry 9 }

-- tagpath /app-route/statistics/mean-latency
appRouteStatisticsMeanLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average latency across all the polling intervals"
    ::= { appRouteStatisticsEntry 10 }

-- tagpath /app-route/statistics/sla-class-index
appRouteStatisticsSlaClassIndex OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SLA classes (indexes) that this session satisfies"
    ::= { appRouteStatisticsEntry 11 }

-- tagpath /app-route/statistics/mean-jitter
appRouteStatisticsMeanJitter OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average jitter across all polling intervals"
    ::= { appRouteStatisticsEntry 12 }


-- tagpath /app-route/statistics/damp-sla-class-index
appRouteStatisticsDampSlaClassIndex OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SLA classes (indexes) where dampening is happening for this session"
    ::= { appRouteStatisticsEntry 13 }

-- tagpath /app-route/statistics/damp-multiplier-left
appRouteStatisticsDampMultiplierLeft OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Dampening Multiplier left corresponding to damp-sla-class-index"
    ::= { appRouteStatisticsEntry 14 }

-- tagpath /app-route/statistics/fallback-sla-class-index
appRouteStatisticsFallbackSlaClassIndex OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Fallback SLA classes (indexes) that this session satisfies"
    ::= { appRouteStatisticsEntry 15 }

-- tagpath /app-route/statistics/interval
appRouteStatisticsIntervalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppRouteStatisticsIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { viptela-app-route 3 }

-- tagpath /app-route/statistics/interval
appRouteStatisticsIntervalEntry OBJECT-TYPE
    SYNTAX      AppRouteStatisticsIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appRouteStatisticsSrcIp, appRouteStatisticsDstIp, appRouteStatisticsProto, appRouteStatisticsSrcPort, appRouteStatisticsDstPort, appRouteStatisticsIntervalIndex }
        ::= { appRouteStatisticsIntervalTable 1 }

AppRouteStatisticsIntervalEntry ::=
    SEQUENCE {
        appRouteStatisticsIntervalIndex UnsignedByte,
        appRouteStatisticsIntervalTotalPackets Integer32,
        appRouteStatisticsIntervalLoss Integer32,
        appRouteStatisticsIntervalAverageLatency ConfdString,
        appRouteStatisticsIntervalAverageJitter ConfdString,
        appRouteStatisticsIntervalTxDataPkts Counter64,
        appRouteStatisticsIntervalRxDataPkts Counter64
    }

-- tagpath /app-route/statistics/interval/index
appRouteStatisticsIntervalIndex OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Polling interval index"
    ::= { appRouteStatisticsIntervalEntry 1 }

-- tagpath /app-route/statistics/interval/total-packets
appRouteStatisticsIntervalTotalPackets OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total packets sent"
    ::= { appRouteStatisticsIntervalEntry 2 }

-- tagpath /app-route/statistics/interval/loss
appRouteStatisticsIntervalLoss OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packets lost"
    ::= { appRouteStatisticsIntervalEntry 3 }

-- tagpath /app-route/statistics/interval/average-latency
appRouteStatisticsIntervalAverageLatency OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average latency"
    ::= { appRouteStatisticsIntervalEntry 4 }

-- tagpath /app-route/statistics/interval/average-jitter
appRouteStatisticsIntervalAverageJitter OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average jitter"
    ::= { appRouteStatisticsIntervalEntry 5 }

-- tagpath /app-route/statistics/interval/tx-data-pkts
appRouteStatisticsIntervalTxDataPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Data packets transmitted"
    ::= { appRouteStatisticsIntervalEntry 6 }

-- tagpath /app-route/statistics/interval/rx-data-pkts
appRouteStatisticsIntervalRxDataPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Data packets received"
    ::= { appRouteStatisticsIntervalEntry 7 }

-- tagpath /app-route/statistics/app-probe-class-list
appRouteStatisticsAppProbeClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppRouteStatisticsAppProbeClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { viptela-app-route 5 }

-- tagpath /app-route/statistics/app-probe-class-list
appRouteStatisticsAppProbeClassEntry OBJECT-TYPE
    SYNTAX      AppRouteStatisticsAppProbeClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appRouteStatisticsSrcIp, appRouteStatisticsDstIp, appRouteStatisticsProto, appRouteStatisticsSrcPort, appRouteStatisticsDstPort, appRouteStatisticsAppProbeClassName}
        ::= { appRouteStatisticsAppProbeClassTable 1 }

AppRouteStatisticsAppProbeClassEntry ::=
   SEQUENCE {
       appRouteStatisticsAppProbeClassName String,
       appRouteStatisticsAppProbeClassMeanLoss UnsignedByte,
       appRouteStatisticsAppProbeClassMeanLatency Unsigned32,
       appRouteStatisticsAppProbeClassMeanJitter Unsigned32
   }

 -- tagpath /app-route/statistics/app-probe-class-list/name
appRouteStatisticsAppProbeClassName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of app probe class list"
    ::= { appRouteStatisticsAppProbeClassEntry 1 }

-- tagpath /app-route/statistics/app-probe-class-list/mean-loss
appRouteStatisticsAppProbeClassMeanLoss OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average loss in percentage across all the polling intervals"
    ::= { appRouteStatisticsAppProbeClassEntry 2 }

-- tagpath /app-route/statistics/app-probe-class-list/mean-latency
appRouteStatisticsAppProbeClassMeanLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average latency across all the polling intervals"
    ::= { appRouteStatisticsAppProbeClassEntry 3 }

-- tagpath /app-route/statistics/app-probe-class-list/mean-jitter
appRouteStatisticsAppProbeClassMeanJitter OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average jitter across all polling intervals"
    ::= { appRouteStatisticsAppProbeClassEntry 4 }

-- tagpath /app-route/statistics/app-probe-class-list/interval
appRouteStatisticsAppProbeClassIntervalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppRouteStatisticsAppProbeClassIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { viptela-app-route 6 }

-- tagpath /app-route/statistics/app-probe-class-list/interval
appRouteStatisticsAppProbeClassIntervalEntry OBJECT-TYPE
    SYNTAX      AppRouteStatisticsAppProbeClassIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appRouteStatisticsSrcIp, appRouteStatisticsDstIp, appRouteStatisticsProto, appRouteStatisticsSrcPort, appRouteStatisticsDstPort, appRouteStatisticsAppProbeClassName, appRouteStatisticsIntervalIndex }
        ::= { appRouteStatisticsAppProbeClassIntervalTable 1 }

AppRouteStatisticsAppProbeClassIntervalEntry ::=
    SEQUENCE {
        appRouteStatisticsAppProbeClassIntervalIndex UnsignedByte,
        appRouteStatisticsAppProbeClassIntervalTotalPackets Integer32,
        appRouteStatisticsAppProbeClassIntervalLoss Integer32,
        appRouteStatisticsAppProbeClassIntervalAverageLatency ConfdString,
        appRouteStatisticsAppProbeClassIntervalAverageJitter ConfdString,
        appRouteStatisticsAppProbeClassIntervalTxDataPkts String,
        appRouteStatisticsAppProbeClassIntervalRxDataPkts String
    }

-- tagpath /app-route/statistics/app-probe-class-list/interval/index
appRouteStatisticsAppProbeClassIntervalIndex OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Polling interval index"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 1 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/total-packets
appRouteStatisticsAppProbeClassIntervalTotalPackets OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total packets sent"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 2 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/loss
appRouteStatisticsAppProbeClassIntervalLoss OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packets lost"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 3 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/average-latency
appRouteStatisticsAppProbeClassIntervalAverageLatency OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average latency"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 4 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/average-jitter
appRouteStatisticsAppProbeClassIntervalAverageJitter OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average jitter"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 5 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/tx-data-pkts
appRouteStatisticsAppProbeClassIntervalTxDataPkts OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Data packets transmitted"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 6 }

-- tagpath /app-route/statistics/app-probe-class-list/interval/rx-data-pkts
appRouteStatisticsAppProbeClassIntervalRxDataPkts OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Data packets received"
    ::= { appRouteStatisticsAppProbeClassIntervalEntry 7 }

-- tagpath /app-route/sla-class
appRouteSlaClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppRouteSlaClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { viptela-app-route 4 }

-- tagpath /app-route/sla-class
appRouteSlaClassEntry OBJECT-TYPE
    SYNTAX      AppRouteSlaClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appRouteSlaClassIndex }
        ::= { appRouteSlaClassTable 1 }

AppRouteSlaClassEntry ::=
    SEQUENCE {
        appRouteSlaClassIndex UnsignedByte,
        appRouteSlaClassName String,
        appRouteSlaClassLoss UnsignedByte,
        appRouteSlaClassLatency Unsigned32,
        appRouteSlaClassJitter Unsigned32,
        appRouteSlaClassAppProbeClassId UnsignedByte,
        appRouteSlaClassAppProbeClass String,
        appRouteFallbackSlaClassIndex String
    }

-- tagpath /app-route/sla-class/index
appRouteSlaClassIndex OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "SLA class index"
    ::= { appRouteSlaClassEntry 1 }

-- tagpath /app-route/sla-class/name
appRouteSlaClassName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of the SLA class"
    ::= { appRouteSlaClassEntry 2 }

-- tagpath /app-route/sla-class/loss
appRouteSlaClassLoss OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured loss, in percentage"
    ::= { appRouteSlaClassEntry 3 }

-- tagpath /app-route/sla-class/latency
appRouteSlaClassLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured latency, in milliseconds"
    ::= { appRouteSlaClassEntry 4 }

-- tagpath /app-route/sla-class/jitter
appRouteSlaClassJitter OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured jitter, in milliseconds"
    ::= { appRouteSlaClassEntry 5 }

-- tagpath /app-route/sla-class/app-probe-class-id
appRouteSlaClassAppProbeClassId OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "App Probe Class Id"
    ::= { appRouteSlaClassEntry 6 }

-- tagpath /app-route/sla-class/app-probe-class
appRouteSlaClassAppProbeClass OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured App Probe class"
    ::= { appRouteSlaClassEntry 7 }

-- tagpath /app-route/sla-class/fallback-best-tunnel
appRouteFallbackSlaClassIndex OBJECT-TYPE
   SYNTAX      String
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "Fallback SLA class index"
   ::= { appRouteSlaClassEntry 8 }

END
