-- Namespace: http://viptela.com/oper-vpn

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

viptela-oper-vpn MODULE-IDENTITY
    LAST-UPDATED "202007010000Z"
    ORGANIZATION "Viptela, Inc."
    CONTACT-INFO "Viptela, Inc.  Email:support@viptela.com"
    DESCRIPTION "This module defines the data model for VPN operational data"
    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 12 }

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

Ipv4Prefix ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1d.1d.1d.1d/1d"
    STATUS      current
    DESCRIPTION "confd:ipv4Prefix"
    SYNTAX      OCTET STRING (SIZE (5))

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

IpPrefix ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "confd:ipPrefix"
    SYNTAX      OCTET STRING (SIZE (5|17))

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

HexList ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1x:"
    STATUS      current
    DESCRIPTION "confd:hexList"
    SYNTAX      OCTET STRING

IfAddressTypeEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Interface IP address type"
    SYNTAX	INTEGER {ifaddrEnumInvalid(0), ifaddrEnumIpv4Static(1), ifaddrEnumIpv4Dhcp(2),ifaddrEnumIpv6Static(3),ifaddrEnumIpv6Dhcp(4),ifaddrEnumIpv6Ra(5), ifaddrEnumIpv6LinkLocal(6)}

SfpPowerType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP optical power measurement basis"
    SYNTAX      INTEGER {sfpPowerTypeAverageInputPower(0),sfpPowerTypeOma(1)}

SfpPhysicalIdentifierEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP physical identifer type"
    SYNTAX      INTEGER {sfpPiUnknownUnspecified(0),sfpPiGbic(1),sfpPiSff(2),sfpPiSfpSfpPlus(3),sfpPiUnknown(256)}

SfpConnectorTypeEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP connector types"
    SYNTAX      INTEGER {sfpConnectorTypeUnknownUnspecified(0),sfpConnectorTypeSc(1),sfpConnectorTypeFcStyle1Cu(2),sfpConnectorTypeFcStyle2Cu(3),sfpConnectorTypeBncTnc(4),sfpConnectorTypeCoax(5),sfpConnectorTypeFiberJack(6),sfpConnectorTypeLc(7),sfpConnectorTypeRj(8),sfpConnectorTypeMu(9),sfpConnectorTypeSg(10),sfpConnectorTypeOpticalPigtail(11),sfpConnectorTypeMpo1x12(12),sfpConnectorTypeMpo2x16(13),sfpConnectorTypeHssdcIi(32),sfpConnectorTypeCopperPigtail(33),sfpConnectorTypeRj45(34),sfpConnectorTypeNoSeparableConnector(35),sfpConnectorTypeMxc2x16(36),sfpConnectorTypeUnknown(256)}

SfpCalibrationType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP calibration type"
    SYNTAX      INTEGER {sfpCalibrationTypeNone(0),sfpCalibrationTypeInternal(1),sfpCalibrationTypeExternal(2)}

SfpRateSelectEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP rate selection type"
    SYNTAX      INTEGER {sfpRateSelectUnspecified(0),sfpRateSelect4-2-1G-RateSelectAndAs0As1(1),sfpRateSelect8-4-2G-RxRateSelect(2),sfpRateSelect8-4-2G-TxRateSelect(4),sfpRateSelect8-4-2G-RxAndTxRateSelect(6),sfpRateSelect16-8-4G-RxRateSelect(8),sfpRateSelect16-8-4G-RxAndTxRateSelect(10),sfpRateSelect32-16-8G-RxAndTxRateSelect(12),sfpRateSelect10-8G-RxAndTxRateSelect(14),sfpRateSelectReserved(256),sfpRateSelectUnallocated(257)}

SfpTransceiverComplianceEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP transceiver compliance types"
    SYNTAX      INTEGER {sfpTransceiverComplianceUnexpected(0),sfpTransceiverCompliance10gBaseEr(1),sfpTransceiverCompliance10gBaseLrm(2),sfpTransceiverCompliance10gBaseSr(3),sfpTransceiverCompliance10gBaseLr(4),sfpTransceiverCompliance1gBaseT(5),sfpTransceiverCompliance1gBaseCx(6),sfpTransceiverCompliance1gBaseLx(7),sfpTransceiverCompliance1gBaseSx(8)}

Yesno ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Friendly boolean type"
    SYNTAX      INTEGER {no(0),yes(1)}

VpnIfFlagsType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION ""
     SYNTAX      BITS {inactive(0),detect(1),pseudo(2)}

SfpTimingType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP clock timing type"
    SYNTAX      INTEGER {sfpTimingTypeInternalRetimer(0),sfpTimingTypeCdr(1)}

SfpEncodingEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "SFP encoding types"
    SYNTAX      INTEGER {sfpEncodingUnspecified(0),sfpEncoding8b-10b(1),sfpEncoding4b-5b(2),sfpEncodingNrz(3),sfpEncodingManchester(4),sfpEncodingScrambled(5),sfpEncoding64b-66b(6),sfpEncoding256b-257b(7),sfpEncodingPam4(8),sfpEncodingReserved(255)}

SfpHexBytes ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1t"
    STATUS      current
    DESCRIPTION "Hexadecimal octet array type"
    SYNTAX      OCTET STRING

T3 ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION ""
    SYNTAX      BITS {dhcp(0),dns(1),icmp(2),sshd(3),ntp(4),stun(5),all(6),bgp(7),ospf(8),netconf(9),https(10)}

RouteStatusType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION ""
    SYNTAX      BITS {b(0),f(1),i(2),s(3),r(4),l(5)}

VpnIfPauseType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION ""
    SYNTAX      BITS {txPause(0),rxPause(1)}

PppInterfaceAuthEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "PPP authentication type"
    SYNTAX      INTEGER {chap(0),pap(1)}

CloudExpressAppType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Cloudexpress applications"
    SYNTAX      INTEGER { salesforce        (1),
                          office365         (2),
                          amazonAws         (3),
                          oracle            (4),
                          boxNet            (6),
                          dropbox           (7),
                          intuit            (9),
                          concur            (10),
                          sugarCrm          (11),
                          zohoCrm           (12),
                          zendesk           (13),
                          gotomeeting       (14),
                          googleApps        (16)
                        }
TlocColorEnum ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "TLOC color"
    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)
                        }

-- App specific information
-- tagpath /app
app OBJECT IDENTIFIER ::= { viptela-oper-vpn 6 }

-- Cflowd specific information
-- tagpath /app/cflowd
appCflowd OBJECT IDENTIFIER ::= { app 1 }

-- Display cflowd statistics information
-- tagpath /app/cflowd/statistics
appCflowdStatistics OBJECT IDENTIFIER ::= { appCflowd 3 }

-- tagpath /app/cflowd/statistics/data-packets
appCflowdStatisticsDataPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX data record packets created"
    ::= { appCflowdStatistics 1 }

-- tagpath /app/cflowd/statistics/template-packets
appCflowdStatisticsTemplatePackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX template packets created"
    ::= { appCflowdStatistics 2 }

-- tagpath /app/cflowd/statistics/total-packets
appCflowdStatisticsTotalPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX packets transmitted"
    ::= { appCflowdStatistics 3 }

-- tagpath /app/cflowd/statistics/flow-refresh
appCflowdStatisticsFlowRefresh OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of flow active timeouts to be reported"
    ::= { appCflowdStatistics 4 }

-- tagpath /app/cflowd/statistics/flow-ageout
appCflowdStatisticsFlowAgeout OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of flow idle timeouts to be reported"
    ::= { appCflowdStatistics 5 }

-- tagpath /app/cflowd/statistics/flow-end-detected
appCflowdStatisticsFlowEndDetected OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of flows whose end was detected by fastpath"
    ::= { appCflowdStatistics 6 }

-- tagpath /app/cflowd/statistics/flow-end-forced
appCflowdStatisticsFlowEndForced OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of flow that were forcibly removed"
    ::= { appCflowdStatistics 7 }

-- Display cflowd template information
-- tagpath /app/cflowd/template
appCflowdTemplate OBJECT IDENTIFIER ::= { appCflowd 4 }

-- tagpath /app/cflowd/template/name
appCflowdTemplateName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "cflowd template name"
    ::= { appCflowdTemplate 1 }

-- tagpath /app/cflowd/template/flow-active-timeout
appCflowdTemplateFlowActiveTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Timeout value for active flows in secs"
    ::= { appCflowdTemplate 2 }

-- tagpath /app/cflowd/template/flow-inactive-timeout
appCflowdTemplateFlowInactiveTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Timeout value for inactive flows in secs"
    ::= { appCflowdTemplate 3 }

-- tagpath /app/cflowd/template/template-refresh
appCflowdTemplateTemplateRefresh OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Refresh value for template in secs"
    ::= { appCflowdTemplate 4 }

-- DPI specific information
-- tagpath /app/dpi
appDpi OBJECT IDENTIFIER ::= { app 2 }

-- Display DPI summary
-- tagpath /app/dpi/summary
appDpiSummary OBJECT IDENTIFIER ::= { appDpi 4 }

-- tagpath /app/dpi/summary/status
appDpiSummaryStatus OBJECT-TYPE
    SYNTAX      INTEGER {disable(1),enable(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Dpi status"
    ::= { appDpiSummary 1 }

-- tagpath /app/dpi/summary/flows-created
appDpiSummaryFlowsCreated OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flows created"
    ::= { appDpiSummary 2 }

-- tagpath /app/dpi/summary/flows-expired
appDpiSummaryFlowsExpired OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flows expired"
    ::= { appDpiSummary 3 }

-- tagpath /app/dpi/summary/current-flows
appDpiSummaryCurrentFlows OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current flows"
    ::= { appDpiSummary 4 }

-- tagpath /app/dpi/summary/peak-flows
appDpiSummaryPeakFlows OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Peak flows"
    ::= { appDpiSummary 5 }

-- tagpath /app/dpi/summary/current-rate
appDpiSummaryCurrentRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current rate"
    ::= { appDpiSummary 6 }

-- tagpath /app/dpi/summary/peak-rate
appDpiSummaryPeakRate OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Peak rate"
    ::= { appDpiSummary 7 }


appLog OBJECT IDENTIFIER ::= { app 3 }

-- tagpath /app/log/flows
appLogFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppLogFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Flow logging information"
    ::= { appLog 1 }

-- tagpath /app/log/flows
appLogFlowsEntry OBJECT-TYPE
    SYNTAX      AppLogFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appLogFlowsVpnId, appLogFlowsSrcIp, appLogFlowsDestIp, appLogFlowsSrcPort, appLogFlowsDestPort, appLogFlowsDscp, appLogFlowsIpProto }
        ::= { appLogFlowsTable 1 }

AppLogFlowsEntry ::=
    SEQUENCE {
        appLogFlowsVpnId Unsigned32,
        appLogFlowsSrcIp InetAddressIP,
        appLogFlowsDestIp InetAddressIP,
        appLogFlowsSrcPort UnsignedShort,
        appLogFlowsDestPort UnsignedShort,
        appLogFlowsDscp UnsignedByte,
        appLogFlowsIpProto UnsignedByte,
        appLogFlowsTcpCntrlBits UnsignedByte,
        appLogFlowsIcmpOpcode UnsignedShort,
        appLogFlowsNhopIp InetAddressIP,
        appLogFlowsTotalPkts Counter64,
        appLogFlowsTotalBytes Counter64,
        appLogFlowsStartTime String,
        appLogFlowsTimeToExpire Unsigned32,
        appLogFlowsEgressIntfName String,
        appLogFlowsIngressIntfName String,
        appLogFlowsPolicyName String,
        appLogFlowsPolicyAction String,
        appLogFlowsPolicyDirection String
     }

-- tagpath /app/log/flows/vpn-id
appLogFlowsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appLogFlowsEntry 1 }


-- tagpath /app/log/flows/src-ip
appLogFlowsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source IP address"
    ::= { appLogFlowsEntry 2 }

-- tagpath /app/log/flows/dest-ip
appLogFlowsDestIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination IP address"
    ::= { appLogFlowsEntry 3 }

-- tagpath /app/log/flows/src-port
appLogFlowsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source port"
    ::= { appLogFlowsEntry 4 }

-- tagpath /app/log/flows/dest-port
appLogFlowsDestPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination port"
    ::= { appLogFlowsEntry 5 }

-- tagpath /app/log/flows/dscp
appLogFlowsDscp OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "DSCP bits"
    ::= { appLogFlowsEntry 6 }

-- tagpath /app/log/flows/ip-proto
appLogFlowsIpProto OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IP protocol number"
    ::= { appLogFlowsEntry 7 }

-- tagpath /app/log/flows/tcp-cntrl-bits
appLogFlowsTcpCntrlBits OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "TCP control bits"
    ::= { appLogFlowsEntry 8 }

-- tagpath /app/log/flows/icmp-opcode
appLogFlowsIcmpOpcode OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "256*ICMP-type + code"
    ::= { appLogFlowsEntry 9 }

-- tagpath /app/log/flows/nhop-ip
appLogFlowsNhopIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop IP address"
    ::= { appLogFlowsEntry 10 }

-- tagpath /app/log/flows/total-pkts
appLogFlowsTotalPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total packets"
    ::= { appLogFlowsEntry 11 }

-- tagpath /app/log/flows/total-bytes
appLogFlowsTotalBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total bytes"
    ::= { appLogFlowsEntry 12 }

-- tagpath /app/log/flows/start-time
appLogFlowsStartTime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Start time"
    ::= { appLogFlowsEntry 13 }

-- tagpath /app/log/flows/time-to-expire
appLogFlowsTimeToExpire OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time left to expiration, in seconds"
    ::= { appLogFlowsEntry 14 }

-- tagpath /app/log/flows/egress-intf-name
appLogFlowsEgressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Egress interface name"
    ::= { appLogFlowsEntry 15 }

-- tagpath /app/log/flows/ingress-intf-name
appLogFlowsIngressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Ingress interface name"
    ::= { appLogFlowsEntry 16 }

-- tagpath /app/log/flows/policy-name
appLogFlowsPolicyName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Policy name"
    ::= { appLogFlowsEntry 17 }

-- tagpath /app/log/flows/policy-action
appLogFlowsPolicyAction OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Policy action"
    ::= { appLogFlowsEntry 18 }

-- tagpath /app/log/flows/policy-direction
appLogFlowsPolicyDirection OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Policy direction"
    ::= { appLogFlowsEntry 19 }

-- tagpath /app/log/flow-count
appLogFlowCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppLogFlowCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Flow logging count"
    ::= { appLog 2 }

-- tagpath /app/log/flow-count
appLogFlowCountEntry OBJECT-TYPE
    SYNTAX      AppLogFlowCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appLogFlowCountVpnId }
        ::= { appLogFlowCountTable 1 }

AppLogFlowCountEntry ::=
    SEQUENCE {
        appLogFlowCountVpnId Unsigned32,
        appLogFlowCountCount Unsigned32
    }

-- tagpath /app/log/flow-count/vpn-id
appLogFlowCountVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Flow VPN"
    ::= { appLogFlowCountEntry 1 }

-- tagpath /app/log/flow-count/count
appLogFlowCountCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flow count"
    ::= { appLogFlowCountEntry 2 }

-- Tcp-Optspecific information
-- tagpath /app/tcp-opt
appTcpOpt OBJECT IDENTIFIER ::= { app 4 }

-- tagpath /app/tcp-opt/active-flows
appTcpOptActiveFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppTcpOptActiveFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display active TCP-optimized flows"
    ::= { appTcpOpt 1 }

-- tagpath /app/tcp-opt/active-flows
appTcpOptActiveFlowsEntry OBJECT-TYPE
    SYNTAX      AppTcpOptActiveFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appTcpOptActiveFlowsVpnId, appTcpOptActiveFlowsSrcIp, appTcpOptActiveFlowsDestIp, appTcpOptActiveFlowsSrcPort, appTcpOptActiveFlowsDestPort }
        ::= { appTcpOptActiveFlowsTable 1 }

AppTcpOptActiveFlowsEntry ::=
    SEQUENCE {
        appTcpOptActiveFlowsVpnId Unsigned32,
        appTcpOptActiveFlowsSrcIp InetAddressIP,
        appTcpOptActiveFlowsDestIp InetAddressIP,
        appTcpOptActiveFlowsSrcPort UnsignedShort,
        appTcpOptActiveFlowsDestPort UnsignedShort,
        appTcpOptActiveFlowsStartTime String,
        appTcpOptActiveFlowsEgressIntfName String,
        appTcpOptActiveFlowsIngressIntfName String,
        appTcpOptActiveFlowsTxBytes Counter64,
        appTcpOptActiveFlowsRxBytes Counter64,
        appTcpOptActiveFlowsTcpState String,
        appTcpOptActiveFlowsUnoptReason String,
        appTcpOptActiveFlowsProxyIdentity String
    }

-- tagpath /app/tcp-opt/active-flows/vpn-id
appTcpOptActiveFlowsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appTcpOptActiveFlowsEntry 1 }

-- tagpath /app/tcp-opt/active-flows/src-ip
appTcpOptActiveFlowsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source IP Address"
    ::= { appTcpOptActiveFlowsEntry 2 }

-- tagpath /app/tcp-opt/active-flows/dest-ip
appTcpOptActiveFlowsDestIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination IP Address"
    ::= { appTcpOptActiveFlowsEntry 3 }

-- tagpath /app/tcp-opt/active-flows/src-port
appTcpOptActiveFlowsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source Port"
    ::= { appTcpOptActiveFlowsEntry 4 }

-- tagpath /app/tcp-opt/active-flows/dest-port
appTcpOptActiveFlowsDestPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination Port"
    ::= { appTcpOptActiveFlowsEntry 5 }


-- tagpath /app/tcp-opt/active-flows/start-time
appTcpOptActiveFlowsStartTime OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Start time"
    ::= { appTcpOptActiveFlowsEntry 6 }

-- tagpath /app/tcp-opt/active-flows/egress-intf-name
appTcpOptActiveFlowsEgressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Egress interface name"
    ::= { appTcpOptActiveFlowsEntry 7 }

-- tagpath /app/tcp-opt/active-flows/ingress-intf-name
appTcpOptActiveFlowsIngressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Ingress interface name"
    ::= { appTcpOptActiveFlowsEntry 8 }

-- tagpath /app/tcp-opt/active-flows/tx-bytes
appTcpOptActiveFlowsTxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted Bytes"
    ::= { appTcpOptActiveFlowsEntry 9 }

-- tagpath /app/tcp-opt/active-flows/rx_bytes
appTcpOptActiveFlowsRxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received Bytes"
    ::= { appTcpOptActiveFlowsEntry 10 }

-- tagpath /app/tcp-opt/active-flows/state
appTcpOptActiveFlowsTcpState OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State of the flow"
    ::= { appTcpOptActiveFlowsEntry 11 }

-- tagpath /app/tcp-opt/active-flows/upopt-reason
appTcpOptActiveFlowsUnoptReason OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Reason why flow is unoptimized"
    ::= { appTcpOptActiveFlowsEntry 12 }

-- tagpath /app/tcp-opt/active-flows/proxy-identity
appTcpOptActiveFlowsProxyIdentity OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Proxy identity"
    ::= { appTcpOptActiveFlowsEntry 13 }

-- tagpath /app/tcp-opt/expired-flows
appTcpOptExpiredFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppTcpOptExpiredFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display expired TCP-optimized flows"
    ::= { appTcpOpt 2 }

-- tagpath /app/tcp-opt/expired-flows
appTcpOptExpiredFlowsEntry OBJECT-TYPE
    SYNTAX      AppTcpOptExpiredFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appTcpOptExpiredFlowsTimestamp, appTcpOptExpiredFlowsVpnId, appTcpOptExpiredFlowsSrcIp, appTcpOptExpiredFlowsDestIp, appTcpOptExpiredFlowsSrcPort, appTcpOptExpiredFlowsDestPort }
        ::= { appTcpOptExpiredFlowsTable 1 }

AppTcpOptExpiredFlowsEntry ::=
    SEQUENCE {
        appTcpOptExpiredFlowsTimestamp ConfdString,
        appTcpOptExpiredFlowsVpnId Unsigned32,
        appTcpOptExpiredFlowsSrcIp InetAddressIP,
        appTcpOptExpiredFlowsDestIp InetAddressIP,
        appTcpOptExpiredFlowsSrcPort UnsignedShort,
        appTcpOptExpiredFlowsDestPort UnsignedShort,
        appTcpOptExpiredFlowsStartTime String,
        appTcpOptExpiredFlowsEndTime String,
        appTcpOptExpiredFlowsTxBytes Counter64,
        appTcpOptExpiredFlowsRxBytes Counter64,
        appTcpOptExpiredFlowsTcpState String,
        appTcpOptExpiredFlowsUnoptReason String,
        appTcpOptExpiredFlowsProxyIdentity String,
        appTcpOptExpiredFlowsDeleteReason String
    }

-- tagpath /app/tcp-opt/expired-flows/start-time-key
appTcpOptExpiredFlowsTimestamp OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Timestamp"
    ::= { appTcpOptExpiredFlowsEntry 1 }

-- tagpath /app/tcp-opt/expired-flows/vpn-id
appTcpOptExpiredFlowsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appTcpOptExpiredFlowsEntry 2 }

-- tagpath /app/tcp-opt/expired-flows/src-ip
appTcpOptExpiredFlowsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source IP Address"
    ::= { appTcpOptExpiredFlowsEntry 3 }

-- tagpath /app/tcp-opt/expired-flows/dest-ip
appTcpOptExpiredFlowsDestIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination IP Address"
    ::= { appTcpOptExpiredFlowsEntry 4 }

-- tagpath /app/tcp-opt/expired-flows/src-port
appTcpOptExpiredFlowsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source Port"
    ::= { appTcpOptExpiredFlowsEntry 5 }

-- tagpath /app/tcp-opt/expired-flows/dest-port
appTcpOptExpiredFlowsDestPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination Port"
    ::= { appTcpOptExpiredFlowsEntry 6 }

-- tagpath /app/tcp-opt/expired-flows/start-time
appTcpOptExpiredFlowsStartTime OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Start time"
    ::= { appTcpOptExpiredFlowsEntry 7 }

-- tagpath /app/tcp-opt/expired-flows/end-time
appTcpOptExpiredFlowsEndTime OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "End time"
    ::= { appTcpOptExpiredFlowsEntry 8 }

-- tagpath /app/tcp-opt/expired-flows/tx-bytes
appTcpOptExpiredFlowsTxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted Bytes"
    ::= { appTcpOptExpiredFlowsEntry 9 }

-- tagpath /app/tcp-opt/expired-flows/rx_bytes
appTcpOptExpiredFlowsRxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received Bytes"
    ::= { appTcpOptExpiredFlowsEntry 10 }

-- tagpath /app/tcp-opt/expired-flows/state
appTcpOptExpiredFlowsTcpState OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State of the flow"
    ::= { appTcpOptExpiredFlowsEntry 11 }

-- tagpath /app/tcp-opt/expired-flows/upopt-reason
appTcpOptExpiredFlowsUnoptReason OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Reason why flow was unoptimized"
    ::= { appTcpOptExpiredFlowsEntry 12 }

-- tagpath /app/tcp-opt/expired-flows/proxy-identity
appTcpOptExpiredFlowsProxyIdentity OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Proxy identity"
    ::= { appTcpOptExpiredFlowsEntry 13 }

-- tagpath /app/tcp-opt/expired-flows/del-reason
appTcpOptExpiredFlowsDeleteReason OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Reason why flow was deleted"
    ::= { appTcpOptExpiredFlowsEntry 14 }

-- tagpath /app/cflowd/statistics
appTcpOptSummary OBJECT IDENTIFIER ::= { appTcpOpt 3 }

-- tagpath /app/tcp-opt/summary/flows-optimized
appTcpOptSummaryFlowsOptimized OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of optimized TCP flows"
    ::= { appTcpOptSummary 1 }

-- tagpath /app/tcp-opt/summary/flows-passthrough
appTcpOptSummaryFlowsPassthrough OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of passthrough TCP flows"
    ::= { appTcpOptSummary 2 }

-- tagpath /app/tcp-opt/summary/flows-in-progress
appTcpOptSummaryFlowsInProgress OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of in-progress TCP flows"
    ::= { appTcpOptSummary 3 }

-- tagpath /app/tcp-opt/summary/flows-expired
appTcpOptSummaryFlowsExpired OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of expired TCP flows"
    ::= { appTcpOptSummary 4 }

-- tagpath /app/tcp-opt/summary/flows-close-wait
appTcpOptSummaryFlowsCloseWait OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of expired TCP flows"
    ::= { appTcpOptSummary 5 }

-- tagpath /app/tcp-opt/summary/flows-conn-all-untracked
appTcpOptSummaryFlowsUntracked OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of untracked flows"
    ::= { appTcpOptSummary 6 }

-- IP information
-- tagpath /ip
ip OBJECT IDENTIFIER ::= { viptela-oper-vpn 7 }

-- MFIB commands
-- tagpath /ip/mfib
ipMfib OBJECT IDENTIFIER ::= { ip 7 }

-- Display NAT information
-- tagpath /ip/nat
ipNat OBJECT IDENTIFIER ::= { ip 9 }

-- Display DHCP information
-- tagpath /dhcp
dhcp OBJECT IDENTIFIER ::= { viptela-oper-vpn 12 }

-- Display DHCPv6 information
-- tagpath /dhcpv6
dhcpv6 OBJECT IDENTIFIER ::= { viptela-oper-vpn 18 }

-- Display PPPoE information
-- tagpath /pppoe
pppoe OBJECT IDENTIFIER ::= { viptela-oper-vpn 15 }

-- PPPoE statistics
-- tagpath /pppoe/statistics
pppoeStatistics OBJECT IDENTIFIER ::= { pppoe 10 }

-- tagpath /pppoe/statistics/pppoe-tx-pkts
pppoeStatisticsPppoeTxPkts OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE Tx packets"
    ::= { pppoeStatistics 1 }

-- tagpath /pppoe/statistics/pppoe-rx-pkts
pppoeStatisticsPppoeRxPkts OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE Rx packets"
    ::= { pppoeStatistics 2 }

-- tagpath /pppoe/statistics/pppoe-tx-session-drops
pppoeStatisticsPppoeTxSessionDrops OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE tx drops due to invalid session id"
    ::= { pppoeStatistics 3 }

-- tagpath /pppoe/statistics/pppoe-rx-session-drops
pppoeStatisticsPppoeRxSessionDrops OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE rx drops due to invalid session id"
    ::= { pppoeStatistics 4 }

-- tagpath /pppoe/statistics/pppoe-lcp-pkts
pppoeStatisticsPppoeLcpPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE ppp LCP protocol pkts"
    ::= { pppoeStatistics 5 }

-- tagpath /pppoe/statistics/pppoe-ipcp-pkts
pppoeStatisticsPppoeIpcpPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE ppp IPCP protocol pkts"
    ::= { pppoeStatistics 6 }

-- tagpath /pppoe/statistics/pppoe-ccp-pkts
pppoeStatisticsPppoeCcpPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE ppp CCP protocol pkts"
    ::= { pppoeStatistics 7 }

-- tagpath /pppoe/statistics/pppoe-inv-discovery-pkts
pppoeStatisticsPppoeInvDiscoveryPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE invalid discovery packets"
    ::= { pppoeStatistics 8 }

-- tagpath /pppoe/statistics/pppoe-padi-pkts
pppoeStatisticsPppoePadiPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE active discovery initiation pkts"
    ::= { pppoeStatistics 9 }

-- tagpath /pppoe/statistics/pppoe-pado-pkts
pppoeStatisticsPppoePadoPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE active discovery offer pkts"
    ::= { pppoeStatistics 10 }

-- tagpath /pppoe/statistics/pppoe-padr-pkts
pppoeStatisticsPppoePadrPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE active discovery response pkts"
    ::= { pppoeStatistics 11 }

-- tagpath /pppoe/statistics/pppoe-pads-pkts
pppoeStatisticsPppoePadsPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE active discovery session pkts"
    ::= { pppoeStatistics 12 }

-- tagpath /pppoe/statistics/pppoe-padt-pkts
pppoeStatisticsPppoePadtPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE active discovery termination pkts"
    ::= { pppoeStatistics 13 }

-- Display PPP interface information
-- tagpath /ppp
ppp OBJECT IDENTIFIER ::= { viptela-oper-vpn 16 }

-- Display SFP information
-- tagpath /sfp
sfp OBJECT IDENTIFIER ::= { viptela-oper-vpn 17 }

-- tagpath /arp
arpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display ARP table"
    ::= { viptela-oper-vpn 1 }

-- tagpath /arp
arpEntry OBJECT-TYPE
    SYNTAX      ArpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { arpVpnId, arpIfName, arpIp }
        ::= { arpTable 1 }

ArpEntry ::=
    SEQUENCE {
        arpVpnId Unsigned32,
        arpIfName String,
        arpIp InetAddressIP,
        arpMac String,
        arpState INTEGER,
        arpIdleTimer String,
        arpUptime String
    }

-- tagpath /arp/vpn-id
arpVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { arpEntry 1 }

-- tagpath /arp/if-name
arpIfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { arpEntry 2 }

-- tagpath /arp/ip
arpIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IP address"
    ::= { arpEntry 3 }

-- tagpath /arp/mac
arpMac OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MAC address"
    ::= { arpEntry 4 }

-- tagpath /arp/state
arpState OBJECT-TYPE
    SYNTAX      INTEGER {static(0),dynamic(1),invalid(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State"
    ::= { arpEntry 5 }

-- tagpath /arp/idle-timer
arpIdleTimer OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time before expiration, in seconds"
    ::= { arpEntry 6 }

-- tagpath /arp/uptime
arpUptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "How long this neighbor entry has been active, in seconds"
    ::= { arpEntry 7 }

-- tagpath /nd6
nd6Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF Nd6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display IPv6 neighbor table"
    ::= { viptela-oper-vpn 3 }

-- tagpath /nd6
nd6Entry OBJECT-TYPE
    SYNTAX      Nd6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { nd6VpnId, nd6IfName, nd6Ip }
        ::= { nd6Table 1 }

Nd6Entry ::=
    SEQUENCE {
        nd6VpnId Unsigned32,
        nd6IfName String,
        nd6Ip InetAddressIP,
        nd6Mac String,
        nd6State INTEGER,
        nd6IdleTimer String,
        nd6Uptime String
    }

-- tagpath /nd6/vpn-id
nd6VpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { nd6Entry 1 }

-- tagpath /nd6/if-name
nd6IfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { nd6Entry 2 }

-- tagpath /nd6/ip
nd6Ip OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IP address"
    ::= { nd6Entry 3 }

-- tagpath /nd6/mac
nd6Mac OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MAC address"
    ::= { nd6Entry 4 }

-- tagpath /nd6/state
nd6State OBJECT-TYPE
    SYNTAX      INTEGER {static(0),dynamic(1),invalid(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State"
    ::= { nd6Entry 5 }

-- tagpath /nd6/idle-timer
nd6IdleTimer OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time before expiration, in seconds"
    ::= { nd6Entry 6 }

-- tagpath /nd6/uptime
nd6Uptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "How long this neighbor entry has been active, in seconds"
    ::= { nd6Entry 7 }

-- tagpath /interface
interfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF InterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display interface"
    ::= { viptela-oper-vpn 2 }

-- tagpath /interface
interfaceEntry OBJECT-TYPE
    SYNTAX      InterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { interfaceVpnId, interfaceIfname, interfaceAfType }
        ::= { interfaceTable 1 }

InterfaceEntry ::=
    SEQUENCE {
        interfaceVpnId Unsigned32,
        interfaceIfname String,
        interfaceIpAddress String,
        interfaceIpv6Address String,
        interfaceIfAdminStatus String,
        interfaceIfOperStatus String,
        interfaceIfTrackerStatus String,
        interfaceDesc String,
        interfaceEncapType INTEGER,
        interfacePortType INTEGER,
        interfaceIfindex Unsigned32,
        interfaceMtu Unsigned32,
        interfaceHwaddr String,
        interfaceSpeedMbps Unsigned32,
        interfaceDuplex INTEGER,
        interfaceAutoNeg TruthValue,
        interfacePauseType VpnIfPauseType,
        interfaceTcpMssAdjust UnsignedShort,
        interfaceUptime String,
        interfaceAllowService T3,
        interfaceRxPackets Counter64,
        interfaceRxOctets Counter64,
        interfaceRxErrors Counter64,
        interfaceRxDrops Counter64,
        interfaceTxPackets Counter64,
        interfaceTxOctets Counter64,
        interfaceTxErrors Counter64,
        interfaceTxDrops Counter64,
        interfaceRxPps Counter64,
        interfaceRxKbps Counter64,
        interfaceTxPps Counter64,
        interfaceTxKbps Counter64,
        interfaceRxArpRequests Counter64,
        interfaceTxArpReplies Counter64,
        interfaceTxArpRequests Counter64,
        interfaceRxArpReplies Counter64,
        interfaceArpAddFails Counter64,
        interfaceRxArpReplyDrops Counter64,
        interfaceRxArpRateLimitDrops Counter64,
        interfaceTxArpRateLimitDrops Counter64,
        interfaceRxArpNonLocalDrops Counter64,
        interfaceTxArpRequestFail Counter64,
        interfaceTxNoArpDrops Counter64,
        interfaceRxIpTtlExpired Counter64,
        interfaceRxIpErrors Counter64,
        interfaceInterfaceDisabled Counter64,
        interfaceRxPolicerDrops Counter64,
        interfaceRxNonIpDrops Counter64,
        interfaceFilterDrops Counter64,
        interfaceMirrorDrops Counter64,
        interfaceCpuPolicerDrops Counter64,
        interfaceTxIcmpPolicerDrops Counter64,
        interfaceTxIcmpMirroredDrops Counter64,
        interfaceSplitHorizonDrops Counter64,
        interfaceRouteLookupFail Counter64,
        interfaceBadLabel Counter64,
        interfaceTxInterfaceDisabled Counter64,
        interfaceRxMulticastPkts Counter64,
        interfaceRxBroadcastPkts Counter64,
        interfaceTxMulticastPkts Counter64,
        interfaceTxBroadcastPkts Counter64,
        interfaceRxPausePkts Counter64,
        interfaceRxDmacFilterDrops Counter64,
        interfaceRxWredDrops Counter64,
        interfaceRxInterfaceNotFound Counter64,
        interfaceRxInbErrors Counter64,
        interfaceRxOversizeErrors Counter64,
        interfaceRxFcsAlignErrors Counter64,
        interfaceRxUndersizeErrors Counter64,
        interfaceTxUnderflowPkts Counter64,
        interfaceTxCollisionDrops Counter64,
        interfaceTxPausePkts Counter64,
        interfaceTxFragmentsNeeded Counter64,
        interfaceTxFragments Counter64,
        interfaceTxFragmentDrops Counter64,
        interfaceTxTailRedDrops Counter64,
        interfaceLlqDrops Counter64,
        interfaceRxPktSize64 Counter64,
        interfaceRxPktSizeLt64 Counter64,
        interfaceRxPktSize65127 Counter64,
        interfaceRxPktSize128255 Counter64,
        interfaceRxPktSize256511 Counter64,
        interfaceRxPktSize5121023 Counter64,
        interfaceRxPktSize10241518 Counter64,
        interfaceRxPktSizeGt1518 Counter64,
        interfaceTxPktSize64 Counter64,
        interfaceTxPktSizeLt64 Counter64,
        interfaceTxPktSize65127 Counter64,
        interfaceTxPktSize128255 Counter64,
        interfaceTxPktSize256511 Counter64,
        interfaceTxPktSize5121023 Counter64,
        interfaceTxPktSize10241518 Counter64,
        interfaceTxPktSizeGt1518 Counter64,
        interfaceNumFlaps Unsigned32,
        interfacePppoeEnabledInterface String,
        interfacePppoeTxPkts Counter64,
        interfacePppoeRxPkts Counter64,
        interfaceBandwidthUpstream Unsigned32,
        interfaceBandwidthDownstream Unsigned32,
        interfaceAfType INTEGER,
        interfaceLinkLocalAddress String,
        interfaceShapingRate Counter64,
        interfaceDot1xTxPkts Counter64,
        interfaceDot1xRxPkts Counter64,
        interfaceRxPolicerRemark Counter64,
        interfaceAddrType IfAddressTypeEnum,
        interfaceIcmpRedirectTxDrops Counter64,
        interfaceIcmpRedirectRxDrops Counter64,
        interfaceDevicePolicyDrops  Counter64
    }

-- tagpath /interface/vpn-id
interfaceVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { interfaceEntry 1 }

-- tagpath /interface/ifname
interfaceIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { interfaceEntry 2 }

-- tagpath /interface/ip-address
interfaceIpAddress OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Address"
    ::= { interfaceEntry 3 }

-- tagpath /interface/ipv6-address
interfaceIpv6Address OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IPv6 Address"
    ::= { interfaceEntry 4 }

-- tagpath /interface/if-admin-status
interfaceIfAdminStatus OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 8))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface administrative status"
    ::= { interfaceEntry 5 }

-- tagpath /interface/if-oper-status
interfaceIfOperStatus OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface operational status"
    ::= { interfaceEntry 6 }

-- tagpath /interface/if-tracker-status
interfaceIfTrackerStatus OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface tracker status"
    ::= { interfaceEntry 106 }

-- tagpath /interface/desc
interfaceDesc OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 127))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface description"
    ::= { interfaceEntry 7 }

-- tagpath /interface/encap-type
interfaceEncapType OBJECT-TYPE
    SYNTAX      INTEGER {null(0),vlan(1),ppp(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Encapsulation type"
    ::= { interfaceEntry 9 }

-- tagpath /interface/port-type
interfacePortType OBJECT-TYPE
    SYNTAX      INTEGER {service(0),transport(1),loopback(2),mgmt(3)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Port type"
    ::= { interfaceEntry 10 }

-- tagpath /interface/ifindex
interfaceIfindex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface index"
    ::= { interfaceEntry 11 }

-- tagpath /interface/mtu
interfaceMtu OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MTU"
    ::= { interfaceEntry 12 }

-- tagpath /interface/hwaddr
interfaceHwaddr OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Hardware address"
    ::= { interfaceEntry 13 }

-- tagpath /interface/speed-mbps
interfaceSpeedMbps OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Speed"
    ::= { interfaceEntry 14 }

-- tagpath /interface/duplex
interfaceDuplex OBJECT-TYPE
    SYNTAX      INTEGER {full(0),half(1),nA(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Duplex mode"
    ::= { interfaceEntry 15 }

-- tagpath /interface/auto-neg
interfaceAutoNeg OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Autonegotiation"
    ::= { interfaceEntry 16 }

-- tagpath /interface/pause-type
interfacePauseType OBJECT-TYPE
    SYNTAX      VpnIfPauseType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Pause parameters type"
    ::= { interfaceEntry 17 }

-- tagpath /interface/tcp-mss-adjust
interfaceTcpMssAdjust OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "TCP MSS on SYN packets, in bytes"
    ::= { interfaceEntry 18 }

-- tagpath /interface/uptime
interfaceUptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface uptime"
    ::= { interfaceEntry 19 }

-- tagpath /interface/allow-service
interfaceAllowService OBJECT-TYPE
    SYNTAX      T3
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Which services are allowed on this interface (only for WAN interfaces)"
    ::= { interfaceEntry 20 }

-- tagpath /interface/rx-packets
interfaceRxPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 21 }

-- tagpath /interface/rx-octets
interfaceRxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 22 }

-- tagpath /interface/rx-errors
interfaceRxErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 23 }

-- tagpath /interface/rx-drops
interfaceRxDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 24 }

-- tagpath /interface/tx-packets
interfaceTxPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 25 }

-- tagpath /interface/tx-octets
interfaceTxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 26 }

-- tagpath /interface/tx-errors
interfaceTxErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 27 }

-- tagpath /interface/tx-drops
interfaceTxDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 28 }

-- tagpath /interface/rx-pps
interfaceRxPps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 29 }

-- tagpath /interface/rx-kbps
interfaceRxKbps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 30 }

-- tagpath /interface/tx-pps
interfaceTxPps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 31 }

-- tagpath /interface/tx-kbps
interfaceTxKbps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 32 }

-- tagpath /interface/rx-arp-requests
interfaceRxArpRequests OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 33 }

-- tagpath /interface/tx-arp-replies
interfaceTxArpReplies OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 34 }

-- tagpath /interface/tx-arp-requests
interfaceTxArpRequests OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 35 }

-- tagpath /interface/rx-arp-replies
interfaceRxArpReplies OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 36 }

-- tagpath /interface/arp-add-fails
interfaceArpAddFails OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 37 }

-- tagpath /interface/rx-arp-reply-drops
interfaceRxArpReplyDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 38 }

-- tagpath /interface/rx-arp-rate-limit-drops
interfaceRxArpRateLimitDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 39 }

-- tagpath /interface/tx-arp-rate-limit-drops
interfaceTxArpRateLimitDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 40 }

-- tagpath /interface/rx-arp-non-local-drops
interfaceRxArpNonLocalDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 41 }

-- tagpath /interface/tx-arp-request-fail
interfaceTxArpRequestFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 42 }

-- tagpath /interface/tx-no-arp-drops
interfaceTxNoArpDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 43 }

-- tagpath /interface/rx-ip-ttl-expired
interfaceRxIpTtlExpired OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 44 }

-- tagpath /interface/rx-ip-errors
interfaceRxIpErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 45 }

-- tagpath /interface/interface-disabled
interfaceInterfaceDisabled OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 46 }

-- tagpath /interface/rx-policer-drops
interfaceRxPolicerDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 47 }

-- tagpath /interface/rx-non-ip-drops
interfaceRxNonIpDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 48 }

-- tagpath /interface/filter-drops
interfaceFilterDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 49 }

-- tagpath /interface/mirror-drops
interfaceMirrorDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 50 }

-- tagpath /interface/cpu-policer-drops
interfaceCpuPolicerDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 51 }

-- tagpath /interface/tx-icmp-policer-drops
interfaceTxIcmpPolicerDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 52 }

-- tagpath /interface/tx-icmp-mirrored-drops
interfaceTxIcmpMirroredDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 53 }

-- tagpath /interface/split-horizon-drops
interfaceSplitHorizonDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 54 }

-- tagpath /interface/route-lookup-fail
interfaceRouteLookupFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 55 }

-- tagpath /interface/bad-label
interfaceBadLabel OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 56 }

-- tagpath /interface/tx-interface-disabled
interfaceTxInterfaceDisabled OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 57 }

-- tagpath /interface/rx-multicast-pkts
interfaceRxMulticastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 58 }

-- tagpath /interface/rx-broadcast-pkts
interfaceRxBroadcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 59 }

-- tagpath /interface/tx-multicast-pkts
interfaceTxMulticastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 60 }

-- tagpath /interface/tx-broadcast-pkts
interfaceTxBroadcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 61 }

-- tagpath /interface/rx-pause-pkts
interfaceRxPausePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 62 }

-- tagpath /interface/rx-dmac-filter-drops
interfaceRxDmacFilterDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 63 }

-- tagpath /interface/rx-wred-drops
interfaceRxWredDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 64 }

-- tagpath /interface/rx-interface-not-found
interfaceRxInterfaceNotFound OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 65 }

-- tagpath /interface/rx-inb-errors
interfaceRxInbErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 66 }

-- tagpath /interface/rx-oversize-errors
interfaceRxOversizeErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 67 }

-- tagpath /interface/rx-fcs-align-errors
interfaceRxFcsAlignErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 68 }

-- tagpath /interface/rx-undersize-errors
interfaceRxUndersizeErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 69 }

-- tagpath /interface/tx-underflow-pkts
interfaceTxUnderflowPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 70 }

-- tagpath /interface/tx-collision-drops
interfaceTxCollisionDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 71 }

-- tagpath /interface/tx-pause-pkts
interfaceTxPausePkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 72 }

-- tagpath /interface/tx-fragments-needed
interfaceTxFragmentsNeeded OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 73 }

-- tagpath /interface/tx-fragments
interfaceTxFragments OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 74 }

-- tagpath /interface/tx-fragment-drops
interfaceTxFragmentDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 75 }

-- tagpath /interface/tx-tail-red-drops
interfaceTxTailRedDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 76 }

-- tagpath /interface/llq-drops
interfaceLlqDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 77 }

-- tagpath /interface/rx-pkt-size-64
interfaceRxPktSize64 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 78 }

-- tagpath /interface/rx-pkt-size-lt-64
interfaceRxPktSizeLt64 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 79 }

-- tagpath /interface/rx-pkt-size-65-127
interfaceRxPktSize65127 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 80 }

-- tagpath /interface/rx-pkt-size-128-255
interfaceRxPktSize128255 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 81 }

-- tagpath /interface/rx-pkt-size-256-511
interfaceRxPktSize256511 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 82 }

-- tagpath /interface/rx-pkt-size-512-1023
interfaceRxPktSize5121023 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 83 }

-- tagpath /interface/rx-pkt-size-1024-1518
interfaceRxPktSize10241518 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 84 }

-- tagpath /interface/rx-pkt-size-gt-1518
interfaceRxPktSizeGt1518 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 85 }

-- tagpath /interface/tx-pkt-size-64
interfaceTxPktSize64 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 86 }

-- tagpath /interface/tx-pkt-size-lt-64
interfaceTxPktSizeLt64 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 87 }

-- tagpath /interface/tx-pkt-size-65-127
interfaceTxPktSize65127 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 88 }

-- tagpath /interface/tx-pkt-size-128-255
interfaceTxPktSize128255 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 89 }

-- tagpath /interface/tx-pkt-size-256-511
interfaceTxPktSize256511 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 90 }

-- tagpath /interface/tx-pkt-size-512-1023
interfaceTxPktSize5121023 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 91 }

-- tagpath /interface/tx-pkt-size-1024-1518
interfaceTxPktSize10241518 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 92 }

-- tagpath /interface/tx-pkt-size-gt-1518
interfaceTxPktSizeGt1518 OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 93 }

-- tagpath /interface/num-flaps
interfaceNumFlaps OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of interface flaps since last boot"
    ::= { interfaceEntry 94 }

-- tagpath /interface/pppoe-enabled-interface
interfacePppoeEnabledInterface OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE-enabled interface"
    ::= { interfaceEntry 95 }

-- tagpath /interface/pppoe-tx-pkts
interfacePppoeTxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE Tx packets"
    ::= { interfaceEntry 96 }

-- tagpath /interface/pppoe-rx-pkts
interfacePppoeRxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE Rx packets"
    ::= { interfaceEntry 97 }

interfaceBandwidthUpstream OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface upstream bandwidth capacity"
    ::= { interfaceEntry 98 }

interfaceBandwidthDownstream OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface downstream bandwidth capacity"
    ::= { interfaceEntry 99 }

-- tagpath /interface/af-type
interfaceAfType OBJECT-TYPE
    SYNTAX      INTEGER{ipv4(0), ipv6(1)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface AF Type"
    ::= { interfaceEntry 100 }

-- tagpath /interface/link-local-address
interfaceLinkLocalAddress OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Link local address"
    ::= { interfaceEntry 101 }

-- tagpath /interface/shaping-rate
interfaceShapingRate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface shaping rate in kbps"
    ::= { interfaceEntry 102 }

-- tagpath /interface/dot1x-tx-pkts
interfaceDot1xTxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Dot1x Tx packets"
    ::= { interfaceEntry 103 }

-- tagpath /interface/dot1x-rx-pkts
interfaceDot1xRxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Dot1x Rx packets"
    ::= { interfaceEntry 104 }

-- tagpath /interface/rx-policer-remark
interfaceRxPolicerRemark OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceEntry 105 }

-- tagpath /interface/addr-type
interfaceAddrType OBJECT-TYPE
    SYNTAX      IfAddressTypeEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface primary address type"
    ::= { interfaceEntry 107 }

-- tagpath /interface/icmp-redirect-tx-drops
interfaceIcmpRedirectTxDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "ICMP redirect Tx drops"
    ::= { interfaceEntry 108 }

-- tagpath /interface/icmp-redirect-rx-drops
interfaceIcmpRedirectRxDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "ICMP redirect Rx drops"
    ::= { interfaceEntry 109 }

-- tagpath /interface/device-policy-drops
interfaceDevicePolicyDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Device Policy Rx drops"
    ::= { interfaceEntry 110 }

-- tagpath /interface/if-addr
interfaceIfAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF InterfaceIfAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display interface addresses"
    ::= { viptela-oper-vpn 4 }

-- tagpath /interface/if-addr
interfaceIfAddrEntry OBJECT-TYPE
    SYNTAX      InterfaceIfAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { interfaceVpnId, interfaceIfname, interfaceAfType, interfaceIfAddrAddrId }
        ::= { interfaceIfAddrTable 1 }

InterfaceIfAddrEntry ::=
    SEQUENCE {
        interfaceIfAddrAddrId        Unsigned32,
        interfaceIfAddrIpAddress     String,
        interfaceIfAddrBroadcastAddr IpAddress,
        interfaceIfAddrSecondary     TruthValue
    }

-- tagpath /interface/if-addr/addr-id
interfaceIfAddrAddrId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Address ID"
    ::= { interfaceIfAddrEntry 1 }

-- tagpath /interface/if-addr/ip-address
interfaceIfAddrIpAddress OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { interfaceIfAddrEntry 2 }

-- tagpath /interface/if-addr/broadcast-addr
interfaceIfAddrBroadcastAddr OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Broadcast address"
    ::= { interfaceIfAddrEntry 3 }

-- tagpath /interface/if-addr/secondary
interfaceIfAddrSecondary OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary address"
    ::= { interfaceIfAddrEntry 4 }

-- tagpath /interface/queue
interfaceQueueTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF InterfaceQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Queue statistics"
    ::= { viptela-oper-vpn 5 }

-- tagpath /interface/queue
interfaceQueueEntry OBJECT-TYPE
    SYNTAX      InterfaceQueueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { interfaceVpnId, interfaceIfname, interfaceAfType, interfaceQueueQnum }
        ::= { interfaceQueueTable 1 }

InterfaceQueueEntry ::=
    SEQUENCE {
        interfaceQueueQnum UnsignedByte,
        interfaceQueueQueuedPackets Counter64,
        interfaceQueueQueuedBytes Counter64,
        interfaceQueueTailDropPackets Counter64,
        interfaceQueueTailDropBytes Counter64,
        interfaceQueueRedDropPackets Counter64,
        interfaceQueueRedDropBytes Counter64,
        interfaceQueueTxPackets Counter64,
        interfaceQueueTxBytes Counter64,
        interfaceQueueQueueDepth Counter64,
        interfaceQueueMaxDepth Counter64,
        interfaceQueueAvgQueue Counter64,
        interfaceQueueQueuePps Counter64,
        interfaceQueueQueueDropPps Counter64
    }

-- tagpath /interface/queue/qnum
interfaceQueueQnum OBJECT-TYPE
    SYNTAX      UnsignedByte (0 .. 7)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Queue number"
    ::= { interfaceQueueEntry 1 }

-- tagpath /interface/queue/queued-packets
interfaceQueueQueuedPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 2 }

-- tagpath /interface/queue/queued-bytes
interfaceQueueQueuedBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 3 }

-- tagpath /interface/queue/tail-drop-packets
interfaceQueueTailDropPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 4 }

-- tagpath /interface/queue/tail-drop-bytes
interfaceQueueTailDropBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 5 }

-- tagpath /interface/queue/red-drop-packets
interfaceQueueRedDropPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 6 }

-- tagpath /interface/queue/red-drop-bytes
interfaceQueueRedDropBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 7 }

-- tagpath /interface/queue/tx-packets
interfaceQueueTxPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 8 }

-- tagpath /interface/queue/tx-bytes
interfaceQueueTxBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 9 }

-- tagpath /interface/queue/queue-depth
interfaceQueueQueueDepth OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 10 }

-- tagpath /interface/queue/max-depth
interfaceQueueMaxDepth OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 11 }

-- tagpath /interface/queue/avg-queue
interfaceQueueAvgQueue OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 12 }

-- tagpath /interface/queue/queue-pps
interfaceQueueQueuePps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 13 }

-- tagpath /interface/queue/queue-drop-pps
interfaceQueueQueueDropPps OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { interfaceQueueEntry 14 }

-- tagpath /app/cflowd/flows
appCflowdFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppCflowdFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cflowd flows"
    ::= { appCflowd 1 }

-- tagpath /app/cflowd/flows
appCflowdFlowsEntry OBJECT-TYPE
    SYNTAX      AppCflowdFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appCflowdFlowsVpnId, appCflowdFlowsSrcIp, appCflowdFlowsDestIp, appCflowdFlowsSrcPort, appCflowdFlowsDestPort, appCflowdFlowsDscp, appCflowdFlowsIpProto }
        ::= { appCflowdFlowsTable 1 }

AppCflowdFlowsEntry ::=
    SEQUENCE {
        appCflowdFlowsVpnId Unsigned32,
        appCflowdFlowsSrcIp InetAddressIP,
        appCflowdFlowsDestIp InetAddressIP,
        appCflowdFlowsSrcPort UnsignedShort,
        appCflowdFlowsDestPort UnsignedShort,
        appCflowdFlowsDscp UnsignedByte,
        appCflowdFlowsIpProto UnsignedByte,
        appCflowdFlowsTcpCntrlBits UnsignedByte,
        appCflowdFlowsIcmpOpcode UnsignedShort,
        appCflowdFlowsNhopIp InetAddressIP,
        appCflowdFlowsEgressIntf Unsigned32,  --deprecated from 15.4
        appCflowdFlowsIngressIntf Unsigned32, --deprecated from 15.4
        appCflowdFlowsTotalPkts Counter64,
        appCflowdFlowsTotalBytes Counter64,
        appCflowdFlowsMinLen UnsignedShort,
        appCflowdFlowsMaxLen UnsignedShort,
        appCflowdFlowsStartTime String,
        appCflowdFlowsTimeToExpire Unsigned32,
        appCflowdFlowsEgressIntfName String,
        appCflowdFlowsIngressIntfName String,
        appCflowdFlowsAppID Unsigned32
    }

-- tagpath /app/cflowd/flows/vpn-id
appCflowdFlowsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appCflowdFlowsEntry 1 }

-- tagpath /app/cflowd/flows/src-ip
appCflowdFlowsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source IP Address"
    ::= { appCflowdFlowsEntry 2 }

-- tagpath /app/cflowd/flows/dest-ip
appCflowdFlowsDestIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination IP Address"
    ::= { appCflowdFlowsEntry 3 }

-- tagpath /app/cflowd/flows/src-port
appCflowdFlowsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source Port"
    ::= { appCflowdFlowsEntry 4 }

-- tagpath /app/cflowd/flows/dest-port
appCflowdFlowsDestPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination Port"
    ::= { appCflowdFlowsEntry 5 }

-- tagpath /app/cflowd/flows/dscp
appCflowdFlowsDscp OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "DSCP bits"
    ::= { appCflowdFlowsEntry 6 }

-- tagpath /app/cflowd/flows/ip-proto
appCflowdFlowsIpProto OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IP protocol number"
    ::= { appCflowdFlowsEntry 7 }

-- tagpath /app/cflowd/flows/tcp-cntrl-bits
appCflowdFlowsTcpCntrlBits OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "TCP control bits"
    ::= { appCflowdFlowsEntry 8 }

-- tagpath /app/cflowd/flows/icmp-opcode
appCflowdFlowsIcmpOpcode OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "256*ICMP-type + code"
    ::= { appCflowdFlowsEntry 9 }

-- tagpath /app/cflowd/flows/nhop-ip
appCflowdFlowsNhopIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "NextHop IP address"
    ::= { appCflowdFlowsEntry 10 }

-- tagpath /app/cflowd/flows/egress-intf
appCflowdFlowsEgressIntf OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION "egress interface id - obsolete from 15.4"
    ::= { appCflowdFlowsEntry 11 }

-- tagpath /app/cflowd/flows/ingress-intf
appCflowdFlowsIngressIntf OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION "ingress interface id - obsolete from 15.4"
    ::= { appCflowdFlowsEntry 12 }

-- tagpath /app/cflowd/flows/total-pkts
appCflowdFlowsTotalPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total pkts"
    ::= { appCflowdFlowsEntry 13 }

-- tagpath /app/cflowd/flows/total-bytes
appCflowdFlowsTotalBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total bytes"
    ::= { appCflowdFlowsEntry 14 }

-- tagpath /app/cflowd/flows/min-len
appCflowdFlowsMinLen OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Min length IP packet"
    ::= { appCflowdFlowsEntry 15 }

-- tagpath /app/cflowd/flows/max-len
appCflowdFlowsMaxLen OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Max length IP packet"
    ::= { appCflowdFlowsEntry 16 }

-- tagpath /app/cflowd/flows/start-time
appCflowdFlowsStartTime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Start time"
    ::= { appCflowdFlowsEntry 17 }

-- tagpath /app/cflowd/flows/time-to-expire
appCflowdFlowsTimeToExpire OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "time left to expire in secs"
    ::= { appCflowdFlowsEntry 18 }

-- tagpath /app/cflowd/flows/egress-intf-name
appCflowdFlowsEgressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "egress interface name"
    ::= { appCflowdFlowsEntry 19 }

-- tagpath /app/cflowd/flows/ingress-intf-name
appCflowdFlowsIngressIntfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "ingress interface name"
    ::= { appCflowdFlowsEntry 20 }

-- tagpath /app/cflowd/flows/app-id
appCflowdFlowsAppID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "app id"
    ::= { appCflowdFlowsEntry 21 }

-- tagpath /app/cflowd/collector
appCflowdCollectorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppCflowdCollectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cflowd collector information"
    ::= { appCflowd 2 }

-- tagpath /app/cflowd/collector
appCflowdCollectorEntry OBJECT-TYPE
    SYNTAX      AppCflowdCollectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appCflowdCollectorVpnId, appCflowdCollectorIpAddress, appCflowdCollectorPort, appCflowdCollectorProto }
        ::= { appCflowdCollectorTable 1 }

AppCflowdCollectorEntry ::=
    SEQUENCE {
        appCflowdCollectorVpnId Unsigned32,
        appCflowdCollectorIpAddress InetAddressIP,
        appCflowdCollectorPort UnsignedShort,
        appCflowdCollectorProto INTEGER,
        appCflowdCollectorConnectionUp TruthValue,
        appCflowdCollectorIpfix UnsignedByte,
        appCflowdCollectorConnectionRetry UnsignedShort,
        appCflowdCollectorTemplatePackets Counter64,
        appCflowdCollectorDataPackets Counter64,
        appCflowdCollectorDroppedPackets Counter64,
        appCflowdCollectorSourceInterface String
    }

-- tagpath /app/cflowd/collector/vpn-id
appCflowdCollectorVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Collector VPN ID"
    ::= { appCflowdCollectorEntry 1 }

-- tagpath /app/cflowd/collector/ip-address
appCflowdCollectorIpAddress OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Collector IP address"
    ::= { appCflowdCollectorEntry 2 }

-- tagpath /app/cflowd/collector/port
appCflowdCollectorPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Collector port"
    ::= { appCflowdCollectorEntry 3 }

-- tagpath /app/cflowd/collector/proto
appCflowdCollectorProto OBJECT-TYPE
    SYNTAX      INTEGER {icmp(1),tcp(6),udp(17)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Transport protocol"
    ::= { appCflowdCollectorEntry 4 }

-- tagpath /app/cflowd/collector/connection-up
appCflowdCollectorConnectionUp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Connection state"
    ::= { appCflowdCollectorEntry 5 }

-- tagpath /app/cflowd/collector/ipfix
appCflowdCollectorIpfix OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IPFix version"
    ::= { appCflowdCollectorEntry 6 }

-- tagpath /app/cflowd/collector/connection-retry
appCflowdCollectorConnectionRetry OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of connection retry attempts"
    ::= { appCflowdCollectorEntry 7 }

-- tagpath /app/cflowd/collector/template-packets
appCflowdCollectorTemplatePackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX template pkts transmitted"
    ::= { appCflowdCollectorEntry 8 }

-- tagpath /app/cflowd/collector/data-packets
appCflowdCollectorDataPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX data pkts transmitted"
    ::= { appCflowdCollectorEntry 9 }

-- tagpath /app/cflowd/collector/dropped-packets
appCflowdCollectorDroppedPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of IPFIX pkts dropped on TCP connection"
    ::= { appCflowdCollectorEntry 10 }

-- tagpath /app/cflowd/collector/source-interface
appCflowdCollectorSourceInterface OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Source interface used to export IPFIX packets"
    ::= { appCflowdCollectorEntry 11 }

-- tagpath /app/cflowd/flow-count
appCflowdFlowCountTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppCflowdFlowCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cflowd flow count"
    ::= { appCflowd 5 }

-- tagpath /app/cflowd/flow-count
appCflowdFlowCountEntry OBJECT-TYPE
    SYNTAX      AppCflowdFlowCountEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appCflowdFlowCountVpnId }
        ::= { appCflowdFlowCountTable 1 }

AppCflowdFlowCountEntry ::=
    SEQUENCE {
        appCflowdFlowCountVpnId Unsigned32,
        appCflowdFlowCountCount Unsigned32
    }

-- tagpath /app/cflowd/flow-count/vpn-id
appCflowdFlowCountVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Flow count"
    ::= { appCflowdFlowCountEntry 1 }

-- tagpath /app/cflowd/flow-count/count
appCflowdFlowCountCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flow count"
    ::= { appCflowdFlowCountEntry 2 }

-- tagpath /app/dpi/applications
appDpiApplicationsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppDpiApplicationsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display applications"
    ::= { appDpi 1 }

-- tagpath /app/dpi/applications
appDpiApplicationsEntry OBJECT-TYPE
    SYNTAX      AppDpiApplicationsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appDpiApplicationsVpnId, IMPLIED appDpiApplicationsApplication }
        ::= { appDpiApplicationsTable 1 }

AppDpiApplicationsEntry ::=
    SEQUENCE {
        appDpiApplicationsVpnId Unsigned32,
        appDpiApplicationsSrcIp InetAddressIP,  --deprecated from 17.2
        appDpiApplicationsApplication String,
        appDpiApplicationsFamily String,
        appDpiApplicationsTotalFlows Unsigned32,  --deprecated from 17.2
        appDpiApplicationsExpiredFlows Unsigned32,
        appDpiApplicationsLastSeen DateAndTime,
        appDpiApplicationsPackets Unsigned32,
        appDpiApplicationsOctets Counter64
    }

-- tagpath /app/dpi/applications/vpn-id
appDpiApplicationsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appDpiApplicationsEntry 1 }

-- tagpath /app/dpi/applications/src-ip
appDpiApplicationsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      deprecated
    DESCRIPTION "Source IP Address - deprecated from 17.2"
    ::= { appDpiApplicationsEntry 2 }

-- tagpath /app/dpi/applications/application
appDpiApplicationsApplication OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 128))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Application"
    ::= { appDpiApplicationsEntry 3 }

-- tagpath /app/dpi/applications/family
appDpiApplicationsFamily OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Family"
    ::= { appDpiApplicationsEntry 4 }

-- tagpath /app/dpi/applications/total-flows
appDpiApplicationsTotalFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION "Tot Flows - deprecated from 17.2"
    ::= { appDpiApplicationsEntry 5 }

-- tagpath /app/dpi/applications/expired-flows
appDpiApplicationsExpiredFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Exp Flows"
    ::= { appDpiApplicationsEntry 6 }

-- tagpath /app/dpi/applications/last-seen
appDpiApplicationsLastSeen OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Last seen"
    ::= { appDpiApplicationsEntry 7 }

-- tagpath /app/dpi/applications/packets
appDpiApplicationsPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packet count for the application"
    ::= { appDpiApplicationsEntry 8 }

-- tagpath /app/dpi/applications/octets
appDpiApplicationsOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Octet count for the application"
    ::= { appDpiApplicationsEntry 9 }

-- tagpath /app/dpi/flows
appDpiFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppDpiFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display flows"
    ::= { appDpi 2 }

-- tagpath /app/dpi/flows
appDpiFlowsEntry OBJECT-TYPE
    SYNTAX      AppDpiFlowsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appDpiFlowsVpnId, appDpiFlowsSrcIp, appDpiFlowsDstIp, appDpiFlowsSrcPort, appDpiFlowsDstPort, appDpiFlowsProto }
        ::= { appDpiFlowsTable 1 }

AppDpiFlowsEntry ::=
    SEQUENCE {
        appDpiFlowsVpnId Unsigned32,
        appDpiFlowsSrcIp InetAddressIP,
        appDpiFlowsDstIp InetAddressIP,
        appDpiFlowsSrcPort UnsignedShort,
        appDpiFlowsDstPort UnsignedShort,
        appDpiFlowsProto INTEGER,
        appDpiFlowsApplication String,
        appDpiFlowsFamily String,
        appDpiFlowsActiveSince DateAndTime,
        appDpiFlowsPackets Unsigned32,
        appDpiFlowsOctets Counter64
    }

-- tagpath /app/dpi/flows/vpn-id
appDpiFlowsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { appDpiFlowsEntry 1 }

-- tagpath /app/dpi/flows/src-ip
appDpiFlowsSrcIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source IP Address"
    ::= { appDpiFlowsEntry 2 }

-- tagpath /app/dpi/flows/dst-ip
appDpiFlowsDstIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination IP Address"
    ::= { appDpiFlowsEntry 3 }

-- tagpath /app/dpi/flows/src-port
appDpiFlowsSrcPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source port"
    ::= { appDpiFlowsEntry 4 }

-- tagpath /app/dpi/flows/dst-port
appDpiFlowsDstPort OBJECT-TYPE
    SYNTAX      UnsignedShort
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination port"
    ::= { appDpiFlowsEntry 5 }

-- tagpath /app/dpi/flows/proto
appDpiFlowsProto OBJECT-TYPE
    SYNTAX      INTEGER {hopopt(0),icmp(1),igmp(2),ggp(3),ipv4(4),st(5),tcp(6),cbt(7),egp(8),igp(9),bbn-rcc-mon(10),nvp-ii(11),pup(12),argus(13),emcon(14),xnet(15),chaos(16),udp(17),mux(18),dcn-meas(19),hmp(20),prm(21),xns-idp(22),trunk-1(23),trunk-2(24),leaf-1(25),leaf-2(26),rdp(27),irtp(28),iso-tp4(29),netblt(30),mfe-nsp(31),merit-inp(32),dccp(33),a3pc(34),idpr(35),xtp(36),ddp(37),idpr-cmtp(38),tp(39),il(40),ipv6(41),sdrp(42),ipv6-route(43),ipv6-frag(44),idrp(45),rsvp(46),gre(47),dsr(48),bna(49),esp(50),ah(51),i-nlsp(52),swipe(53),narp(54),mobile(55),tlsp(56),skip(57),ipv6-icmp(58),ipv6-nonxt(59),ipv6-opts(60),any-host(61),cftp(62),any-local(63),sat-expak(64),kryptolan(65),rvd(66),ippc(67),dist-fs(68),sat-mon(69),visa(70),ipcv(71),cpnx(72),cphb(73),wsn(74),pvp(75),br-sat-mon(76),sun-nd(77),wb-mon(78),wb-expak(79),iso-ip(80),vmtp(81),secure-vmtp(82),vines(83),ttp(84),nsfnet-igp(85),dgp(86),tcf(87),eigrp(88),ospf(89),sprite-rpc(90),larp(91),mtp(92),ax-25(93),ipip(94),micp(95),scc-sp(96),etherip(97),encap(98),priv-encypt(99),gmtp(100),ifmp(101),pnni(102),pim(103),aris(104),scps(105),qnx(106),a-n(107),ipcomp(108),snp(109),compaq-peer(110),ipx-in-ip(111),vrrp(112),pgm(113),any-0-hop(114),l2tp(115),ddx(116),iatp(117),stp(118),srp(119),uti(120),smp(121),sm(122),ptp(123),isis-o-ipv4(124),fire(125),crtp(126),crudp(127),sscopmce(128),iplt(129),sps(130),pipe(131),sctp(132),fc(133),rsvp-e2e-ignore(134),mobility-header(135),udplite(136),mpls-in-ip(137),manet(138),hip(139),shim6(140),wesp(141),rohc(142),exp-1(253),exp-2(254),reserved(255)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Transport protocol"
    ::= { appDpiFlowsEntry 6 }

-- tagpath /app/dpi/flows/application
appDpiFlowsApplication OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Application"
    ::= { appDpiFlowsEntry 7 }

-- tagpath /app/dpi/flows/family
appDpiFlowsFamily OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Family"
    ::= { appDpiFlowsEntry 8 }

-- tagpath /app/dpi/flows/active-since
appDpiFlowsActiveSince OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time since active"
    ::= { appDpiFlowsEntry 9 }

-- tagpath /app/dpi/flows/packets
appDpiFlowsPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packet count for the flow"
    ::= { appDpiFlowsEntry 10 }

-- tagpath /app/dpi/flows/octets
appDpiFlowsOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Octet count for the flow"
    ::= { appDpiFlowsEntry 11 }

-- tagpath /app/dpi/flows/tunnels-in
appDpiFlowsTunnelsInTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppDpiFlowsTunnelsInEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Tunnels taken by overlay traffic to remote vedge"
    ::= { appDpi 5 }

-- tagpath /app/dpi/flows/tunnels-in
appDpiFlowsTunnelsInEntry OBJECT-TYPE
    SYNTAX      AppDpiFlowsTunnelsInEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appDpiFlowsVpnId, appDpiFlowsSrcIp, appDpiFlowsDstIp, appDpiFlowsSrcPort, appDpiFlowsDstPort, appDpiFlowsProto, appDpiFlowsTunnelsInIndex }
        ::= { appDpiFlowsTunnelsInTable 1 }

AppDpiFlowsTunnelsInEntry ::=
    SEQUENCE {
        appDpiFlowsTunnelsInIndex Unsigned32,
        appDpiFlowsTunnelsInLocalTlocIp InetAddressIP,
        appDpiFlowsTunnelsInLocalTlocColor INTEGER,
        appDpiFlowsTunnelsInLocalTlocEncap INTEGER,
        appDpiFlowsTunnelsInRemoteTlocIp InetAddressIP,
        appDpiFlowsTunnelsInRemoteTlocColor INTEGER,
        appDpiFlowsTunnelsInRemoteTlocEncap INTEGER,
        appDpiFlowsTunnelsInPackets Unsigned32,
        appDpiFlowsTunnelsInOctets Counter64,
        appDpiFlowsTunnelsInStartTime DateAndTime
    }

-- tagpath /app/dpi/flows/tunnels-in/index
appDpiFlowsTunnelsInIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Tunnel index"
    ::= { appDpiFlowsTunnelsInEntry 1 }

-- tagpath /app/dpi/flows/tunnels-in/local-tloc/ip
appDpiFlowsTunnelsInLocalTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC IP"
    ::= { appDpiFlowsTunnelsInEntry 2 }

-- tagpath /app/dpi/flows/tunnels-in/local-tloc/color
appDpiFlowsTunnelsInLocalTlocColor 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"
    ::= { appDpiFlowsTunnelsInEntry 3 }

-- tagpath /app/dpi/flows/tunnels-in/local-tloc/encap
appDpiFlowsTunnelsInLocalTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC encap"
    ::= { appDpiFlowsTunnelsInEntry 4 }

-- tagpath /app/dpi/flows/tunnels-in/remote-tloc/ip
appDpiFlowsTunnelsInRemoteTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC IP"
    ::= { appDpiFlowsTunnelsInEntry 5 }

-- tagpath /app/dpi/flows/tunnels-in/remote-tloc/color
appDpiFlowsTunnelsInRemoteTlocColor 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"
    ::= { appDpiFlowsTunnelsInEntry 6 }

-- tagpath /app/dpi/flows/tunnels-in/remote-tloc/encap
appDpiFlowsTunnelsInRemoteTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC encap"
    ::= { appDpiFlowsTunnelsInEntry 7 }

-- tagpath /app/dpi/flows/tunnels-in/packets
appDpiFlowsTunnelsInPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packet count for the tunnel"
    ::= { appDpiFlowsTunnelsInEntry 8 }

-- tagpath /app/dpi/flows/tunnels-in/octets
appDpiFlowsTunnelsInOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Octet count for the tunnel"
    ::= { appDpiFlowsTunnelsInEntry 9 }

-- tagpath /app/dpi/flows/tunnels-in/start-time
appDpiFlowsTunnelsInStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time when flow started using this tunnel"
    ::= { appDpiFlowsTunnelsInEntry 10 }


-- tagpath /app/dpi/flows/tunnels-out
appDpiFlowsTunnelsOutTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppDpiFlowsTunnelsOutEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Tunnels taken by overlay traffic from remote vedge"
    ::= { appDpi 6 }

-- tagpath /app/dpi/flows/tunnels-out
appDpiFlowsTunnelsOutEntry OBJECT-TYPE
    SYNTAX      AppDpiFlowsTunnelsOutEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appDpiFlowsVpnId, appDpiFlowsSrcIp, appDpiFlowsDstIp, appDpiFlowsSrcPort, appDpiFlowsDstPort, appDpiFlowsProto, appDpiFlowsTunnelsOutIndex }
        ::= { appDpiFlowsTunnelsOutTable 1 }

AppDpiFlowsTunnelsOutEntry ::=
    SEQUENCE {
        appDpiFlowsTunnelsOutIndex Unsigned32,
        appDpiFlowsTunnelsOutLocalTlocIp InetAddressIP,
        appDpiFlowsTunnelsOutLocalTlocColor INTEGER,
        appDpiFlowsTunnelsOutLocalTlocEncap INTEGER,
        appDpiFlowsTunnelsOutRemoteTlocIp InetAddressIP,
        appDpiFlowsTunnelsOutRemoteTlocColor INTEGER,
        appDpiFlowsTunnelsOutRemoteTlocEncap INTEGER,
        appDpiFlowsTunnelsOutPackets Unsigned32,
        appDpiFlowsTunnelsOutOctets Counter64,
        appDpiFlowsTunnelsOutStartTime DateAndTime
    }

-- tagpath /app/dpi/flows/tunnels-out/index
appDpiFlowsTunnelsOutIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Tunnel index"
    ::= { appDpiFlowsTunnelsOutEntry 1 }

-- tagpath /app/dpi/flows/tunnels-out/local-tloc/ip
appDpiFlowsTunnelsOutLocalTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC IP"
    ::= { appDpiFlowsTunnelsOutEntry 2 }

-- tagpath /app/dpi/flows/tunnels-out/local-tloc/color
appDpiFlowsTunnelsOutLocalTlocColor 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"
    ::= { appDpiFlowsTunnelsOutEntry 3 }

-- tagpath /app/dpi/flows/tunnels-out/local-tloc/encap
appDpiFlowsTunnelsOutLocalTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC encap"
    ::= { appDpiFlowsTunnelsOutEntry 4 }

-- tagpath /app/dpi/flows/tunnels-out/remote-tloc/ip
appDpiFlowsTunnelsOutRemoteTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC IP"
    ::= { appDpiFlowsTunnelsOutEntry 5 }

-- tagpath /app/dpi/flows/tunnels-out/remote-tloc/color
appDpiFlowsTunnelsOutRemoteTlocColor 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"
    ::= { appDpiFlowsTunnelsOutEntry 6 }

-- tagpath /app/dpi/flows/tunnels-out/remote-tloc/encap
appDpiFlowsTunnelsOutRemoteTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC encap"
    ::= { appDpiFlowsTunnelsOutEntry 7 }

-- tagpath /app/dpi/flows/tunnels-out/packets
appDpiFlowsTunnelsOutPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Packet count for the tunnel"
    ::= { appDpiFlowsTunnelsOutEntry 8 }

-- tagpath /app/dpi/flows/tunnels-out/octets
appDpiFlowsTunnelsOutOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Octet count for the tunnel"
    ::= { appDpiFlowsTunnelsOutEntry 9 }

-- tagpath /app/dpi/flows/tunnels-out/start-time
appDpiFlowsTunnelsOutStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time when flow started using this tunnel"
    ::= { appDpiFlowsTunnelsOutEntry 10 }

-- tagpath /app/dpi/supported-applications
appDpiSupportedApplicationsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AppDpiSupportedApplicationsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display list of supported applications"
    ::= { appDpi 3 }

-- tagpath /app/dpi/supported-applications
appDpiSupportedApplicationsEntry OBJECT-TYPE
    SYNTAX      AppDpiSupportedApplicationsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { appDpiSupportedApplicationsApplication }
        ::= { appDpiSupportedApplicationsTable 1 }

AppDpiSupportedApplicationsEntry ::=
    SEQUENCE {
        appDpiSupportedApplicationsApplication String,
        appDpiSupportedApplicationsFamily String,
        appDpiSupportedApplicationsAppLongName String,
        appDpiSupportedApplicationsFamilyLongName String,
        appDpiSupportedApplicationsAppId Unsigned32
    }

-- tagpath /app/dpi/supported-applications/application
appDpiSupportedApplicationsApplication OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Application"
    ::= { appDpiSupportedApplicationsEntry 1 }

-- tagpath /app/dpi/supported-applications/family
appDpiSupportedApplicationsFamily OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Family"
    ::= { appDpiSupportedApplicationsEntry 2 }

-- tagpath /app/dpi/supported-applications/application
appDpiSupportedApplicationsAppLongName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Application Long Name"
    ::= { appDpiSupportedApplicationsEntry 3 }

-- tagpath /app/dpi/supported-applications/family
appDpiSupportedApplicationsFamilyLongName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Family Long Name"
    ::= { appDpiSupportedApplicationsEntry 4 }

-- tagpath /app/dpi/supported-applications/app-id
appDpiSupportedApplicationsAppId OBJECT-TYPE
    SYNTAX      Unsigned32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "App ID"
    ::= { appDpiSupportedApplicationsEntry 5 }

-- tagpath /ip/routes-table
ipRoutesTableTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpRoutesTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of routes"
    ::= { ip 1 }

-- tagpath /ip/routes-table
ipRoutesTableEntry OBJECT-TYPE
    SYNTAX      IpRoutesTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipRoutesTableVpnId, ipRoutesTableAddressFamily, ipRoutesTablePrefix, ipRoutesTablePathId }
        ::= { ipRoutesTableTable 1 }

IpRoutesTableEntry ::=
    SEQUENCE {
        ipRoutesTableVpnId Unsigned32,
        ipRoutesTableAddressFamily INTEGER,
        ipRoutesTablePrefix IpPrefix,
        ipRoutesTablePathId Unsigned32,
        ipRoutesTableProtocol INTEGER,
        ipRoutesTableProtocolSubType INTEGER,
        ipRoutesTableDistance Unsigned32,
        ipRoutesTableMetric Unsigned32,
        ipRoutesTableUptime String,
        ipRoutesTablePathFlags Unsigned32,
        ipRoutesTableNexthopFlags Unsigned32,
        ipRoutesTableNexthopType INTEGER,
        ipRoutesTableNexthopIfname String,
        ipRoutesTableNexthopAddr InetAddressIP,
        ipRoutesTableNexthopRtype INTEGER,
        ipRoutesTableNexthopRifname String,
        ipRoutesTableNexthopRaddr InetAddressIP,
        ipRoutesTableNexthopRsrc InetAddressIP,
        ipRoutesTableIp InetAddressIP,
        ipRoutesTableColor INTEGER,
        ipRoutesTableEncap INTEGER,
        ipRoutesTableNexthopVpn Unsigned32,
        ipRoutesTableNexthopLabel Unsigned32,
        ipRoutesTableRstatus RouteStatusType,
        ipRoutesTableOmpTag Unsigned32,
        ipRoutesTableOspfTag Unsigned32
    }

-- tagpath /ip/routes-table/vpn-id
ipRoutesTableVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipRoutesTableEntry 1 }

-- tagpath /ip/routes-table/address-family
ipRoutesTableAddressFamily OBJECT-TYPE
    SYNTAX      INTEGER {ipv4(0),ipv6(1)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Address Family"
    ::= { ipRoutesTableEntry 2 }

-- tagpath /ip/routes-table/prefix
ipRoutesTablePrefix OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Route"
    ::= { ipRoutesTableEntry 3 }

-- tagpath /ip/routes-table/path-id
ipRoutesTablePathId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Path identifier"
    ::= { ipRoutesTableEntry 4 }

-- tagpath /ip/routes-table/protocol
ipRoutesTableProtocol OBJECT-TYPE
    SYNTAX      INTEGER {connected(0),static(1),ospf(2),bgp(3),omp(4),nat(5),gre(6),natpoolOmp(7),natpoolService(8),stdIpsec(9)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Protocol"
    ::= { ipRoutesTableEntry 5 }

-- tagpath /ip/routes-table/protocol-sub-type
ipRoutesTableProtocolSubType OBJECT-TYPE
    SYNTAX      INTEGER {intraArea(1),interArea(2),external1(3),external2(4),nssaExternal1(5),nssaExternal2(6),bgpExternal(7),bgpInternal(8)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Subtype"
    ::= { ipRoutesTableEntry 6 }

-- tagpath /ip/routes-table/distance
ipRoutesTableDistance OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Distance"
    ::= { ipRoutesTableEntry 7 }

-- tagpath /ip/routes-table/metric
ipRoutesTableMetric OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Metric"
    ::= { ipRoutesTableEntry 8 }

-- tagpath /ip/routes-table/uptime
ipRoutesTableUptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Uptime (Days:Hours:Minutes:Seconds)"
    ::= { ipRoutesTableEntry 9 }

-- tagpath /ip/routes-table/path-flags
ipRoutesTablePathFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path flags"
    ::= { ipRoutesTableEntry 10 }

-- tagpath /ip/routes-table/nexthop-flags
ipRoutesTableNexthopFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop flags"
    ::= { ipRoutesTableEntry 11 }

-- tagpath /ip/routes-table/nexthop-type
ipRoutesTableNexthopType OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop type"
    ::= { ipRoutesTableEntry 12 }

-- tagpath /ip/routes-table/nexthop-ifname
ipRoutesTableNexthopIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop interface name"
    ::= { ipRoutesTableEntry 13 }

-- tagpath /ip/routes-table/nexthop-addr
ipRoutesTableNexthopAddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop address"
    ::= { ipRoutesTableEntry 14 }

-- tagpath /ip/routes-table/nexthop-rtype
ipRoutesTableNexthopRtype OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop type"
    ::= { ipRoutesTableEntry 15 }

-- tagpath /ip/routes-table/nexthop-rifname
ipRoutesTableNexthopRifname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop interface name"
    ::= { ipRoutesTableEntry 16 }

-- tagpath /ip/routes-table/nexthop-raddr
ipRoutesTableNexthopRaddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop address"
    ::= { ipRoutesTableEntry 17 }

-- tagpath /ip/routes-table/nexthop-rsrc
ipRoutesTableNexthopRsrc OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop source"
    ::= { ipRoutesTableEntry 18 }

-- tagpath /ip/routes-table/ip
ipRoutesTableIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { ipRoutesTableEntry 19 }

-- tagpath /ip/routes-table/color
ipRoutesTableColor 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 "Color"
    ::= { ipRoutesTableEntry 20 }

-- tagpath /ip/routes-table/encap
ipRoutesTableEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Encapsulation"
    ::= { ipRoutesTableEntry 21 }

-- tagpath /ip/routes-table/nexthop-vpn
ipRoutesTableNexthopVpn OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop VPN"
    ::= { ipRoutesTableEntry 22 }

-- tagpath /ip/routes-table/nexthop-label
ipRoutesTableNexthopLabel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop label"
    ::= { ipRoutesTableEntry 23 }

-- tagpath /ip/routes-table/rstatus
ipRoutesTableRstatus OBJECT-TYPE
    SYNTAX      RouteStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path status (fib/selected/blackhole/inactive/recursive)"
    ::= { ipRoutesTableEntry 24 }

-- tagpath /ip/routes-table/omp-tag
ipRoutesTableOmpTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OMP Tag"
    ::= { ipRoutesTableEntry 25 }

-- tagpath /ip/routes-table/ospf-tag
ipRoutesTableOspfTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OSPF Tag"
    ::= { ipRoutesTableEntry 26 }

-- tagpath /ip/longer-routes-table
ipLongerRoutesTableTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpLongerRoutesTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of longer routes"
    ::= { ip 5 }

-- tagpath /ip/longer-routes-table
ipLongerRoutesTableEntry OBJECT-TYPE
    SYNTAX      IpLongerRoutesTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipLongerRoutesTableVpnId, ipLongerRoutesTableAddressFamily, ipLongerRoutesTablePrefix, ipLongerRoutesTableLongerPrefix, ipLongerRoutesTablePathId }
        ::= { ipLongerRoutesTableTable 1 }

IpLongerRoutesTableEntry ::=
    SEQUENCE {
        ipLongerRoutesTableVpnId Unsigned32,
        ipLongerRoutesTableAddressFamily INTEGER,
        ipLongerRoutesTablePrefix IpPrefix,
        ipLongerRoutesTableLongerPrefix IpPrefix,
        ipLongerRoutesTablePathId Unsigned32,
        ipLongerRoutesTableProtocol INTEGER,
        ipLongerRoutesTableProtocolSubType INTEGER,
        ipLongerRoutesTableDistance Unsigned32,
        ipLongerRoutesTableMetric Unsigned32,
        ipLongerRoutesTableUptime String,
        ipLongerRoutesTablePathFlags Unsigned32,
        ipLongerRoutesTableNexthopFlags Unsigned32,
        ipLongerRoutesTableNexthopType INTEGER,
        ipLongerRoutesTableNexthopIfname String,
        ipLongerRoutesTableNexthopAddr InetAddressIP,
        ipLongerRoutesTableNexthopRtype INTEGER,
        ipLongerRoutesTableNexthopRifname String,
        ipLongerRoutesTableNexthopRaddr InetAddressIP,
        ipLongerRoutesTableNexthopRsrc InetAddressIP,
        ipLongerRoutesTableTlocIp InetAddressIP,
        ipLongerRoutesTableTlocColor INTEGER,
        ipLongerRoutesTableTlocEncap INTEGER,
        ipLongerRoutesTableNexthopVpn Unsigned32,
        ipLongerRoutesTableNexthopLabel Unsigned32,
        ipLongerRoutesTableRstatus RouteStatusType,
        ipLongerRoutesTableOmpTag Unsigned32,
        ipLongerRoutesTableOspfTag Unsigned32
    }

-- tagpath /ip/longer-routes-table/vpn-id
ipLongerRoutesTableVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipLongerRoutesTableEntry 1 }

-- tagpath /ip/longer-routes-table/address-family
ipLongerRoutesTableAddressFamily OBJECT-TYPE
    SYNTAX      INTEGER {ipv4(0),ipv6(1)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Address Family"
    ::= { ipLongerRoutesTableEntry 2 }

-- tagpath /ip/longer-routes-table/prefix
ipLongerRoutesTablePrefix OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Route"
    ::= { ipLongerRoutesTableEntry 3 }

-- tagpath /ip/longer-routes-table/longer-prefix
ipLongerRoutesTableLongerPrefix OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Longer route"
    ::= { ipLongerRoutesTableEntry 4 }

-- tagpath /ip/longer-routes-table/path-id
ipLongerRoutesTablePathId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Path identifier"
    ::= { ipLongerRoutesTableEntry 5 }

-- tagpath /ip/longer-routes-table/protocol
ipLongerRoutesTableProtocol OBJECT-TYPE
    SYNTAX      INTEGER {connected(0),static(1),ospf(2),bgp(3),omp(4),nat(5),gre(6),natpoolOmp(7),natpoolService(8)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Protocol"
    ::= { ipLongerRoutesTableEntry 6 }

-- tagpath /ip/longer-routes-table/protocol-sub-type
ipLongerRoutesTableProtocolSubType OBJECT-TYPE
    SYNTAX      INTEGER {intraArea(1),interArea(2),external1(3),external2(4),nssaExternal1(5),nssaExternal2(6),bgpExternal(7),bgpInternal(8)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Subtype"
    ::= { ipLongerRoutesTableEntry 7 }

-- tagpath /ip/longer-routes-table/distance
ipLongerRoutesTableDistance OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Distance"
    ::= { ipLongerRoutesTableEntry 8 }

-- tagpath /ip/longer-routes-table/metric
ipLongerRoutesTableMetric OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Metric"
    ::= { ipLongerRoutesTableEntry 9 }

-- tagpath /ip/longer-routes-table/uptime
ipLongerRoutesTableUptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Uptime (Days:Hours:Minutes:Seconds)"
    ::= { ipLongerRoutesTableEntry 10 }

-- tagpath /ip/longer-routes-table/path-flags
ipLongerRoutesTablePathFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path flags"
    ::= { ipLongerRoutesTableEntry 11 }

-- tagpath /ip/longer-routes-table/nexthop-flags
ipLongerRoutesTableNexthopFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop flags"
    ::= { ipLongerRoutesTableEntry 12 }

-- tagpath /ip/longer-routes-table/nexthop-type
ipLongerRoutesTableNexthopType OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop type"
    ::= { ipLongerRoutesTableEntry 13 }

-- tagpath /ip/longer-routes-table/nexthop-ifname
ipLongerRoutesTableNexthopIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop interface name"
    ::= { ipLongerRoutesTableEntry 14 }

-- tagpath /ip/longer-routes-table/nexthop-addr
ipLongerRoutesTableNexthopAddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop address"
    ::= { ipLongerRoutesTableEntry 15 }

-- tagpath /ip/longer-routes-table/nexthop-rtype
ipLongerRoutesTableNexthopRtype OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop type"
    ::= { ipLongerRoutesTableEntry 16 }

-- tagpath /ip/longer-routes-table/nexthop-rifname
ipLongerRoutesTableNexthopRifname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop interface name"
    ::= { ipLongerRoutesTableEntry 17 }

-- tagpath /ip/longer-routes-table/nexthop-raddr
ipLongerRoutesTableNexthopRaddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop address"
    ::= { ipLongerRoutesTableEntry 18 }

-- tagpath /ip/longer-routes-table/nexthop-rsrc
ipLongerRoutesTableNexthopRsrc OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop source"
    ::= { ipLongerRoutesTableEntry 19 }

-- tagpath /ip/longer-routes-table/tloc/ip
ipLongerRoutesTableTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { ipLongerRoutesTableEntry 20 }

-- tagpath /ip/longer-routes-table/tloc/color
ipLongerRoutesTableTlocColor 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 "Color"
    ::= { ipLongerRoutesTableEntry 21 }

-- tagpath /ip/longer-routes-table/tloc/encap
ipLongerRoutesTableTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Encapsulation"
    ::= { ipLongerRoutesTableEntry 22 }

-- tagpath /ip/longer-routes-table/nexthop-vpn
ipLongerRoutesTableNexthopVpn OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop VPN"
    ::= { ipLongerRoutesTableEntry 23 }

-- tagpath /ip/longer-routes-table/nexthop-label
ipLongerRoutesTableNexthopLabel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop label"
    ::= { ipLongerRoutesTableEntry 24 }

-- tagpath /ip/longer-routes-table/rstatus
ipLongerRoutesTableRstatus OBJECT-TYPE
    SYNTAX      RouteStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path status (fib/selected/blackhole/inactive/recursive)"
    ::= { ipLongerRoutesTableEntry 25 }

-- tagpath /ip/longer-routes-table/omp-tag
ipLongerRoutesTableOmpTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Omp Tag"
    ::= { ipLongerRoutesTableEntry 26 }

-- tagpath /ip/longer-routes-table/ospf-tag
ipLongerRoutesTableOspfTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OSPF Tag"
    ::= { ipLongerRoutesTableEntry 27 }

-- tagpath /ip/best-match-route
ipBestMatchRouteTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpBestMatchRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Best matching route"
    ::= { ip 6 }

-- tagpath /ip/best-match-route
ipBestMatchRouteEntry OBJECT-TYPE
    SYNTAX      IpBestMatchRouteEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipBestMatchRouteVpnId, ipBestMatchRouteAddressFamily, ipBestMatchRouteDestination, ipBestMatchRoutePathId }
        ::= { ipBestMatchRouteTable 1 }

IpBestMatchRouteEntry ::=
    SEQUENCE {
        ipBestMatchRouteVpnId Unsigned32,
        ipBestMatchRouteAddressFamily INTEGER,
        ipBestMatchRouteDestination InetAddressIP,
        ipBestMatchRoutePathId Unsigned32,
        ipBestMatchRoutePrefix IpPrefix,
        ipBestMatchRouteProtocol INTEGER,
        ipBestMatchRouteProtocolSubType INTEGER,
        ipBestMatchRouteDistance Unsigned32,
        ipBestMatchRouteMetric Unsigned32,
        ipBestMatchRouteUptime String,
        ipBestMatchRoutePathFlags Unsigned32,
        ipBestMatchRouteNexthopFlags Unsigned32,
        ipBestMatchRouteNexthopType INTEGER,
        ipBestMatchRouteNexthopIfname String,
        ipBestMatchRouteNexthopAddr InetAddressIP,
        ipBestMatchRouteNexthopRtype INTEGER,
        ipBestMatchRouteNexthopRifname String,
        ipBestMatchRouteNexthopRaddr InetAddressIP,
        ipBestMatchRouteNexthopRsrc InetAddressIP,
        ipBestMatchRouteTlocIp InetAddressIP,
        ipBestMatchRouteTlocColor INTEGER,
        ipBestMatchRouteTlocEncap INTEGER,
        ipBestMatchRouteNexthopLabel Unsigned32,
        ipBestMatchRouteRstatus RouteStatusType,
        ipBestMatchRouteOmpTag Unsigned32,
        ipBestMatchRouteNexthopVpn Unsigned32,
        ipBestMatchRouteOspfTag Unsigned32
    }

-- tagpath /ip/best-match-route/vpn-id
ipBestMatchRouteVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipBestMatchRouteEntry 1 }

-- tagpath /ip/best-match-route/address-family
ipBestMatchRouteAddressFamily OBJECT-TYPE
    SYNTAX      INTEGER {ipv4(0),ipv6(1)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Address Family"
    ::= { ipBestMatchRouteEntry 2 }

-- tagpath /ip/best-match-route/destination
ipBestMatchRouteDestination OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Destination address"
    ::= { ipBestMatchRouteEntry 3 }

-- tagpath /ip/best-match-route/path-id
ipBestMatchRoutePathId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Path identifier"
    ::= { ipBestMatchRouteEntry 4 }

-- tagpath /ip/best-match-route/prefix
ipBestMatchRoutePrefix OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Route"
    ::= { ipBestMatchRouteEntry 5 }

-- tagpath /ip/best-match-route/protocol
ipBestMatchRouteProtocol OBJECT-TYPE
    SYNTAX      INTEGER {connected(0),static(1),ospf(2),bgp(3),omp(4),nat(5),gre(6),natpoolOmp(7),natpoolService(8)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Protocol"
    ::= { ipBestMatchRouteEntry 6 }

-- tagpath /ip/best-match-route/protocol-sub-type
ipBestMatchRouteProtocolSubType OBJECT-TYPE
    SYNTAX      INTEGER {intraArea(1),interArea(2),external1(3),external2(4),nssaExternal1(5),nssaExternal2(6),bgpExternal(7),bgpInternal(8)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Subtype"
    ::= { ipBestMatchRouteEntry 7 }

-- tagpath /ip/best-match-route/distance
ipBestMatchRouteDistance OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Distance"
    ::= { ipBestMatchRouteEntry 8 }

-- tagpath /ip/best-match-route/metric
ipBestMatchRouteMetric OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Metric"
    ::= { ipBestMatchRouteEntry 9 }

-- tagpath /ip/best-match-route/uptime
ipBestMatchRouteUptime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Uptime (Days:Hours:Minutes:Seconds)"
    ::= { ipBestMatchRouteEntry 10 }

-- tagpath /ip/best-match-route/path-flags
ipBestMatchRoutePathFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path flags"
    ::= { ipBestMatchRouteEntry 11 }

-- tagpath /ip/best-match-route/nexthop-flags
ipBestMatchRouteNexthopFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop flags"
    ::= { ipBestMatchRouteEntry 12 }

-- tagpath /ip/best-match-route/nexthop-type
ipBestMatchRouteNexthopType OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop type"
    ::= { ipBestMatchRouteEntry 13 }

-- tagpath /ip/best-match-route/nexthop-ifname
ipBestMatchRouteNexthopIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop interface name"
    ::= { ipBestMatchRouteEntry 14 }

-- tagpath /ip/best-match-route/nexthop-addr
ipBestMatchRouteNexthopAddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop address"
    ::= { ipBestMatchRouteEntry 15 }

-- tagpath /ip/best-match-route/nexthop-rtype
ipBestMatchRouteNexthopRtype OBJECT-TYPE
    SYNTAX      INTEGER {if-connected(0),interface(1),ipv4(2),ipv4-with-ifindex(3),ipv4-with-ifname(4),ipv4-indirect(5),ipv6(6),ipv6-with-ifindex(7),ipv6-with-ifname(8),ipv6-indirect(9),blackhole(10),extranet(11)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop type"
    ::= { ipBestMatchRouteEntry 16 }

-- tagpath /ip/best-match-route/nexthop-rifname
ipBestMatchRouteNexthopRifname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop interface name"
    ::= { ipBestMatchRouteEntry 17 }

-- tagpath /ip/best-match-route/nexthop-raddr
ipBestMatchRouteNexthopRaddr OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop address"
    ::= { ipBestMatchRouteEntry 18 }

-- tagpath /ip/best-match-route/nexthop-rsrc
ipBestMatchRouteNexthopRsrc OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Recursive lookup next-hop source"
    ::= { ipBestMatchRouteEntry 19 }

-- tagpath /ip/best-match-route/tloc/ip
ipBestMatchRouteTlocIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { ipBestMatchRouteEntry 20 }

-- tagpath /ip/best-match-route/tloc/color
ipBestMatchRouteTlocColor 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 "Color"
    ::= { ipBestMatchRouteEntry 21 }

-- tagpath /ip/best-match-route/tloc/encap
ipBestMatchRouteTlocEncap OBJECT-TYPE
    SYNTAX      INTEGER {gre(1),ipsec(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Encapsulation"
    ::= { ipBestMatchRouteEntry 22 }

-- tagpath /ip/best-match-route/nexthop-label
ipBestMatchRouteNexthopLabel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop label"
    ::= { ipBestMatchRouteEntry 23 }

-- tagpath /ip/best-match-route/rstatus
ipBestMatchRouteRstatus OBJECT-TYPE
    SYNTAX      RouteStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Path status (fib/selected/blackhole/inactive/recursive)"
    ::= { ipBestMatchRouteEntry 24 }

-- tagpath /ip/best-match-route/omp-tag
ipBestMatchRouteOmpTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Omp Tag"
    ::= { ipBestMatchRouteEntry 25 }

-- tagpath /ip/best-match-route/nexthop-vpn
ipBestMatchRouteNexthopVpn OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop VPN"
    ::= { ipBestMatchRouteEntry 26 }

-- tagpath /ip/best-match-route/ospf-tag
ipBestMatchRouteOspfTag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OSPF Tag"
    ::= { ipBestMatchRouteEntry 27 }

-- tagpath /ip/mfib/summary
ipMfibSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpMfibSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Summary of MFIB entries"
    ::= { ipMfib 1 }

-- tagpath /ip/mfib/summary
ipMfibSummaryEntry OBJECT-TYPE
    SYNTAX      IpMfibSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipMfibSummaryVpnId, ipMfibSummaryGroup, ipMfibSummarySource }
        ::= { ipMfibSummaryTable 1 }

IpMfibSummaryEntry ::=
    SEQUENCE {
        ipMfibSummaryVpnId Unsigned32,
        ipMfibSummaryGroup InetAddressIP,
        ipMfibSummarySource InetAddressIP,
        ipMfibSummaryUpstreamIf String,
        ipMfibSummaryUpstreamTunnel InetAddressIP,
        ipMfibSummaryNumServiceOils Unsigned32,
        ipMfibSummaryNumTunnelOils Unsigned32
    }

-- tagpath /ip/mfib/summary/vpn-id
ipMfibSummaryVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN"
    ::= { ipMfibSummaryEntry 1 }

-- tagpath /ip/mfib/summary/group
ipMfibSummaryGroup OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Group address"
    ::= { ipMfibSummaryEntry 2 }

-- tagpath /ip/mfib/summary/source
ipMfibSummarySource OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source address"
    ::= { ipMfibSummaryEntry 3 }

-- tagpath /ip/mfib/summary/upstream-if
ipMfibSummaryUpstreamIf OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "RPF interface"
    ::= { ipMfibSummaryEntry 4 }

-- tagpath /ip/mfib/summary/upstream-tunnel
ipMfibSummaryUpstreamTunnel OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "RPF remote system IP address"
    ::= { ipMfibSummaryEntry 5 }

-- tagpath /ip/mfib/summary/num-service-oils
ipMfibSummaryNumServiceOils OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of service-side output interfaces"
    ::= { ipMfibSummaryEntry 6 }

-- tagpath /ip/mfib/summary/num-tunnel-oils
ipMfibSummaryNumTunnelOils OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of tunnel-side output interfaces"
    ::= { ipMfibSummaryEntry 7 }

-- tagpath /ip/mfib/oil
ipMfibOilTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpMfibOilEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Multicast OIL database"
    ::= { ipMfib 2 }

-- tagpath /ip/mfib/oil
ipMfibOilEntry OBJECT-TYPE
    SYNTAX      IpMfibOilEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipMfibOilVpnId, ipMfibOilGroup, ipMfibOilSource }
        ::= { ipMfibOilTable 1 }

IpMfibOilEntry ::=
    SEQUENCE {
        ipMfibOilVpnId Unsigned32,
        ipMfibOilGroup InetAddressIP,
        ipMfibOilSource InetAddressIP
    }

-- tagpath /ip/mfib/oil/vpn-id
ipMfibOilVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN"
    ::= { ipMfibOilEntry 1 }

-- tagpath /ip/mfib/oil/group
ipMfibOilGroup OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Group address"
    ::= { ipMfibOilEntry 2 }

-- tagpath /ip/mfib/oil/source
ipMfibOilSource OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Source address"
    ::= { ipMfibOilEntry 3 }

-- tagpath /ip/mfib/oil/mcast-oil-list
ipMfibOilMcastOilListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpMfibOilMcastOilListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of OILs for the multicast group"
    ::= { viptela-oper-vpn 8 }

-- tagpath /ip/mfib/oil/mcast-oil-list
ipMfibOilMcastOilListEntry OBJECT-TYPE
    SYNTAX      IpMfibOilMcastOilListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipMfibOilVpnId, ipMfibOilGroup, ipMfibOilSource, ipMfibOilMcastOilListIndex }
        ::= { ipMfibOilMcastOilListTable 1 }

IpMfibOilMcastOilListEntry ::=
    SEQUENCE {
        ipMfibOilMcastOilListIndex Unsigned32,
        ipMfibOilMcastOilListOilInterface String,
        ipMfibOilMcastOilListOilRemoteSystem InetAddressIP
    }

-- tagpath /ip/mfib/oil/mcast-oil-list/index
ipMfibOilMcastOilListIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "OIL index"
    ::= { ipMfibOilMcastOilListEntry 1 }

-- tagpath /ip/mfib/oil/mcast-oil-list/oil-interface
ipMfibOilMcastOilListOilInterface OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OIL interface"
    ::= { ipMfibOilMcastOilListEntry 2 }

-- tagpath /ip/mfib/oil/mcast-oil-list/oil-remote-system
ipMfibOilMcastOilListOilRemoteSystem OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OIL remote system"
    ::= { ipMfibOilMcastOilListEntry 3 }

-- tagpath /ip/mfib/stats
ipMfibStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpMfibStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display statistics associated with a MFIB"
    ::= { ipMfib 3 }

-- tagpath /ip/mfib/stats
ipMfibStatsEntry OBJECT-TYPE
    SYNTAX      IpMfibStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipMfibStatsVpnId, ipMfibStatsGroup, ipMfibStatsSource }
        ::= { ipMfibStatsTable 1 }

IpMfibStatsEntry ::=
    SEQUENCE {
        ipMfibStatsVpnId Unsigned32,
        ipMfibStatsGroup InetAddressIP,
        ipMfibStatsSource InetAddressIP,
        ipMfibStatsRxPkts Counter64,
        ipMfibStatsRxOctets Counter64,
        ipMfibStatsTxPkts Counter64,
        ipMfibStatsTxOctets Counter64,
        ipMfibStatsTxToPimPkts Counter64,
        ipMfibStatsRxPacketRate Counter64,
        ipMfibStatsRxOctetRate Counter64,
        ipMfibStatsTxPacketRate Counter64,
        ipMfibStatsTxOctetRate Counter64,
        ipMfibStatsAvgReplication String,
        ipMfibStatsRpfFailure Unsigned32,
        ipMfibStatsTxInvalidOilFailure Unsigned32,
        ipMfibStatsTxFailure Unsigned32,
        ipMfibStatsRxPolicyDrop Unsigned32,
        ipMfibStatsTxPolicyDrop Unsigned32
    }

-- tagpath /ip/mfib/stats/vpn-id
ipMfibStatsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN"
    ::= { ipMfibStatsEntry 1 }

-- tagpath /ip/mfib/stats/group
ipMfibStatsGroup OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Group address"
    ::= { ipMfibStatsEntry 2 }

-- tagpath /ip/mfib/stats/source
ipMfibStatsSource OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Source address"
    ::= { ipMfibStatsEntry 3 }

-- tagpath /ip/mfib/stats/rx-pkts
ipMfibStatsRxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx packets"
    ::= { ipMfibStatsEntry 4 }

-- tagpath /ip/mfib/stats/rx-octets
ipMfibStatsRxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx octets"
    ::= { ipMfibStatsEntry 5 }

-- tagpath /ip/mfib/stats/tx-pkts
ipMfibStatsTxPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx packets"
    ::= { ipMfibStatsEntry 6 }

-- tagpath /ip/mfib/stats/tx-octets
ipMfibStatsTxOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx octets"
    ::= { ipMfibStatsEntry 7 }

-- tagpath /ip/mfib/stats/tx-to-pim-pkts
ipMfibStatsTxToPimPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx To PIM Pkts"
    ::= { ipMfibStatsEntry 8 }

-- tagpath /ip/mfib/stats/rx-packet-rate
ipMfibStatsRxPacketRate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx packet rate"
    ::= { ipMfibStatsEntry 9 }

-- tagpath /ip/mfib/stats/rx-octet-rate
ipMfibStatsRxOctetRate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx octet rate"
    ::= { ipMfibStatsEntry 10 }

-- tagpath /ip/mfib/stats/tx-packet-rate
ipMfibStatsTxPacketRate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx packet rate"
    ::= { ipMfibStatsEntry 11 }

-- tagpath /ip/mfib/stats/tx-octet-rate
ipMfibStatsTxOctetRate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx octet rate"
    ::= { ipMfibStatsEntry 12 }

-- tagpath /ip/mfib/stats/avg_replication
ipMfibStatsAvgReplication OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average packet replication"
    ::= { ipMfibStatsEntry 13 }

-- tagpath /ip/mfib/stats/rpf-failure
ipMfibStatsRpfFailure OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "RPF check failure"
    ::= { ipMfibStatsEntry 14 }

-- tagpath /ip/mfib/stats/tx-invalid-oil-failure
ipMfibStatsTxInvalidOilFailure OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Attempt to transmit on invalid OIL"
    ::= { ipMfibStatsEntry 15 }

-- tagpath /ip/mfib/stats/tx-failure
ipMfibStatsTxFailure OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmit failure"
    ::= { ipMfibStatsEntry 16 }

-- tagpath /ip/mfib/stats/rx-policy-drop
ipMfibStatsRxPolicyDrop OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx policy drop"
    ::= { ipMfibStatsEntry 17 }

-- tagpath /ip/mfib/stats/tx-policy-drop
ipMfibStatsTxPolicyDrop OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx policy drop"
    ::= { ipMfibStatsEntry 18 }

-- tagpath /ip/fib-routes
ipFibTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpFibEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of routes in FIB"
    ::= { ip 8 }

-- tagpath /ip/fib-routes
ipFibEntry OBJECT-TYPE
    SYNTAX      IpFibEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipFibVpnId, ipFibAddressFamily, ipFibPrefix, ipFibPathId }
        ::= { ipFibTable 1 }

IpFibEntry ::=
    SEQUENCE {
        ipFibVpnId Unsigned32,
        ipFibPrefix IpPrefix,
        ipFibPathId Unsigned32,
        ipFibOutIfname String,
        ipFibNexthopAddress InetAddressIP,
        ipFibNexthopLabel Unsigned32,
        ipFibSaIndex Unsigned32,
        ipFibIp InetAddressIP,
        ipFibColor   INTEGER,
        ipFibAddressFamily INTEGER,
        ipFibNexthopVpn Unsigned32
    }

-- tagpath /ip/fib-routes/vpn-id
ipFibVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipFibEntry 1 }

-- tagpath /ip/fib-routes/prefix
ipFibPrefix OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Route"
    ::= { ipFibEntry 2 }

-- tagpath /ip/fib-routes/path-id
ipFibPathId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Path ID"
    ::= { ipFibEntry 3 }

-- tagpath /ip/fib-routes/out-ifname
ipFibOutIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop interface name"
    ::= { ipFibEntry 4 }

-- tagpath /ip/fib-routes/nexthop-address
ipFibNexthopAddress OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop address"
    ::= { ipFibEntry 5 }

-- tagpath /ip/fib-routes/nexthop-label
ipFibNexthopLabel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop label"
    ::= { ipFibEntry 6 }

-- tagpath /ip/fib-routes/sa-index
ipFibSaIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Outbound SA index"
    ::= { ipFibEntry 7 }

-- tagpath /ip/fib-routes/ip
ipFibIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { ipFibEntry 8 }

-- tagpath /ip/fib-routes/color
ipFibColor 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 "Color"
    ::= { ipFibEntry 9 }

-- tagpath /ip/fib-routes/address-family
ipFibAddressFamily OBJECT-TYPE
    SYNTAX      INTEGER{ipv4(0), ipv6(1)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Address Family"
    ::= { ipFibEntry 10 }

-- tagpath /ip/fib-routes/nexthop-vpn
ipFibNexthopVpn OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Next-hop VPN"
    ::= { ipFibEntry 11 }

-- tagpath /ip/nat/interface
ipNatInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpNatInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interfaces on which NAT is enabled"
    ::= { ipNat 1 }

-- tagpath /ip/nat/interface
ipNatInterfaceEntry OBJECT-TYPE
    SYNTAX      IpNatInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipNatInterfaceVpnId, ipNatInterfaceIfname }
        ::= { ipNatInterfaceTable 1 }

IpNatInterfaceEntry ::=
    SEQUENCE {
        ipNatInterfaceVpnId Unsigned32,
        ipNatInterfaceIfname String,
        ipNatInterfaceMappingType INTEGER,
        ipNatInterfaceFilterType INTEGER,
        ipNatInterfaceFilterCount Unsigned32,
        ipNatInterfaceFibFilterCount Unsigned32,
        ipNatInterfaceIp IpPrefix,
        ipNatInterfaceNumberIpPools Unsigned32
    }

-- tagpath /ip/nat/interface/vpn-id
ipNatInterfaceVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipNatInterfaceEntry 1 }

-- tagpath /ip/nat/interface/ifname
ipNatInterfaceIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "NAT interface name"
    ::= { ipNatInterfaceEntry 2 }

-- tagpath /ip/nat/interface/mapping-type
ipNatInterfaceMappingType OBJECT-TYPE
    SYNTAX      INTEGER {endpoint-independent(0), address-port-dependent(1), null-translation(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "NAT mapping type"
    ::= { ipNatInterfaceEntry 3 }

-- tagpath /ip/nat/interface/filter-type
ipNatInterfaceFilterType OBJECT-TYPE
    SYNTAX      INTEGER {address-port-restricted(0)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "NAT filter type"
    ::= { ipNatInterfaceEntry 4 }

-- tagpath /ip/nat/interface/filter-count
ipNatInterfaceFilterCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of NAT filter entries in the control plane"
    ::= { ipNatInterfaceEntry 5 }

-- tagpath /ip/nat/interface/fib-filter-count
ipNatInterfaceFibFilterCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of NAT filter entries in the FIB"
    ::= { ipNatInterfaceEntry 6 }

-- tagpath /ip/nat/interface/ip
ipNatInterfaceIp OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address"
    ::= { ipNatInterfaceEntry 7 }

-- tagpath /ip/nat/interface/number-ip-pools
ipNatInterfaceNumberIpPools OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ipNatInterfaceEntry 8 }

-- tagpath /ip/nat/interface-statistics
ipNatInterfaceStatisticsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpNatInterfaceStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display NAT interface statistics"
    ::= { ipNat 2 }

-- tagpath /ip/nat/interface-statistics
ipNatInterfaceStatisticsEntry OBJECT-TYPE
    SYNTAX      IpNatInterfaceStatisticsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipNatInterfaceStatisticsVpnId, ipNatInterfaceStatisticsIfname }
        ::= { ipNatInterfaceStatisticsTable 1 }

IpNatInterfaceStatisticsEntry ::=
    SEQUENCE {
        ipNatInterfaceStatisticsVpnId Unsigned32,
        ipNatInterfaceStatisticsIfname String,
        ipNatInterfaceStatisticsNatOutboundPackets Counter64,
        ipNatInterfaceStatisticsNatInboundPackets Counter64,
        ipNatInterfaceStatisticsNatEncodeFail Counter64,
        ipNatInterfaceStatisticsNatDecodeFail Counter64,
        ipNatInterfaceStatisticsNatMapAddFail Counter64,
        ipNatInterfaceStatisticsNatFilterAddFail Counter64,
        ipNatInterfaceStatisticsNatFilterLookupFail Counter64,
        ipNatInterfaceStatisticsNatStateCheckFail Counter64,
        ipNatInterfaceStatisticsNatPolicerDrops Counter64,
        ipNatInterfaceStatisticsOutboundIcmpError Counter64,
        ipNatInterfaceStatisticsInboundIcmpError Counter64,
        ipNatInterfaceStatisticsInboundIcmpErrorDrops Counter64,
        ipNatInterfaceStatisticsNatFragments Counter64,
        ipNatInterfaceStatisticsNatFragmentsFail Counter64,
        ipNatInterfaceStatisticsNatUnsupportedProto Counter64,
        ipNatInterfaceStatisticsNatMapNoPorts Counter64,
        ipNatInterfaceStatisticsNatMapCannotXlate Counter64,
        ipNatInterfaceStatisticsNatFilterMapMismatch Counter64,
        ipNatInterfaceStatisticsNatMapIpPoolExhausted Counter64
    }

-- tagpath /ip/nat/interface-statistics/vpn-id
ipNatInterfaceStatisticsVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipNatInterfaceStatisticsEntry 1 }

-- tagpath /ip/nat/interface-statistics/ifname
ipNatInterfaceStatisticsIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "NAT interface name"
    ::= { ipNatInterfaceStatisticsEntry 2 }

-- tagpath /ip/nat/interface-statistics/nat-outbound-packets
ipNatInterfaceStatisticsNatOutboundPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of packets sent through NAT from the private realm"
    ::= { ipNatInterfaceStatisticsEntry 3 }

-- tagpath /ip/nat/interface-statistics/nat-inbound-packets
ipNatInterfaceStatisticsNatInboundPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of packets received through NAT from the public realm"
    ::= { ipNatInterfaceStatisticsEntry 4 }

-- tagpath /ip/nat/interface-statistics/nat-encode-fail
ipNatInterfaceStatisticsNatEncodeFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "NAT translation encoding failed either in outbound or inbound direction"
    ::= { ipNatInterfaceStatisticsEntry 5 }

-- tagpath /ip/nat/interface-statistics/nat-decode-fail
ipNatInterfaceStatisticsNatDecodeFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "NAT translation decode failed (typically, ICMP error payload) either in outbound or inbound direction"
    ::= { ipNatInterfaceStatisticsEntry 6 }

-- tagpath /ip/nat/interface-statistics/nat-map-add-fail
ipNatInterfaceStatisticsNatMapAddFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Could not add new NAT-mapping entry (insufficient resources)"
    ::= { ipNatInterfaceStatisticsEntry 7 }

-- tagpath /ip/nat/interface-statistics/nat-filter-add-fail
ipNatInterfaceStatisticsNatFilterAddFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Could not add new NAT filter entry (insufficient resources)"
    ::= { ipNatInterfaceStatisticsEntry 8 }

-- tagpath /ip/nat/interface-statistics/nat-filter-lookup-fail
ipNatInterfaceStatisticsNatFilterLookupFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Could not find NAT filter entry for an inbound packet"
    ::= { ipNatInterfaceStatisticsEntry 9 }

-- tagpath /ip/nat/interface-statistics/nat-state-check-fail
ipNatInterfaceStatisticsNatStateCheckFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Did not match TCP state check on inbound packets"
    ::= { ipNatInterfaceStatisticsEntry 10 }

-- tagpath /ip/nat/interface-statistics/nat-policer-drops
ipNatInterfaceStatisticsNatPolicerDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Drops due to policer action configured on some filters"
    ::= { ipNatInterfaceStatisticsEntry 11 }

-- tagpath /ip/nat/interface-statistics/outbound-icmp-error
ipNatInterfaceStatisticsOutboundIcmpError OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of ICMP error packets sent"
    ::= { ipNatInterfaceStatisticsEntry 12 }

-- tagpath /ip/nat/interface-statistics/inbound-icmp-error
ipNatInterfaceStatisticsInboundIcmpError OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of ICMP error packets received"
    ::= { ipNatInterfaceStatisticsEntry 13 }

-- tagpath /ip/nat/interface-statistics/inbound-icmp-error-drops
ipNatInterfaceStatisticsInboundIcmpErrorDrops OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of ICMP error packets received and dropped due to block-icmp-error configuration"
    ::= { ipNatInterfaceStatisticsEntry 14 }

-- tagpath /ip/nat/interface-statistics/nat-fragments
ipNatInterfaceStatisticsNatFragments OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of fragmented packets forwarded in either direction"
    ::= { ipNatInterfaceStatisticsEntry 15 }

-- tagpath /ip/nat/interface-statistics/nat-fragments-fail
ipNatInterfaceStatisticsNatFragmentsFail OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of fragmented packets dropped in either direction due to absence of fragment state"
    ::= { ipNatInterfaceStatisticsEntry 16 }

-- tagpath /ip/nat/interface-statistics/nat-unsupported-proto
ipNatInterfaceStatisticsNatUnsupportedProto OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Unsupport NAT protocol packets dropped"
    ::= { ipNatInterfaceStatisticsEntry 17 }

-- tagpath /ip/nat/interface-statistics/nat-map-no-ports
ipNatInterfaceStatisticsNatMapNoPorts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Ran out of NAT ports to map to"
    ::= { ipNatInterfaceStatisticsEntry 18 }

-- tagpath /ip/nat/interface-statistics/nat-map-cannot-xlate
ipNatInterfaceStatisticsNatMapCannotXlate OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Cannot nat translate this flow"
    ::= { ipNatInterfaceStatisticsEntry 19 }

-- tagpath /ip/nat/interface-statistics/nat-filter-map-mismatch
ipNatInterfaceStatisticsNatFilterMapMismatch OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Mismatch in the filter and map records"
    ::= { ipNatInterfaceStatisticsEntry 20 }

-- tagpath /ip/nat/interface-statistics/nat-map-ip-pool-exhausted
ipNatInterfaceStatisticsNatMapIpPoolExhausted OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Ran out of NAT ip pools to map to"
    ::= { ipNatInterfaceStatisticsEntry 21 }

-- tagpath /ip/nat/filter
ipNatFilterTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpNatFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display NAT filter entries"
    ::= { ipNat 3 }

-- tagpath /ip/nat/filter
ipNatFilterEntry OBJECT-TYPE
    SYNTAX      IpNatFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipNatFilterNatVpnId, ipNatFilterNatIfname, ipNatFilterPrivateVpnId, ipNatFilterProto, ipNatFilterPrivateSourceAddress, ipNatFilterPrivateDestAddress, ipNatFilterPrivateSourcePort, ipNatFilterPrivateDestPort }
        ::= { ipNatFilterTable 1 }

IpNatFilterEntry ::=
    SEQUENCE {
        ipNatFilterNatVpnId Unsigned32,
        ipNatFilterNatIfname String,
        ipNatFilterPrivateVpnId Unsigned32,
        ipNatFilterProto INTEGER,
        ipNatFilterPrivateSourceAddress IpAddress,
        ipNatFilterPrivateDestAddress IpAddress,
        ipNatFilterPrivateSourcePort Unsigned32,
        ipNatFilterPrivateDestPort Unsigned32,
        ipNatFilterPublicSourceAddress IpAddress,
        ipNatFilterPublicDestAddress IpAddress,
        ipNatFilterPublicSourcePort Unsigned32,
        ipNatFilterPublicDestPort Unsigned32,
        ipNatFilterFilterState INTEGER,
        ipNatFilterIdleTimeout String,
        ipNatFilterOutboundPackets Counter64,
        ipNatFilterOutboundOctets Counter64,
        ipNatFilterInboundPackets Counter64,
        ipNatFilterInboundOctets Counter64,
        ipNatFilterDirection INTEGER
    }

-- tagpath /ip/nat/filter/nat-vpn-id
ipNatFilterNatVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "NAT interface VPN ID"
    ::= { ipNatFilterEntry 1 }

-- tagpath /ip/nat/filter/nat-ifname
ipNatFilterNatIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "NAT interface name"
    ::= { ipNatFilterEntry 2 }

-- tagpath /ip/nat/filter/private-vpn-id
ipNatFilterPrivateVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Private VPN ID"
    ::= { ipNatFilterEntry 3 }

-- tagpath /ip/nat/filter/proto
ipNatFilterProto OBJECT-TYPE
    SYNTAX      INTEGER {icmp(1),tcp(6),udp(17)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Protocol"
    ::= { ipNatFilterEntry 4 }

-- tagpath /ip/nat/filter/private-source-address
ipNatFilterPrivateSourceAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Private source IP address"
    ::= { ipNatFilterEntry 5 }

-- tagpath /ip/nat/filter/private-dest-address
ipNatFilterPrivateDestAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Private destination IP address"
    ::= { ipNatFilterEntry 6 }

-- tagpath /ip/nat/filter/private-source-port
ipNatFilterPrivateSourcePort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Private source port"
    ::= { ipNatFilterEntry 7 }

-- tagpath /ip/nat/filter/private-dest-port
ipNatFilterPrivateDestPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Private destination port"
    ::= { ipNatFilterEntry 8 }

-- tagpath /ip/nat/filter/public-source-address
ipNatFilterPublicSourceAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Public source IP address"
    ::= { ipNatFilterEntry 9 }

-- tagpath /ip/nat/filter/public-dest-address
ipNatFilterPublicDestAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Public destination IP address"
    ::= { ipNatFilterEntry 10 }

-- tagpath /ip/nat/filter/public-source-port
ipNatFilterPublicSourcePort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Public source port"
    ::= { ipNatFilterEntry 11 }

-- tagpath /ip/nat/filter/public-dest-port
ipNatFilterPublicDestPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Public destination port"
    ::= { ipNatFilterEntry 12 }

-- tagpath /ip/nat/filter/filter-state
ipNatFilterFilterState OBJECT-TYPE
    SYNTAX      INTEGER {initial(0),syn-sent(1),syn-ack(2),syn-received(3),established(4),fin-sent(5),fin-received(6),fin-acked(7),closed(8),reset(9)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Session state"
    ::= { ipNatFilterEntry 13 }

-- tagpath /ip/nat/filter/idle-timeout
ipNatFilterIdleTimeout OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Session idle timeout"
    ::= { ipNatFilterEntry 14 }

-- tagpath /ip/nat/filter/outbound-packets
ipNatFilterOutboundPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of outbound packets"
    ::= { ipNatFilterEntry 15 }

-- tagpath /ip/nat/filter/outbound-octets
ipNatFilterOutboundOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of outbound octets"
    ::= { ipNatFilterEntry 16 }

-- tagpath /ip/nat/filter/inbound-packets
ipNatFilterInboundPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of inbound packets"
    ::= { ipNatFilterEntry 17 }

-- tagpath /ip/nat/filter/inbound-octets
ipNatFilterInboundOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of inbound octets"
    ::= { ipNatFilterEntry 18 }

-- tagpath /ip/nat/filter/direction
ipNatFilterDirection OBJECT-TYPE
    SYNTAX     INTEGER {inside(0), outside(1)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Direction of NAT translation"
    ::= { ipNatFilterEntry 19 }

-- tagpath /ip/routes-summary
ipRoutesSummaryTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpRoutesSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Summary of routes"
    ::= { ip 10 }

-- tagpath /ip/routes-summary
ipRoutesSummaryEntry OBJECT-TYPE
    SYNTAX      IpRoutesSummaryEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { ipRoutesSummaryVpnId, ipRoutesSummaryAddressFamily, ipRoutesSummaryRouteProtocol }
        ::= { ipRoutesSummaryTable 1 }

IpRoutesSummaryEntry ::=
    SEQUENCE {
        ipRoutesSummaryVpnId Unsigned32,
        ipRoutesSummaryAddressFamily INTEGER,
        ipRoutesSummaryRouteProtocol INTEGER,
        ipRoutesSummaryReceived Unsigned32,
        ipRoutesSummaryInstalled Unsigned32
    }

-- tagpath /ip/routes-summary/vpn-id
ipRoutesSummaryVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { ipRoutesSummaryEntry 1 }

-- tagpath /ip/routes-summary/address-family
ipRoutesSummaryAddressFamily OBJECT-TYPE
    SYNTAX      INTEGER {ipv4(0),ipv6(1)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Address Family"
    ::= { ipRoutesSummaryEntry 2 }

-- tagpath /ip/routes-summary/route-protocol
ipRoutesSummaryRouteProtocol OBJECT-TYPE
    SYNTAX      INTEGER {connected(0),static(1),ospf(2),bgp(3),omp(4),nat(5),gre(6),natpoolOmp(7),natpoolService(8)}
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Protocol"
    ::= { ipRoutesSummaryEntry 3 }

-- tagpath /ip/routes-summary/received
ipRoutesSummaryReceived OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of routes received"
    ::= { ipRoutesSummaryEntry 4 }

-- tagpath /ip/routes-summary/installed
ipRoutesSummaryInstalled OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of routes installed"
    ::= { ipRoutesSummaryEntry 5 }

-- tagpath /vrrp
vrrpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VrrpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display VRRP information"
    ::= { viptela-oper-vpn 9 }

-- tagpath /vrrp
vrrpEntry OBJECT-TYPE
    SYNTAX      VrrpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { vrrpVpnId }
        ::= { vrrpTable 1 }

VrrpEntry ::=
    SEQUENCE {
        vrrpVpnId Unsigned32
    }

-- tagpath /vrrp/vpn-id
vrrpVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { vrrpEntry 1 }

-- tagpath /vrrp/interfaces
vrrpInterfacesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VrrpInterfacesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display VRRP interfaces"
    ::= { viptela-oper-vpn 10 }

-- tagpath /vrrp/interfaces
vrrpInterfacesEntry OBJECT-TYPE
    SYNTAX      VrrpInterfacesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { vrrpVpnId, vrrpInterfacesIfName }
        ::= { vrrpInterfacesTable 1 }

VrrpInterfacesEntry ::=
    SEQUENCE {
        vrrpInterfacesIfName String
    }

-- tagpath /vrrp/interfaces/if-name
vrrpInterfacesIfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { vrrpInterfacesEntry 1 }

-- tagpath /vrrp/interfaces/groups
vrrpInterfacesGroupsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VrrpInterfacesGroupsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display VRRP group"
    ::= { viptela-oper-vpn 11 }

-- tagpath /vrrp/interfaces/groups
vrrpInterfacesGroupsEntry OBJECT-TYPE
    SYNTAX      VrrpInterfacesGroupsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { vrrpVpnId, vrrpInterfacesIfName, vrrpInterfacesGroupsGroupId }
        ::= { vrrpInterfacesGroupsTable 1 }

VrrpInterfacesGroupsEntry ::=
    SEQUENCE {
        vrrpInterfacesGroupsGroupId UnsignedByte,
        vrrpInterfacesGroupsVirtualIp InetAddressIP,
        vrrpInterfacesGroupsVirtualMac String,
        vrrpInterfacesGroupsPriority UnsignedByte,
        vrrpInterfacesGroupsVrrpState INTEGER,
        vrrpInterfacesGroupsOmpState INTEGER,
        vrrpInterfacesGroupsAdvertisementTimer Integer32,
        vrrpInterfacesGroupsMasterDownTimer Integer32,
        vrrpInterfacesGroupsLastStateChangeTime DateAndTime,
        vrrpInterfacesGroupsTrackPrefixList String,
        vrrpInterfacesGroupsPrefixListState INTEGER
    }

-- tagpath /vrrp/interfaces/groups/group-id
vrrpInterfacesGroupsGroupId OBJECT-TYPE
    SYNTAX      UnsignedByte (1 .. 255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    ::= { vrrpInterfacesGroupsEntry 1 }

-- tagpath /vrrp/interfaces/groups/virtual-ip
vrrpInterfacesGroupsVirtualIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Virtual IP address"
    ::= { vrrpInterfacesGroupsEntry 2 }

-- tagpath /vrrp/interfaces/groups/virtual-mac
vrrpInterfacesGroupsVirtualMac OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Virtual MAC address"
    ::= { vrrpInterfacesGroupsEntry 3 }

-- tagpath /vrrp/interfaces/groups/priority
vrrpInterfacesGroupsPriority OBJECT-TYPE
    SYNTAX      UnsignedByte
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Priority"
    ::= { vrrpInterfacesGroupsEntry 4 }

-- tagpath /vrrp/interfaces/groups/vrrp-state
vrrpInterfacesGroupsVrrpState OBJECT-TYPE
    SYNTAX      INTEGER {init(1),backup(2),master(3)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "VRRP state"
    ::= { vrrpInterfacesGroupsEntry 5 }

-- tagpath /vrrp/interfaces/groups/omp-state
vrrpInterfacesGroupsOmpState OBJECT-TYPE
    SYNTAX      INTEGER {down(0),up(1)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OMP state"
    ::= { vrrpInterfacesGroupsEntry 6 }

-- tagpath /vrrp/interfaces/groups/advertisement-timer
vrrpInterfacesGroupsAdvertisementTimer OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Advertisement interval"
    ::= { vrrpInterfacesGroupsEntry 7 }

-- tagpath /vrrp/interfaces/groups/master-down-timer
vrrpInterfacesGroupsMasterDownTimer OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Master down detection interval"
    ::= { vrrpInterfacesGroupsEntry 8 }

-- tagpath /vrrp/interfaces/groups/last-state-change-time
vrrpInterfacesGroupsLastStateChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time when state changed last time"
    ::= { vrrpInterfacesGroupsEntry 9 }

-- tagpath /vrrp/interfaces/groups/track-prefix-list
vrrpInterfacesGroupsTrackPrefixList OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Prefix list to be tracked"
    ::= { vrrpInterfacesGroupsEntry 10 }

-- tagpath /vrrp/interfaces/groups/prefix-list-state
vrrpInterfacesGroupsPrefixListState OBJECT-TYPE
    SYNTAX      INTEGER {resolved(0),unresolved(1)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Prefix list state"
    ::= { vrrpInterfacesGroupsEntry 11 }

-- tagpath /dhcp/client-interface
dhcpInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display DHCP client interface information"
    ::= { dhcp 1 }

-- tagpath /dhcp/client-interface
dhcpInterfaceEntry OBJECT-TYPE
    SYNTAX      DhcpInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpInterfaceVpnId, dhcpInterfaceIfname }
        ::= { dhcpInterfaceTable 1 }

DhcpInterfaceEntry ::=
    SEQUENCE {
        dhcpInterfaceVpnId Unsigned32,
        dhcpInterfaceIfname String,
        dhcpInterfaceState INTEGER,
        dhcpInterfaceAcquiredIp Ipv4Prefix,
        dhcpInterfaceServer IpAddress,
        dhcpInterfaceLeaseTime String,
        dhcpInterfaceTimeRemaining String,
        dhcpInterfaceGateway IpAddress
    }

-- tagpath /dhcp/client-interface/vpn-id
dhcpInterfaceVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { dhcpInterfaceEntry 1 }

-- tagpath /dhcp/client-interface/ifname
dhcpInterfaceIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { dhcpInterfaceEntry 2 }

-- tagpath /dhcp/client-interface/state
dhcpInterfaceState OBJECT-TYPE
    SYNTAX      INTEGER {init(0),request(1),bound(2),renew(3),rebind(4),release(5),dynamic-ip(6)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State"
    ::= { dhcpInterfaceEntry 3 }

-- tagpath /dhcp/client-interface/acquired-ip
dhcpInterfaceAcquiredIp OBJECT-TYPE
    SYNTAX      Ipv4Prefix
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Acquired IP address"
    ::= { dhcpInterfaceEntry 4 }

-- tagpath /dhcp/client-interface/server
dhcpInterfaceServer OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Server IP"
    ::= { dhcpInterfaceEntry 5 }

-- tagpath /dhcp/client-interface/lease-time
dhcpInterfaceLeaseTime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time (Days:Hours:Minutes:Seconds)"
    ::= { dhcpInterfaceEntry 6 }

-- tagpath /dhcp/client-interface/time-remaining
dhcpInterfaceTimeRemaining OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time remaining (Days:Hours:Minutes:Seconds)"
    ::= { dhcpInterfaceEntry 7 }

-- tagpath /dhcp/client-interface/gateway
dhcpInterfaceGateway OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Default gateway"
    ::= { dhcpInterfaceEntry 8 }

-- tagpath /dhcp/client-interface/dns-list
dhcpInterfaceDnsListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpInterfaceDnsListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of DNS servers"
    ::= { viptela-oper-vpn 13 }

-- tagpath /dhcp/client-interface/dns-list
dhcpInterfaceDnsListEntry OBJECT-TYPE
    SYNTAX      DhcpInterfaceDnsListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpInterfaceVpnId, dhcpInterfaceIfname, dhcpInterfaceDnsListIndex }
        ::= { dhcpInterfaceDnsListTable 1 }

DhcpInterfaceDnsListEntry ::=
    SEQUENCE {
        dhcpInterfaceDnsListIndex Unsigned32,
        dhcpInterfaceDnsListDns IpAddress
    }

-- tagpath /dhcp/client-interface/dns-list/index
dhcpInterfaceDnsListIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Index"
    ::= { dhcpInterfaceDnsListEntry 1 }

-- tagpath /dhcp/client-interface/dns-list/dns
dhcpInterfaceDnsListDns OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DNS IP"
    ::= { dhcpInterfaceDnsListEntry 2 }

-- tagpath /dhcp/server
dhcpServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display DHCP server information"
    ::= { dhcp 2 }

-- tagpath /dhcp/server
dhcpServerEntry OBJECT-TYPE
    SYNTAX      DhcpServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpServerVpnId, dhcpServerIfname }
        ::= { dhcpServerTable 1 }

DhcpServerEntry ::=
    SEQUENCE {
        dhcpServerVpnId Unsigned32,
        dhcpServerIfname String
    }

-- tagpath /dhcp/server/vpn-id
dhcpServerVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { dhcpServerEntry 1 }

-- tagpath /dhcp/server/ifname
dhcpServerIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { dhcpServerEntry 2 }

-- tagpath /dhcp/server/bindings
dhcpServerBindingsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DhcpServerBindingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display bindings for clients"
    ::= { viptela-oper-vpn 14 }

-- tagpath /dhcp/server/bindings
dhcpServerBindingsEntry OBJECT-TYPE
    SYNTAX      DhcpServerBindingsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpServerVpnId, dhcpServerIfname, IMPLIED dhcpServerBindingsClientMac }
        ::= { dhcpServerBindingsTable 1 }

DhcpServerBindingsEntry ::=
    SEQUENCE {
        dhcpServerBindingsClientMac String,
        dhcpServerBindingsClientIp IpAddress,
        dhcpServerBindingsLeaseTime String,
        dhcpServerBindingsLeaseTimeRemaining String,
        dhcpServerBindingsStaticBinding TruthValue,
        dhcpServerBindingsHostName String
    }

-- tagpath /dhcp/server/bindings/client-mac
dhcpServerBindingsClientMac OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "DHCP client's mac address"
    ::= { dhcpServerBindingsEntry 1 }

-- tagpath /dhcp/server/bindings/client-ip
dhcpServerBindingsClientIp OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "IP address leased to DHCP client"
    ::= { dhcpServerBindingsEntry 2 }

-- tagpath /dhcp/server/bindings/lease-time
dhcpServerBindingsLeaseTime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time (Days:Hours:Minutes:Seconds)"
    ::= { dhcpServerBindingsEntry 3 }

-- tagpath /dhcp/server/bindings/lease-time-remaining
dhcpServerBindingsLeaseTimeRemaining OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time remaining (Days:Hours:Minutes:Seconds)"
    ::= { dhcpServerBindingsEntry 4 }

-- tagpath /dhcp/server/bindings/static-binding
dhcpServerBindingsStaticBinding OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Is binding static or not"
    ::= { dhcpServerBindingsEntry 5 }

-- tagpath /dhcp/server/bindings/host-name
dhcpServerBindingsHostName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DHCP client's hostname"
    ::= { dhcpServerBindingsEntry 6 }

-- tagpath /dhcpv6/interface
dhcpv6InterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dhcpv6InterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display DHCPv6 client interface information"
    ::= { dhcpv6 1 }

-- tagpath /dhcpv6/interface
dhcpv6InterfaceEntry OBJECT-TYPE
    SYNTAX      Dhcpv6InterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpv6InterfaceVpnId, dhcpv6InterfaceIfname }
        ::= { dhcpv6InterfaceTable 1 }

Dhcpv6InterfaceEntry ::=
    SEQUENCE {
        dhcpv6InterfaceVpnId Unsigned32,
        dhcpv6InterfaceIfname String,
        dhcpv6InterfaceState INTEGER,
        dhcpv6InterfaceAcquiredIp IpPrefix,
        dhcpv6InterfaceServer String,
        dhcpv6InterfaceLeaseTime String,
        dhcpv6InterfaceTimeRemaining String,
        dhcpv6InterfaceGateway Ipv6Address
    }

-- tagpath /dhcpv6/interface/vpn-id
dhcpv6InterfaceVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { dhcpv6InterfaceEntry 1 }

-- tagpath /dhcpv6/interface/ifname
dhcpv6InterfaceIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { dhcpv6InterfaceEntry 2 }

-- tagpath /dhcpv6/interface/state
dhcpv6InterfaceState OBJECT-TYPE
    SYNTAX      INTEGER {init(0),request(1),bound(2),renew(3),rebind(4),release(5)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "State"
    ::= { dhcpv6InterfaceEntry 3 }

-- tagpath /dhcpv6/interface/acquired-ip
dhcpv6InterfaceAcquiredIp OBJECT-TYPE
    SYNTAX      IpPrefix
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Acquired IP address"
    ::= { dhcpv6InterfaceEntry 4 }

-- tagpath /dhcpv6/interface/server
dhcpv6InterfaceServer OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Server ID"
    ::= { dhcpv6InterfaceEntry 5 }

-- tagpath /dhcpv6/interface/lease-time
dhcpv6InterfaceLeaseTime OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time (Days:Hours:Minutes:Seconds)"
    ::= { dhcpv6InterfaceEntry 6 }

-- tagpath /dhcpv6/interface/time-remaining
dhcpv6InterfaceTimeRemaining OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Lease time remaining (Days:Hours:Minutes:Seconds)"
    ::= { dhcpv6InterfaceEntry 7 }

-- tagpath /dhcpv6/interface/gateway
dhcpv6InterfaceGateway OBJECT-TYPE
    SYNTAX      Ipv6Address
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Default gateway"
    ::= { dhcpv6InterfaceEntry 8 }

-- tagpath /dhcpv6/interface/dns-list
dhcpv6InterfaceDnsListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Dhcpv6InterfaceDnsListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "List of DNS servers"
    ::= { viptela-oper-vpn 19 }

-- tagpath /dhcpv6/interface/dns-list
dhcpv6InterfaceDnsListEntry OBJECT-TYPE
    SYNTAX      Dhcpv6InterfaceDnsListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { dhcpv6InterfaceVpnId, dhcpv6InterfaceIfname, dhcpv6InterfaceDnsListIndex }
        ::= { dhcpv6InterfaceDnsListTable 1 }

Dhcpv6InterfaceDnsListEntry ::=
    SEQUENCE {
        dhcpv6InterfaceDnsListIndex Unsigned32,
        dhcpv6InterfaceDnsListDns Ipv6Address
    }

-- tagpath /dhcpv6/interface/dns-list/index
dhcpv6InterfaceDnsListIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Index"
    ::= { dhcpv6InterfaceDnsListEntry 1 }

-- tagpath /dhcpv6/interface/dns-list/dns
dhcpv6InterfaceDnsListDns OBJECT-TYPE
    SYNTAX      Ipv6Address
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DNS IP"
    ::= { dhcpv6InterfaceDnsListEntry 2 }

-- tagpath /pppoe/session
pppoeSessionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PppoeSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display PPPoE session information"
    ::= { pppoe 1 }

-- tagpath /pppoe/session
pppoeSessionEntry OBJECT-TYPE
    SYNTAX      PppoeSessionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { pppoeSessionVpnId, pppoeSessionIfname }
        ::= { pppoeSessionTable 1 }

PppoeSessionEntry ::=
    SEQUENCE {
        pppoeSessionVpnId Unsigned32,
        pppoeSessionIfname String,
        pppoeSessionSessionId Unsigned32,
        pppoeSessionServerMac String,
        pppoeSessionLocalMac String,
        pppoeSessionPppInterface String,
        pppoeSessionAcName String,
        pppoeSessionServiceName String
    }

-- tagpath /pppoe/session/vpn-id
pppoeSessionVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { pppoeSessionEntry 2 }

-- tagpath /pppoe/session/ifname
pppoeSessionIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Ethernet Interface name"
    ::= { pppoeSessionEntry 3 }

-- tagpath /pppoe/session/session-id
pppoeSessionSessionId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Session ID"
    ::= { pppoeSessionEntry 4 }

-- tagpath /pppoe/session/server-mac
pppoeSessionServerMac OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Server MAC address"
    ::= { pppoeSessionEntry 5 }

-- tagpath /pppoe/session/local-mac
pppoeSessionLocalMac OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local MAC address"
    ::= { pppoeSessionEntry 6 }

-- tagpath /pppoe/session/ppp-interface
pppoeSessionPppInterface OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPP interface name"
    ::= { pppoeSessionEntry 7 }

-- tagpath /pppoe/session/ac-name
pppoeSessionAcName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Access concentrator name"
    ::= { pppoeSessionEntry 8 }

-- tagpath /pppoe/session/service-name
pppoeSessionServiceName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Service name"
    ::= { pppoeSessionEntry 9 }

-- tagpath /ppp/interface
pppInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PppInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display PPP interface information"
    ::= { ppp 1 }

-- tagpath /ppp/interface
pppInterfaceEntry OBJECT-TYPE
    SYNTAX      PppInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { pppInterfaceVpnId, pppInterfaceIfname }
        ::= { pppInterfaceTable 1 }

PppInterfaceEntry ::=
    SEQUENCE {
        pppInterfaceVpnId Unsigned32,
        pppInterfaceIfname String,
        pppInterfacePppoeInterface String,
        pppInterfaceInterfaceIp String,
        pppInterfaceGatewayIp String,
        pppInterfacePrimaryDns String,
        pppInterfaceSecondaryDns String,
        pppInterfaceMtu Integer32,
        pppInterfaceAuthType PppInterfaceAuthEnum
    }

-- tagpath /ppp/interface/vpn-id
pppInterfaceVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { pppInterfaceEntry 2 }

-- tagpath /ppp/interface/ifname
pppInterfaceIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Ethernet interface name"
    ::= { pppInterfaceEntry 3 }

-- tagpath /ppp/interface/pppoe-interface
pppInterfacePppoeInterface OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "PPPoE interface name"
    ::= { pppInterfaceEntry 4 }

-- tagpath /ppp/interface/interface-ip
pppInterfaceInterfaceIp OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface IP"
    ::= { pppInterfaceEntry 5 }

-- tagpath /ppp/interface/gateway-ip
pppInterfaceGatewayIp OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Server's IP address"
    ::= { pppInterfaceEntry 6 }

-- tagpath /ppp/interface/primary-dns
pppInterfacePrimaryDns OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Primary DNS IP address"
    ::= { pppInterfaceEntry 7 }

-- tagpath /ppp/interface/secondary-dns
pppInterfaceSecondaryDns OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary DNS IP address"
    ::= { pppInterfaceEntry 8 }

-- tagpath /ppp/interface/mtu
pppInterfaceMtu OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MTU for PPP interface"
    ::= { pppInterfaceEntry 9 }

-- tagpath /ppp/interface/auth-type
pppInterfaceAuthType OBJECT-TYPE
    SYNTAX      PppInterfaceAuthEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Auth for PPP interface"
    ::= { pppInterfaceEntry 10 }

-- tagpath /sfp/detail
sfpDetailTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display detailed SFP information"
    ::= { sfp 1 }

-- tagpath /sfp/detail
sfpDetailEntry OBJECT-TYPE
    SYNTAX      SfpDetailEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpDetailIfname }
        ::= { sfpDetailTable 1 }

SfpDetailEntry ::=
    SEQUENCE {
        sfpDetailIfname String,
        sfpDetailPresent Yesno,
        sfpDetailPhysicalIdentifier SfpPhysicalIdentifierEnum,
        sfpDetailConnectorType SfpConnectorTypeEnum,
        sfpDetailTransceiverCompliancePri SfpTransceiverComplianceEnum,
        sfpDetailTransceiverComplianceSec SfpTransceiverComplianceEnum,
        sfpDetailEncoding SfpEncodingEnum,
        sfpDetailNominalSpeed ConfdString,
        sfpDetailRateSelectOptions SfpRateSelectEnum,
        sfpDetailLengthSingleModeKm Unsigned32,
        sfpDetailLength625umOm1 Unsigned32,
        sfpDetailLength50umOm2 Unsigned32,
        sfpDetailCopperMinLength Unsigned32,
        sfpDetailLength50umOm3 Unsigned32,
        sfpDetailLength50umOm4 Unsigned32,
        sfpDetailLaserWavelength Unsigned32,
        sfpDetailVendorName String,
        sfpDetailVendorOui HexList,
        sfpDetailVendorPartNumber String,
        sfpDetailVendorRevision String,
        sfpDetailVendorSerialNumber String,
        sfpDetailDateCode String,
        sfpDetailFeatureOptionsLossOfSignal Yesno,
        sfpDetailFeatureOptionsSignalDetect Yesno,
        sfpDetailFeatureOptionsTxFault Yesno,
        sfpDetailFeatureOptionsTxDisable Yesno,
        sfpDetailFeatureOptionsRateSelect Yesno,
        sfpDetailFeatureOptionsTuneableWavelength Yesno,
        sfpDetailFeatureOptionsRdt Yesno,
        sfpDetailFeatureOptionsLro Yesno,
        sfpDetailFeatureOptionsPowerLevel Unsigned32,
        sfpDetailFeatureOptionsCooledLaser Yesno,
        sfpDetailFeatureOptionsTimingType SfpTimingType,
        sfpDetailFeatureOptionsPagedA2 Yesno,
        sfpDetailDigitalDiagnosticsSupported Yesno,
        sfpDetailDigitalDiagnosticsCalibrationType SfpCalibrationType,
        sfpDetailDigitalDiagnosticsPowerType SfpPowerType,
        sfpDetailEnhancedOptionsSoftRateSelectControl Yesno,
        sfpDetailEnhancedOptionsAppSelectControl Yesno,
        sfpDetailEnhancedOptionsSoftRateSelectControlMonitor Yesno,
        sfpDetailEnhancedOptionsSoftRxLosMonitor Yesno,
        sfpDetailEnhancedOptionsSoftTxFaultMonitor Yesno,
        sfpDetailEnhancedOptionsSoftTxDisableControlMonitor Yesno,
        sfpDetailEnhancedOptionsAllAlarmWarningFlags Yesno
    }

-- tagpath /sfp/detail/ifname
sfpDetailIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { sfpDetailEntry 1 }

-- tagpath /sfp/detail/present
sfpDetailPresent OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SFP present"
    ::= { sfpDetailEntry 2 }

-- tagpath /sfp/detail/physical-identifier
sfpDetailPhysicalIdentifier OBJECT-TYPE
    SYNTAX      SfpPhysicalIdentifierEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Physical transceiver device"
    ::= { sfpDetailEntry 3 }

-- tagpath /sfp/detail/connector-type
sfpDetailConnectorType OBJECT-TYPE
    SYNTAX      SfpConnectorTypeEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Connector type presented by the device"
    ::= { sfpDetailEntry 4 }

-- tagpath /sfp/detail/transceiver-compliance-pri
sfpDetailTransceiverCompliancePri OBJECT-TYPE
    SYNTAX      SfpTransceiverComplianceEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Primary supported protocol compliance"
    ::= { sfpDetailEntry 5 }

-- tagpath /sfp/detail/transceiver-compliance-sec
sfpDetailTransceiverComplianceSec OBJECT-TYPE
    SYNTAX      SfpTransceiverComplianceEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Secondary supported protocol compliance"
    ::= { sfpDetailEntry 6 }

-- tagpath /sfp/detail/encoding
sfpDetailEncoding OBJECT-TYPE
    SYNTAX      SfpEncodingEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Link encoding mechansim"
    ::= { sfpDetailEntry 7 }

-- tagpath /sfp/detail/nominal-speed
sfpDetailNominalSpeed OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Nominal link speed"
    ::= { sfpDetailEntry 8 }

-- tagpath /sfp/detail/rate-select-options
sfpDetailRateSelectOptions OBJECT-TYPE
    SYNTAX      SfpRateSelectEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rate selection options"
    ::= { sfpDetailEntry 9 }

-- tagpath /sfp/detail/length-single-mode-km
sfpDetailLengthSingleModeKm OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported length for single mode fiber"
    ::= { sfpDetailEntry 10 }

-- tagpath /sfp/detail/length-625um-om1
sfpDetailLength625umOm1 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported length for 62.5-um multimode OM1 fiber"
    ::= { sfpDetailEntry 11 }

-- tagpath /sfp/detail/length-50um-om2
sfpDetailLength50umOm2 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported length for 50-um multimode OM2 fiber"
    ::= { sfpDetailEntry 12 }

-- tagpath /sfp/detail/copper-min-length
sfpDetailCopperMinLength OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Copper minimum link length"
    ::= { sfpDetailEntry 13 }

-- tagpath /sfp/detail/length-50um-om3
sfpDetailLength50umOm3 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported length for 50-um multimode OM3 fiber"
    ::= { sfpDetailEntry 14 }

-- tagpath /sfp/detail/length-50um-om4
sfpDetailLength50umOm4 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported length for 50-um multimode OM4 fiber or active cable"
    ::= { sfpDetailEntry 15 }

-- tagpath /sfp/detail/laser-wavelength
sfpDetailLaserWavelength OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser wavelength (fiber only)"
    ::= { sfpDetailEntry 16 }

-- tagpath /sfp/detail/vendor-name
sfpDetailVendorName OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Vendor name"
    ::= { sfpDetailEntry 17 }

-- tagpath /sfp/detail/vendor-oui
sfpDetailVendorOui OBJECT-TYPE
    SYNTAX      HexList
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Vendor OUI"
    ::= { sfpDetailEntry 18 }

-- tagpath /sfp/detail/vendor-part-number
sfpDetailVendorPartNumber OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Vendor number"
    ::= { sfpDetailEntry 19 }

-- tagpath /sfp/detail/vendor-revision
sfpDetailVendorRevision OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Vendor revision"
    ::= { sfpDetailEntry 20 }

-- tagpath /sfp/detail/vendor-serial-number
sfpDetailVendorSerialNumber OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Vendor serial number"
    ::= { sfpDetailEntry 21 }

-- tagpath /sfp/detail/date-code
sfpDetailDateCode OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date code"
    ::= { sfpDetailEntry 22 }

-- tagpath /sfp/detail/feature-options/loss-of-signal
sfpDetailFeatureOptionsLossOfSignal OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Loss of signal"
    ::= { sfpDetailEntry 23 }

-- tagpath /sfp/detail/feature-options/signal-detect
sfpDetailFeatureOptionsSignalDetect OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Signal detect"
    ::= { sfpDetailEntry 24 }

-- tagpath /sfp/detail/feature-options/tx-fault
sfpDetailFeatureOptionsTxFault OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx fault"
    ::= { sfpDetailEntry 25 }

-- tagpath /sfp/detail/feature-options/tx-disable
sfpDetailFeatureOptionsTxDisable OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx disable"
    ::= { sfpDetailEntry 26 }

-- tagpath /sfp/detail/feature-options/rate-select
sfpDetailFeatureOptionsRateSelect OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rate select"
    ::= { sfpDetailEntry 27 }

-- tagpath /sfp/detail/feature-options/tuneable-wavelength
sfpDetailFeatureOptionsTuneableWavelength OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tunable wavelength"
    ::= { sfpDetailEntry 28 }

-- tagpath /sfp/detail/feature-options/rdt
sfpDetailFeatureOptionsRdt OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx decision threshold (RDT)"
    ::= { sfpDetailEntry 29 }

-- tagpath /sfp/detail/feature-options/lro
sfpDetailFeatureOptionsLro OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Linear receive output"
    ::= { sfpDetailEntry 30 }

-- tagpath /sfp/detail/feature-options/power-level
sfpDetailFeatureOptionsPowerLevel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Power level"
    ::= { sfpDetailEntry 31 }

-- tagpath /sfp/detail/feature-options/cooled-laser
sfpDetailFeatureOptionsCooledLaser OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Cooled laser"
    ::= { sfpDetailEntry 32 }

-- tagpath /sfp/detail/feature-options/timing-type
sfpDetailFeatureOptionsTimingType OBJECT-TYPE
    SYNTAX      SfpTimingType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Timing type"
    ::= { sfpDetailEntry 33 }

-- tagpath /sfp/detail/feature-options/paged-a2
sfpDetailFeatureOptionsPagedA2 OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Paged A2 access"
    ::= { sfpDetailEntry 34 }

-- tagpath /sfp/detail/digital-diagnostics/supported
sfpDetailDigitalDiagnosticsSupported OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supported"
    ::= { sfpDetailEntry 35 }

-- tagpath /sfp/detail/digital-diagnostics/calibration-type
sfpDetailDigitalDiagnosticsCalibrationType OBJECT-TYPE
    SYNTAX      SfpCalibrationType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Calibration type"
    ::= { sfpDetailEntry 36 }

-- tagpath /sfp/detail/digital-diagnostics/power-type
sfpDetailDigitalDiagnosticsPowerType OBJECT-TYPE
    SYNTAX      SfpPowerType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Power measurement type"
    ::= { sfpDetailEntry 37 }

-- tagpath /sfp/detail/enhanced-options/soft-rate-select-control
sfpDetailEnhancedOptionsSoftRateSelectControl OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft rate select control"
    ::= { sfpDetailEntry 38 }

-- tagpath /sfp/detail/enhanced-options/app-select-control
sfpDetailEnhancedOptionsAppSelectControl OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Application select control"
    ::= { sfpDetailEntry 39 }

-- tagpath /sfp/detail/enhanced-options/soft-rate-select-control-monitor
sfpDetailEnhancedOptionsSoftRateSelectControlMonitor OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft rate select control/monitor"
    ::= { sfpDetailEntry 40 }

-- tagpath /sfp/detail/enhanced-options/soft-rx-los-monitor
sfpDetailEnhancedOptionsSoftRxLosMonitor OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft Rx loss of signal monitor"
    ::= { sfpDetailEntry 41 }

-- tagpath /sfp/detail/enhanced-options/soft-tx-fault-monitor
sfpDetailEnhancedOptionsSoftTxFaultMonitor OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft Tx fault monitor"
    ::= { sfpDetailEntry 42 }

-- tagpath /sfp/detail/enhanced-options/soft-tx-disable-control-monitor
sfpDetailEnhancedOptionsSoftTxDisableControlMonitor OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft Tx disable control/monitor"
    ::= { sfpDetailEntry 43 }

-- tagpath /sfp/detail/enhanced-options/all-alarm-warning-flags
sfpDetailEnhancedOptionsAllAlarmWarningFlags OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Supports all alarms/warning flags"
    ::= { sfpDetailEntry 44 }

-- tagpath /sfp/diagnostic
sfpDiagnosticTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpDiagnosticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display diagnostic SFP information"
    ::= { sfp 2 }

-- tagpath /sfp/diagnostic
sfpDiagnosticEntry OBJECT-TYPE
    SYNTAX      SfpDiagnosticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpDiagnosticIfname }
        ::= { sfpDiagnosticTable 1 }

SfpDiagnosticEntry ::=
    SEQUENCE {
        sfpDiagnosticIfname String,
        sfpDiagnosticPresent Yesno,
        sfpDiagnosticSupported Yesno,
        sfpDiagnosticControlStatusDataReadyState Yesno,
        sfpDiagnosticControlStatusRxLosState Yesno,
        sfpDiagnosticControlStatusTxFaultState Yesno,
        sfpDiagnosticControlStatusSoftRateSelect0State Yesno,
        sfpDiagnosticControlStatusSoftRateSelect1State Yesno,
        sfpDiagnosticControlStatusRateSelect0State Yesno,
        sfpDiagnosticControlStatusRateSelect1State Yesno,
        sfpDiagnosticControlStatusSoftTxDisableState Yesno,
        sfpDiagnosticControlStatusTxDisableState Yesno
    }

-- tagpath /sfp/diagnostic/ifname
sfpDiagnosticIfname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { sfpDiagnosticEntry 1 }

-- tagpath /sfp/diagnostic/present
sfpDiagnosticPresent OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SFP present"
    ::= { sfpDiagnosticEntry 2 }

-- tagpath /sfp/diagnostic/supported
sfpDiagnosticSupported OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Diagnostics supported"
    ::= { sfpDiagnosticEntry 3 }

-- tagpath /sfp/diagnostic/control-status/data-ready-state
sfpDiagnosticControlStatusDataReadyState OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Data ready"
    ::= { sfpDiagnosticEntry 4 }

-- tagpath /sfp/diagnostic/control-status/rx-los-state
sfpDiagnosticControlStatusRxLosState OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rx loss of signal"
    ::= { sfpDiagnosticEntry 5 }

-- tagpath /sfp/diagnostic/control-status/tx-fault-state
sfpDiagnosticControlStatusTxFaultState OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx fault"
    ::= { sfpDiagnosticEntry 6 }

-- tagpath /sfp/diagnostic/control-status/soft-rate-select0-state
sfpDiagnosticControlStatusSoftRateSelect0State OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft rate select 0"
    ::= { sfpDiagnosticEntry 7 }

-- tagpath /sfp/diagnostic/control-status/soft-rate-select1-state
sfpDiagnosticControlStatusSoftRateSelect1State OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft rate select 1"
    ::= { sfpDiagnosticEntry 8 }

-- tagpath /sfp/diagnostic/control-status/rate-select0-state
sfpDiagnosticControlStatusRateSelect0State OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rate select 0"
    ::= { sfpDiagnosticEntry 9 }

-- tagpath /sfp/diagnostic/control-status/rate-select1-state
sfpDiagnosticControlStatusRateSelect1State OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Rate select 1"
    ::= { sfpDiagnosticEntry 10 }

-- tagpath /sfp/diagnostic/control-status/soft-tx-disable-state
sfpDiagnosticControlStatusSoftTxDisableState OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Soft Tx disable"
    ::= { sfpDiagnosticEntry 11 }

-- tagpath /sfp/diagnostic/control-status/tx-disable-state
sfpDiagnosticControlStatusTxDisableState OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Tx disable"
    ::= { sfpDiagnosticEntry 12 }

-- tagpath /sfp/diagnostic/measurement-value
sfpDiagnosticMeasurementValueTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpDiagnosticMeasurementValueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Measurement"
    ::= { sfp 3 }

-- tagpath /sfp/diagnostic/measurement-value
sfpDiagnosticMeasurementValueEntry OBJECT-TYPE
    SYNTAX      SfpDiagnosticMeasurementValueEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpDiagnosticIfname, IMPLIED sfpDiagnosticMeasurementValueMeasurement }
        ::= { sfpDiagnosticMeasurementValueTable 1 }

SfpDiagnosticMeasurementValueEntry ::=
    SEQUENCE {
        sfpDiagnosticMeasurementValueMeasurement String,
        sfpDiagnosticMeasurementValueUnitValue String,
        sfpDiagnosticMeasurementValueLowAlarmValue ConfdString,
        sfpDiagnosticMeasurementValueLowWarningValue ConfdString,
        sfpDiagnosticMeasurementValueHighWarningValue ConfdString,
        sfpDiagnosticMeasurementValueHighAlarmValue ConfdString,
        sfpDiagnosticMeasurementValueCurrentValue ConfdString
    }

-- tagpath /sfp/diagnostic/measurement-value/measurement
sfpDiagnosticMeasurementValueMeasurement OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Measurement"
    ::= { sfpDiagnosticMeasurementValueEntry 1 }

-- tagpath /sfp/diagnostic/measurement-value/unit-value
sfpDiagnosticMeasurementValueUnitValue OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Unit"
    ::= { sfpDiagnosticMeasurementValueEntry 2 }

-- tagpath /sfp/diagnostic/measurement-value/low-alarm-value
sfpDiagnosticMeasurementValueLowAlarmValue OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Low alarm"
    ::= { sfpDiagnosticMeasurementValueEntry 3 }

-- tagpath /sfp/diagnostic/measurement-value/low-warning-value
sfpDiagnosticMeasurementValueLowWarningValue OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Low warning"
    ::= { sfpDiagnosticMeasurementValueEntry 4 }

-- tagpath /sfp/diagnostic/measurement-value/high-warning-value
sfpDiagnosticMeasurementValueHighWarningValue OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "High warning"
    ::= { sfpDiagnosticMeasurementValueEntry 5 }

-- tagpath /sfp/diagnostic/measurement-value/high-alarm-value
sfpDiagnosticMeasurementValueHighAlarmValue OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "High alarm"
    ::= { sfpDiagnosticMeasurementValueEntry 6 }

-- tagpath /sfp/diagnostic/measurement-value/current-value
sfpDiagnosticMeasurementValueCurrentValue OBJECT-TYPE
    SYNTAX      ConfdString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current value"
    ::= { sfpDiagnosticMeasurementValueEntry 7 }

-- tagpath /sfp/diagnostic/measurement-alarm
sfpDiagnosticMeasurementAlarmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpDiagnosticMeasurementAlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Measurement"
    ::= { sfp 4 }

-- tagpath /sfp/diagnostic/measurement-alarm
sfpDiagnosticMeasurementAlarmEntry OBJECT-TYPE
    SYNTAX      SfpDiagnosticMeasurementAlarmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpDiagnosticIfname, IMPLIED sfpDiagnosticMeasurementAlarmMeasurement }
        ::= { sfpDiagnosticMeasurementAlarmTable 1 }

SfpDiagnosticMeasurementAlarmEntry ::=
    SEQUENCE {
        sfpDiagnosticMeasurementAlarmMeasurement String,
        sfpDiagnosticMeasurementAlarmLowAlarmAlarm String,
        sfpDiagnosticMeasurementAlarmLowWarningAlarm String,
        sfpDiagnosticMeasurementAlarmHighWarningAlarm String,
        sfpDiagnosticMeasurementAlarmHighAlarmAlarm String
    }

-- tagpath /sfp/diagnostic/measurement-alarm/measurement
sfpDiagnosticMeasurementAlarmMeasurement OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Measurement"
    ::= { sfpDiagnosticMeasurementAlarmEntry 1 }

-- tagpath /sfp/diagnostic/measurement-alarm/low-alarm-alarm
sfpDiagnosticMeasurementAlarmLowAlarmAlarm OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Low alarm"
    ::= { sfpDiagnosticMeasurementAlarmEntry 2 }

-- tagpath /sfp/diagnostic/measurement-alarm/low-warning-alarm
sfpDiagnosticMeasurementAlarmLowWarningAlarm OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Low warning"
    ::= { sfpDiagnosticMeasurementAlarmEntry 3 }

-- tagpath /sfp/diagnostic/measurement-alarm/high-warning-alarm
sfpDiagnosticMeasurementAlarmHighWarningAlarm OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "High warning"
    ::= { sfpDiagnosticMeasurementAlarmEntry 4 }

-- tagpath /sfp/diagnostic/measurement-alarm/high-alarm-alarm
sfpDiagnosticMeasurementAlarmHighAlarmAlarm OBJECT-TYPE
    SYNTAX      String
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "High alarm"
    ::= { sfpDiagnosticMeasurementAlarmEntry 5 }

-- tagpath /sfp/raw-a0
sfpRawA0Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpRawA0Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "(HIDDEN) Display SFP raw page A0 data"
    ::= { sfp 5 }

-- tagpath /sfp/raw-a0
sfpRawA0Entry OBJECT-TYPE
    SYNTAX      SfpRawA0Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpRawA0Ifname }
        ::= { sfpRawA0Table 1 }

SfpRawA0Entry ::=
    SEQUENCE {
        sfpRawA0Ifname String,
        sfpRawA0Present Yesno,
        sfpRawA0Row0 SfpHexBytes,
        sfpRawA0Row1 SfpHexBytes,
        sfpRawA0Row2 SfpHexBytes,
        sfpRawA0Row3 SfpHexBytes,
        sfpRawA0Row4 SfpHexBytes,
        sfpRawA0Row5 SfpHexBytes,
        sfpRawA0Row6 SfpHexBytes,
        sfpRawA0Row7 SfpHexBytes,
        sfpRawA0Row8 SfpHexBytes,
        sfpRawA0Row9 SfpHexBytes,
        sfpRawA0RowA SfpHexBytes,
        sfpRawA0RowB SfpHexBytes,
        sfpRawA0RowC SfpHexBytes,
        sfpRawA0RowD SfpHexBytes,
        sfpRawA0RowE SfpHexBytes,
        sfpRawA0RowF SfpHexBytes
    }

-- tagpath /sfp/raw-a0/ifname
sfpRawA0Ifname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { sfpRawA0Entry 1 }

-- tagpath /sfp/raw-a0/present
sfpRawA0Present OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SFP present"
    ::= { sfpRawA0Entry 2 }

-- tagpath /sfp/raw-a0/row-0
sfpRawA0Row0 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 0 data"
    ::= { sfpRawA0Entry 3 }

-- tagpath /sfp/raw-a0/row-1
sfpRawA0Row1 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 1 data"
    ::= { sfpRawA0Entry 4 }

-- tagpath /sfp/raw-a0/row-2
sfpRawA0Row2 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 2 data"
    ::= { sfpRawA0Entry 5 }

-- tagpath /sfp/raw-a0/row-3
sfpRawA0Row3 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 3 data"
    ::= { sfpRawA0Entry 6 }

-- tagpath /sfp/raw-a0/row-4
sfpRawA0Row4 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 4 data"
    ::= { sfpRawA0Entry 7 }

-- tagpath /sfp/raw-a0/row-5
sfpRawA0Row5 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 5 data"
    ::= { sfpRawA0Entry 8 }

-- tagpath /sfp/raw-a0/row-6
sfpRawA0Row6 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 6 data"
    ::= { sfpRawA0Entry 9 }

-- tagpath /sfp/raw-a0/row-7
sfpRawA0Row7 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 7 data"
    ::= { sfpRawA0Entry 10 }

-- tagpath /sfp/raw-a0/row-8
sfpRawA0Row8 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 8 data"
    ::= { sfpRawA0Entry 11 }

-- tagpath /sfp/raw-a0/row-9
sfpRawA0Row9 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 9 data"
    ::= { sfpRawA0Entry 12 }

-- tagpath /sfp/raw-a0/row-A
sfpRawA0RowA OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 10 data"
    ::= { sfpRawA0Entry 13 }

-- tagpath /sfp/raw-a0/row-B
sfpRawA0RowB OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 11 data"
    ::= { sfpRawA0Entry 14 }

-- tagpath /sfp/raw-a0/row-C
sfpRawA0RowC OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 12 data"
    ::= { sfpRawA0Entry 15 }

-- tagpath /sfp/raw-a0/row-D
sfpRawA0RowD OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 13 data"
    ::= { sfpRawA0Entry 16 }

-- tagpath /sfp/raw-a0/row-E
sfpRawA0RowE OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 14 data"
    ::= { sfpRawA0Entry 17 }

-- tagpath /sfp/raw-a0/row-F
sfpRawA0RowF OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 15 data"
    ::= { sfpRawA0Entry 18 }

-- tagpath /sfp/raw-a2
sfpRawA2Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF SfpRawA2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "(HIDDEN) Display SFP raw page A2 data"
    ::= { sfp 6 }

-- tagpath /sfp/raw-a2
sfpRawA2Entry OBJECT-TYPE
    SYNTAX      SfpRawA2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { sfpRawA2Ifname }
        ::= { sfpRawA2Table 1 }

SfpRawA2Entry ::=
    SEQUENCE {
        sfpRawA2Ifname String,
        sfpRawA2Present Yesno,
        sfpRawA2Supported Yesno,
        sfpRawA2Row0 SfpHexBytes,
        sfpRawA2Row1 SfpHexBytes,
        sfpRawA2Row2 SfpHexBytes,
        sfpRawA2Row3 SfpHexBytes,
        sfpRawA2Row4 SfpHexBytes,
        sfpRawA2Row5 SfpHexBytes,
        sfpRawA2Row6 SfpHexBytes,
        sfpRawA2Row7 SfpHexBytes,
        sfpRawA2Row8 SfpHexBytes,
        sfpRawA2Row9 SfpHexBytes,
        sfpRawA2RowA SfpHexBytes,
        sfpRawA2RowB SfpHexBytes,
        sfpRawA2RowC SfpHexBytes,
        sfpRawA2RowD SfpHexBytes,
        sfpRawA2RowE SfpHexBytes,
        sfpRawA2RowF SfpHexBytes
    }

-- tagpath /sfp/raw-a2/ifname
sfpRawA2Ifname OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Interface name"
    ::= { sfpRawA2Entry 1 }

-- tagpath /sfp/raw-a2/present
sfpRawA2Present OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SFP present"
    ::= { sfpRawA2Entry 2 }

-- tagpath /sfp/raw-a2/supported
sfpRawA2Supported OBJECT-TYPE
    SYNTAX      Yesno
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Diagnostics supported"
    ::= { sfpRawA2Entry 3 }

-- tagpath /sfp/raw-a2/row-0
sfpRawA2Row0 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 0 data"
    ::= { sfpRawA2Entry 4 }

-- tagpath /sfp/raw-a2/row-1
sfpRawA2Row1 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 1 data"
    ::= { sfpRawA2Entry 5 }

-- tagpath /sfp/raw-a2/row-2
sfpRawA2Row2 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 2 data"
    ::= { sfpRawA2Entry 6 }

-- tagpath /sfp/raw-a2/row-3
sfpRawA2Row3 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 3 data"
    ::= { sfpRawA2Entry 7 }

-- tagpath /sfp/raw-a2/row-4
sfpRawA2Row4 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 4 data"
    ::= { sfpRawA2Entry 8 }

-- tagpath /sfp/raw-a2/row-5
sfpRawA2Row5 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 5 data"
    ::= { sfpRawA2Entry 9 }

-- tagpath /sfp/raw-a2/row-6
sfpRawA2Row6 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 6 data"
    ::= { sfpRawA2Entry 10 }

-- tagpath /sfp/raw-a2/row-7
sfpRawA2Row7 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 7 data"
    ::= { sfpRawA2Entry 11 }

-- tagpath /sfp/raw-a2/row-8
sfpRawA2Row8 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 8 data"
    ::= { sfpRawA2Entry 12 }

-- tagpath /sfp/raw-a2/row-9
sfpRawA2Row9 OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 9 data"
    ::= { sfpRawA2Entry 13 }

-- tagpath /sfp/raw-a2/row-A
sfpRawA2RowA OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 10 data"
    ::= { sfpRawA2Entry 14 }

-- tagpath /sfp/raw-a2/row-B
sfpRawA2RowB OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 11 data"
    ::= { sfpRawA2Entry 15 }

-- tagpath /sfp/raw-a2/row-C
sfpRawA2RowC OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 12 data"
    ::= { sfpRawA2Entry 16 }

-- tagpath /sfp/raw-a2/row-D
sfpRawA2RowD OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 13 data"
    ::= { sfpRawA2Entry 17 }

-- tagpath /sfp/raw-a2/row-E
sfpRawA2RowE OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 14 data"
    ::= { sfpRawA2Entry 18 }

-- tagpath /sfp/raw-a2/row-F
sfpRawA2RowF OBJECT-TYPE
    SYNTAX      SfpHexBytes
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row 15 data"
    ::= { sfpRawA2Entry 19 }

-- Cloudexpress specific information
-- tagpath /cloudexpress
cloudexpress OBJECT IDENTIFIER ::= { viptela-oper-vpn 20 }

-- tagpath /cloudexpress/applications
cloudAppTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CloudAppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cloudexpress applications"
    ::= { cloudexpress 1 }

-- tagpath /cloudexpress/applications
cloudAppEntry OBJECT-TYPE
    SYNTAX      CloudAppEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { cloudAppVpnId, cloudAppName }
        ::= { cloudAppTable 1 }

CloudAppEntry ::=
    SEQUENCE {
        cloudAppVpnId Unsigned32,
        cloudAppName CloudExpressAppType,
        cloudAppExitType INTEGER,
        cloudAppGatewayIp InetAddressIP,
        cloudAppIfName String,
        cloudAppLatency Unsigned32,
        cloudAppLoss Unsigned32,
        cloudAppLocalColor TlocColorEnum,
        cloudAppRemoteColor TlocColorEnum
    }

-- tagpath /cloudexpress/applications/vpn-id
cloudAppVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { cloudAppEntry 1 }

-- tagpath /cloudexpress/applications/application
cloudAppName OBJECT-TYPE
    SYNTAX      CloudExpressAppType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Cloudexpress application name"
    ::= { cloudAppEntry 2 }

-- tagpath /cloudexpress/applications/exittype
cloudAppExitType OBJECT-TYPE
    SYNTAX      INTEGER { gateway           (1),
                          local             (2),
                          uncomputed        (3),
                          none              (4)
                        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Cloudexpress exit type"
    ::= { cloudAppEntry 3 }

-- tagpath /cloudexpress/applications/gatewayip
cloudAppGatewayIp OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Gateway system IP Address"
    ::= { cloudAppEntry 4 }

-- tagpath /cloudexpress/applications/interface
cloudAppIfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local exit interface name"
    ::= { cloudAppEntry 5 }

-- tagpath /cloudexpress/applications/latency
cloudAppLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Latency"
    ::= { cloudAppEntry 6 }

-- tagpath /cloudexpress/applications/loss
cloudAppLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Loss"
    ::= { cloudAppEntry 7 }

-- tagpath /cloudexpress/applications/local-color
cloudAppLocalColor OBJECT-TYPE
    SYNTAX      TlocColorEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC color"
    ::= { cloudAppEntry 8 }

-- tagpath /cloudexpress/applications/remote-color
cloudAppRemoteColor OBJECT-TYPE
    SYNTAX      TlocColorEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC color"
    ::= { cloudAppEntry 9 }

-- tagpath /cloudexpress/localexit
cloudLocalExitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CloudLocalExitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cloudexpress applications"
    ::= { cloudexpress 2 }

-- tagpath /cloudexpress/localexit
cloudLocalExitEntry OBJECT-TYPE
    SYNTAX      CloudLocalExitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { cloudLocalExitVpnId, cloudLocalExitAppName, cloudLocalExitIfName}
    ::= { cloudLocalExitTable 1 }

CloudLocalExitEntry ::=
    SEQUENCE {
        cloudLocalExitVpnId     Unsigned32,
        cloudLocalExitAppName   CloudExpressAppType,
        cloudLocalExitIfName    String,
        cloudLocalExitLatency   Unsigned32,
        cloudLocalExitLoss      Unsigned32
    }

-- tagpath /cloudexpress/localexit/vpn-id
cloudLocalExitVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { cloudLocalExitEntry 1 }

-- tagpath /cloudexpress/localexit/app
cloudLocalExitAppName OBJECT-TYPE
    SYNTAX      CloudExpressAppType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Cloudexpress application name"
    ::= { cloudLocalExitEntry 2 }

-- tagpath /cloudexpress/localexit/interface
cloudLocalExitIfName OBJECT-TYPE
    SYNTAX      String (SIZE (1 .. 32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Local exit interface name"
    ::= { cloudLocalExitEntry 3 }

-- tagpath /cloudexpress/localexit/latency
cloudLocalExitLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Latency"
    ::= { cloudLocalExitEntry 4 }

-- tagpath /cloudexpress/localexit/loss
cloudLocalExitLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Loss"
    ::= { cloudLocalExitEntry 5 }

-- tagpath /cloudexpress/gatewayexit
cloudGatewayExitTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CloudGatewayExitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Display cloudexpress applications"
    ::= { cloudexpress 3 }

-- tagpath /cloudexpress/gatewayexit
cloudGatewayExitEntry OBJECT-TYPE
    SYNTAX      CloudGatewayExitEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION ""
    INDEX { cloudGatewayExitVpnId, cloudGatewayExitAppName, cloudGatewayExitIP}
    ::= { cloudGatewayExitTable 1 }

CloudGatewayExitEntry ::=
    SEQUENCE {
        cloudGatewayExitVpnId       Unsigned32,
        cloudGatewayExitAppName     CloudExpressAppType,
        cloudGatewayExitIP          InetAddressIP,
        cloudGatewayExitLatency     Unsigned32,
        cloudGatewayExitLoss        Unsigned32,
        cloudGatewayExitLocalColor  TlocColorEnum,
        cloudGatewayExitRemoteColor TlocColorEnum
    }

-- tagpath /cloudexpress/gatewayexit/vpn-id
cloudGatewayExitVpnId OBJECT-TYPE
    SYNTAX      Unsigned32 (0 .. 65530)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "VPN ID"
    ::= { cloudGatewayExitEntry 1 }

-- tagpath /cloudexpress/gatewayexit/app
cloudGatewayExitAppName OBJECT-TYPE
    SYNTAX      CloudExpressAppType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Cloudexpress application name"
    ::= { cloudGatewayExitEntry 2 }

-- tagpath /cloudexpress/gatewayexit/interface
cloudGatewayExitIP OBJECT-TYPE
    SYNTAX      InetAddressIP
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Gateway exit system IP address"
    ::= { cloudGatewayExitEntry 3 }

-- tagpath /cloudexpress/gatewayexit/latency
cloudGatewayExitLatency OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Latency"
    ::= { cloudGatewayExitEntry 4 }

-- tagpath /cloudexpress/gatewayexit/loss
cloudGatewayExitLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Loss"
    ::= { cloudGatewayExitEntry 5 }

-- tagpath /cloudexpress/gatewayexit/local-color
cloudGatewayExitLocalColor OBJECT-TYPE
    SYNTAX      TlocColorEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Local TLOC color"
    ::= { cloudGatewayExitEntry 6 }

-- tagpath /cloudexpress/gatewayexit/remote-color
cloudGatewayExitRemoteColor OBJECT-TYPE
    SYNTAX      TlocColorEnum
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Remote TLOC color"
    ::= { cloudGatewayExitEntry 7 }

END
