--  -*- mode:snmp -*-

ZXTM-MIB-SMIv2 DEFINITIONS ::= BEGIN

--======================================================================
-- MIB for Brocade Virtual Traffic Manager 17.1
-- For more information, please see
-- http://www.brocade.com/en/products-services/application-delivery-controllers.html
--======================================================================

IMPORTS
   OBJECT-TYPE, enterprises, IpAddress, TimeTicks, NOTIFICATION-TYPE, MODULE-IDENTITY, Integer32, Counter32, Counter64, Gauge32
      FROM SNMPv2-SMI
   DisplayString
      FROM SNMPv2-TC
   OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
      FROM SNMPv2-CONF
   InetAddressType, InetAddress
      FROM INET-ADDRESS-MIB;

-- This MUST immediately follow the imports, so cannot be moved down and
-- cannot make forward references to "zeus" etc.
zxtm MODULE-IDENTITY
   LAST-UPDATED "201612051100Z"
   ORGANIZATION "Brocade Communications (vTM Team)"
   CONTACT-INFO "http://www.brocade.com/forms/jsp/support/tech_sc_locator.jsp"
   DESCRIPTION "MIB for Virtual Traffic Manager"
-- change history: most recent revision matches last-updated
   REVISION "201612051100Z"
   DESCRIPTION "Brocade vTM 17.1 features"

   REVISION "201609290100Z"
   DESCRIPTION "Brocade vTM 11.1 features"

   REVISION "201605091900Z"
   DESCRIPTION "Brocade vTM 11.0 features"

   REVISION "201511180900Z"
   DESCRIPTION "Brocade vTM 10.4 features"

   REVISION "201511161703Z"
   DESCRIPTION "Renamed Aptimizer to Web Accelerator in descriptions"

   REVISION "201511090900Z"
   DESCRIPTION "Brocade vTM 10.3 features"

   REVISION "201509231400Z"
   DESCRIPTION "Stingray 10.2 features"

   REVISION "201507071500Z"
   DESCRIPTION "Node drain to delete traps"

   REVISION "201506161400Z"
   DESCRIPTION "Brocade Rebranding"

   REVISION "201501231400Z"
   DESCRIPTION "Stingray 10.0 features"

   REVISION "201412041100Z"
   DESCRIPTION "Web cache URL store counters"

   REVISION "201410291100Z"
   DESCRIPTION "DNS Server traps"

   REVISION "201409211000Z"
   DESCRIPTION "New EC2 trap"

   REVISION "201408191200Z"
   DESCRIPTION "Stingray 9.8 features"

   REVISION "201407011400Z"
   DESCRIPTION "Stingray 9.7 features"

   REVISION "201402241700Z"
   DESCRIPTION "New OCSP stapling traps"

   REVISION "201402031600Z"
   DESCRIPTION "New autoscaling trap"

   REVISION "201402031100Z"
   DESCRIPTION "New virtual server counter and fault tolerance trap"

   REVISION "201311111100Z"
   DESCRIPTION "Various SMIv2 compliance issues and OCSP stapling"

   REVISION "201111221100Z"
   DESCRIPTION "Initial revision"
   ::= { enterprises 7146 1 2 }

zeus                    OBJECT IDENTIFIER ::= { enterprises 7146 }
products                OBJECT IDENTIFIER ::= { zeus 1 }
globals                 OBJECT IDENTIFIER ::= { zxtm 1 }
virtualservers          OBJECT IDENTIFIER ::= { zxtm 2 }
pools                   OBJECT IDENTIFIER ::= { zxtm 3 }
nodes                   OBJECT IDENTIFIER ::= { zxtm 4 }
serviceprotection       OBJECT IDENTIFIER ::= { zxtm 5 }
trafficips              OBJECT IDENTIFIER ::= { zxtm 6 }
servicelevelmonitoring  OBJECT IDENTIFIER ::= { zxtm 7 }
pernodeservicelevelmon  OBJECT IDENTIFIER ::= { zxtm 8 }
bandwidthmgt            OBJECT IDENTIFIER ::= { zxtm 9 }
connratelimit           OBJECT IDENTIFIER ::= { zxtm 10 }
extra                   OBJECT IDENTIFIER ::= { zxtm 11 }
netinterfaces           OBJECT IDENTIFIER ::= { zxtm 12 }
events                  OBJECT IDENTIFIER ::= { zxtm 13 }
actions                 OBJECT IDENTIFIER ::= { zxtm 14 }
zxtmtraps               OBJECT IDENTIFIER ::= { zxtm 15 }
trapsZero               OBJECT IDENTIFIER ::= { zxtmtraps 0 }
persistence             OBJECT IDENTIFIER ::= { zxtm 16 }
cache                   OBJECT IDENTIFIER ::= { zxtm 17 }
webcache                OBJECT IDENTIFIER ::= { cache 1 }
sslcache                OBJECT IDENTIFIER ::= { cache 2 }
aspsessioncache         OBJECT IDENTIFIER ::= { cache 3 }
ipsessioncache          OBJECT IDENTIFIER ::= { cache 4 }
j2eesessioncache        OBJECT IDENTIFIER ::= { cache 5 }
unisessioncache         OBJECT IDENTIFIER ::= { cache 6 }
sslsessioncache         OBJECT IDENTIFIER ::= { cache 7 }
rules                   OBJECT IDENTIFIER ::= { zxtm 18 }
monitors                OBJECT IDENTIFIER ::= { zxtm 19 }
licensekeys             OBJECT IDENTIFIER ::= { zxtm 20 }
zxtms                   OBJECT IDENTIFIER ::= { zxtm 21 }
trapobjects             OBJECT IDENTIFIER ::= { zxtm 22 }
cloudcredentials        OBJECT IDENTIFIER ::= { zxtm 23 }
glbservices             OBJECT IDENTIFIER ::= { zxtm 24 }
perlocationservices     OBJECT IDENTIFIER ::= { zxtm 25 }
locations               OBJECT IDENTIFIER ::= { zxtm 26 }
listenips               OBJECT IDENTIFIER ::= { zxtm 27 }
authenticators          OBJECT IDENTIFIER ::= { zxtm 28 }
conformanceGroups       OBJECT IDENTIFIER ::= { zxtm 29 }
complianceStatements    OBJECT IDENTIFIER ::= { zxtm 30 }
steelheads              OBJECT IDENTIFIER ::= { zxtm 31 }
sslocspstapling         OBJECT IDENTIFIER ::= { zxtm 32 }
dpaCoreUtilization      OBJECT IDENTIFIER ::= { zxtm 33 }

mainGroup OBJECT-GROUP
   OBJECTS {
version,
numberChildProcesses,
upTime,
timeLastConfigUpdate,
totalBytesIn,
totalBytesOut,
totalCurrentConn,
totalConn,
totalRequests,
totalTransactions,
numberDNSARequests,
numberDNSACacheHits,
numberDNSPTRRequests,
numberDNSPTRCacheHits,
numberSNMPUnauthorisedRequests,
numberSNMPBadRequests,
numberSNMPGetRequests,
numberSNMPGetNextRequests,
sslCipherEncrypts,
sslCipherDecrypts,
sslCipherRC4Encrypts,
sslCipherRC4Decrypts,
sslCipherDESEncrypts,
sslCipherDESDecrypts,
sslCipher3DESEncrypts,
sslCipher3DESDecrypts,
sslCipherAESEncrypts,
sslCipherAESDecrypts,
sslCipherRSAEncrypts,
sslCipherRSADecrypts,
sslCipherRSADecryptsExternal,
sslHandshakeSSLv3,
sslHandshakeTLSv1,
sslClientCertNotSent,
sslClientCertInvalid,
sslClientCertExpired,
sslClientCertRevoked,
sslSessionIDMemCacheHit,
sslSessionIDMemCacheMiss,
sslHandshakeTLSv11,
sslConnections,
sslCipherRSAEncryptsExternal,
sysCPUIdlePercent,
sysCPUBusyPercent,
sysCPUUserBusyPercent,
sysCPUSystemBusyPercent,
sysFDsFree,
sysMemTotal,
sysMemFree,
sysMemInUse,
sysMemBuffered,
sysMemSwapped,
sysMemSwapTotal,
numIdleConnections,
dataEntries,
dataMemoryUsage,
eventsSeen,
totalDNSResponses,
totalBadDNSPackets,
totalBackendServerErrors,
virtualserverNumber,
virtualserverName,
virtualserverPort,
virtualserverProtocol,
virtualserverDefaultTrafficPool,
virtualserverBytesIn,
virtualserverBytesOut,
virtualserverCurrentConn,
virtualserverMaxConn,
virtualserverDiscard,
virtualserverDirectReplies,
virtualserverConnectTimedOut,
virtualserverDataTimedOut,
virtualserverKeepaliveTimedOut,
virtualserverMaxDurationTimedOut,
virtualserverUdpTimedOut,
virtualserverTotalDgram,
virtualserverGzip,
virtualserverGzipBytesSaved,
virtualserverHttpRewriteLocation,
virtualserverHttpRewriteCookie,
virtualserverHttpCacheHits,
virtualserverHttpCacheLookups,
virtualserverHttpCacheHitRate,
virtualserverSIPTotalCalls,
virtualserverSIPRejectedRequests,
virtualserverConnectionErrors,
virtualserverConnectionFailures,
virtualserverCertStatusRequests,
virtualserverCertStatusResponses,
virtualserverProcessingTimedOut,
virtualserverTotalRequests,
virtualserverTotalHTTPRequests,
virtualserverTotalHTTP1Requests,
virtualserverTotalHTTP2Requests,
virtualserverPktsIn,
virtualserverPktsOut,
virtualserverL4TCPConnectResets,
virtualserverL4UDPUnreachables,
virtualserverBwLimitPktsDrop,
virtualserverBwLimitBytesDrop,
poolNumber,
poolName,
poolAlgorithm,
poolNodes,
poolDraining,
poolFailPool,
poolBytesIn,
poolBytesOut,
poolTotalConn,
poolPersistence,
poolSessionMigrated,
poolDisabled,
poolState,
poolConnsQueued,
poolQueueTimeouts,
poolMinQueueTime,
poolMaxQueueTime,
poolMeanQueueTime,
poolBwLimitPktsDrop,
poolBwLimitBytesDrop,
nodeNumberInet46,
nodeInet46AddressType,
nodeInet46Address,
nodeInet46Port,
nodeInet46HostName,
nodeInet46State,
nodeInet46BytesToNode,
nodeInet46BytesFromNode,
nodeInet46CurrentRequests,
nodeInet46TotalConn,
nodeInet46PooledConn,
nodeInet46Failures,
nodeInet46NewConn,
nodeInet46Errors,
nodeInet46ResponseMin,
nodeInet46ResponseMax,
nodeInet46ResponseMean,
nodeInet46IdleConns,
nodeInet46CurrentConn,
perPoolNodeNumber ,
perPoolNodePoolName,
perPoolNodeNodeAddressType,
perPoolNodeNodeAddress,
perPoolNodeNodePort,
perPoolNodeNodeHostName,
perPoolNodeState,
perPoolNodeBytesToNode,
perPoolNodeBytesFromNode,
perPoolNodePktsToNode,
perPoolNodePktsFromNode,
perPoolNodeL4StatelessBuckets,
perPoolNodeCurrentRequests,
perPoolNodeTotalConn,
perPoolNodePooledConn,
perPoolNodeFailures,
perPoolNodeNewConn,
perPoolNodeErrors,
perPoolNodeResponseMin,
perPoolNodeResponseMax,
perPoolNodeResponseMean,
perPoolNodeIdleConns,
perPoolNodeCurrentConn,
trafficIPGatewayPingRequests,
trafficIPGatewayPingResponses,
trafficIPNodePingRequests,
trafficIPNodePingResponses,
trafficIPPingResponseErrors,
trafficIPARPMessage,
trafficIPNumberInet46,
trafficIPNumberRaisedInet46,
trafficIPInet46AddressType,
trafficIPInet46Address,
trafficIPInet46State,
trafficIPInet46Time,
serviceProtNumber,
serviceProtName,
serviceProtTotalRefusal,
serviceProtLastRefusalTime,
serviceProtRefusalIP,
serviceProtRefusalConc1IP,
serviceProtRefusalConc10IP,
serviceProtRefusalConnRate,
serviceProtRefusalRFC2396,
serviceProtRefusalSize,
serviceProtRefusalBinary,
serviceLevelNumber,
serviceLevelName,
serviceLevelTotalConn,
serviceLevelTotalNonConf,
serviceLevelResponseMin,
serviceLevelResponseMax,
serviceLevelResponseMean,
serviceLevelIsOK,
serviceLevelConforming,
serviceLevelCurrentConns,
perNodeServiceLevelInet46SLMName,
perNodeServiceLevelInet46NodeAddressType,
perNodeServiceLevelInet46NodeAddress,
perNodeServiceLevelInet46NodePort,
perNodeServiceLevelInet46TotalConn,
perNodeServiceLevelInet46TotalNonConf,
perNodeServiceLevelInet46ResponseMin,
perNodeServiceLevelInet46ResponseMax,
perNodeServiceLevelInet46ResponseMean,
bandwidthClassNumber,
bandwidthClassName,
bandwidthClassMaximum,
bandwidthClassGuarantee,
bandwidthClassBytesOut,
bandwidthClassPktsDrop,
bandwidthClassBytesDrop,
rateClassNumber,
rateClassName,
rateClassMaxRatePerMin,
rateClassMaxRatePerSec,
rateClassQueueLength,
rateClassCurrentRate,
rateClassDropped,
rateClassConnsEntered,
rateClassConnsLeft,
userCounterNumber,
userCounterName,
userCounterValue,
userCounter64Name,
userCounter64Value,
interfaceNumber,
interfaceName,
interfaceRxPackets,
interfaceTxPackets,
interfaceRxErrors,
interfaceTxErrors,
interfaceCollisions,
interfaceRxBytes,
interfaceTxBytes,
webCacheHits,
webCacheMisses,
webCacheLookups,
webCacheMemUsed,
webCacheMemMaximum,
webCacheHitRate,
webCacheEntries,
webCacheMaxEntries,
webCacheOldest,
webCacheURLStoreAllocated,
webCacheURLStoreFree,
webCacheURLStoreSize,
webCacheURLStoreTotalAllocations,
webCacheURLStoreTotalFailures,
webCacheURLStoreTotalFrees,
sslCacheHits,
sslCacheMisses,
sslCacheLookups,
sslCacheHitRate,
sslCacheEntries,
sslCacheEntriesMax,
sslCacheOldest,
aspSessionCacheHits,
aspSessionCacheMisses,
aspSessionCacheLookups,
aspSessionCacheHitRate,
aspSessionCacheEntries,
aspSessionCacheEntriesMax,
aspSessionCacheOldest,
ipSessionCacheHits,
ipSessionCacheMisses,
ipSessionCacheLookups,
ipSessionCacheHitRate,
ipSessionCacheEntries,
ipSessionCacheEntriesMax,
ipSessionCacheOldest,
j2eeSessionCacheHits,
j2eeSessionCacheMisses,
j2eeSessionCacheLookups,
j2eeSessionCacheHitRate,
j2eeSessionCacheEntries,
j2eeSessionCacheEntriesMax,
j2eeSessionCacheOldest,
uniSessionCacheHits,
uniSessionCacheMisses,
uniSessionCacheLookups,
uniSessionCacheHitRate,
uniSessionCacheEntries,
uniSessionCacheEntriesMax,
uniSessionCacheOldest,
sslSessionCacheHits,
sslSessionCacheMisses,
sslSessionCacheLookups,
sslSessionCacheHitRate,
sslSessionCacheEntries,
sslSessionCacheEntriesMax,
sslSessionCacheOldest,
ruleNumber,
ruleName,
ruleExecutions,
ruleAborts,
ruleResponds,
rulePoolSelect,
ruleRetries,
ruleDiscards,
ruleExecutionTimeWarnings,
monitorNumber,
monitorName,
licensekeyNumber,
licensekeyName,
zxtmNumber,
zxtmName,
glbServiceNumber,
glbServiceName,
glbServiceResponses,
glbServiceUnmodified,
glbServiceDiscarded,
perLocationServiceLocationName,
perLocationServiceLocationCode,
perLocationServiceName,
perLocationServiceDraining,
perLocationServiceState,
perLocationServiceFrontendState,
perLocationServiceMonitorState,
perLocationServiceLoad,
perLocationServiceResponses,
locationName,
locationCode,
locationLoad,
locationResponses,
eventNumber,
eventName,
eventsMatched,
actionNumber,
actionName,
actionsProcessed,
fullLogLine,
confName,
customEventName,
cloudcredentialsClassNumber,
cloudcredentialsName,
cloudcredentialsStatusRequests,
cloudcredentialsNodeCreations,
cloudcredentialsNodeDeletions,
domainName,
listenIPAddressType,
listenIPAddress,
listenIPBytesIn,
listenIPBytesOut,
listenIPCurrentConn,
listenIPTotalRequests,
listenIPMaxConn,
hourlyPeakBytesInPerSecond,
hourlyPeakBytesOutPerSecond,
hourlyPeakRequestsPerSecond,
hourlyPeakSSLConnectionsPerSecond,
numberSNMPGetBulkRequests,
authenticatorNumber,
authenticatorName,
authenticatorRequests,
authenticatorPasses,
authenticatorFails,
authenticatorErrors,
steelheadNumber,
steelheadName,
steelheadOptimized,
virtualserverCertStatusRequests,
virtualserverCertStatusResponses,
sslOcspStaplingCacheCount,
sslOcspStaplingCount,
sslOcspStaplingSuccessCount,
sslOcspStaplingFailureCount,
sslOcspStaplingGoodCount,
sslOcspStaplingRevokedCount,
sslOcspStaplingUnknownCount,
sslCipherDSASigns,
sslCipherDSAVerifies,
sslHandshakeTLSv12,
sslCipherDHGenerates,
sslCipherDHAgreements,
sslCipherAESGCMEncrypts,
sslCipherAESGCMDecrypts,
sslCipherECDHGenerates,
sslCipherECDHAgreements,
sslCipherECDSASigns,
sslCipherECDSAVerifies,
dataPlaneAccelCoreNumber,
coreId,
coreUtilizationPercent
   }
   STATUS current
   DESCRIPTION "Main conformance group"
   ::= { conformanceGroups 1 }

deprecatedGroup OBJECT-GROUP
   OBJECTS {
sslSessionIDDiskCacheHit,
sslSessionIDDiskCacheMiss
   }
   STATUS deprecated
   DESCRIPTION "Deprecated objects"
   ::= { conformanceGroups 2 }

obsoleteGroup OBJECT-GROUP
   OBJECTS {
nodeNumber,
nodeIPAddress,
nodePort,
nodeHostName,
nodeState,
nodeBytesToNodeLo,
nodeBytesToNodeHi,
nodeBytesFromNodeLo,
nodeBytesFromNodeHi,
nodeCurrentRequests,
nodeTotalConn,
nodePooledConn,
nodeFailures,
nodeNewConn,
nodeErrors,
nodeResponseMin,
nodeResponseMax,
nodeResponseMean,
nodeCurrentConn,
trafficIPNumber,
trafficIPNumberRaised,
trafficIPAddress,
trafficIPTime,
trafficIPState,
perNodeServiceLevelSLMName,
perNodeServiceLevelNodeIPAddr,
perNodeServiceLevelNodePort,
perNodeServiceLevelTotalConn,
perNodeServiceLevelTotalNonConf,
perNodeServiceLevelResponseMin,
perNodeServiceLevelResponseMax,
perNodeServiceLevelResponseMean,
totalBytesInLo,
totalBytesInHi,
totalBytesOutLo,
totalBytesOutHi,
virtualserverBytesInLo,
virtualserverBytesInHi,
virtualserverBytesOutLo,
virtualserverBytesOutHi,
virtualserverPktsInLo,
virtualserverPktsInHi,
virtualserverPktsOutLo,
virtualserverPktsOutHi,
virtualserverGzipBytesSavedLo,
virtualserverGzipBytesSavedHi,
virtualserverTotalConn,
virtualserverTotalRequestsLo,
virtualserverTotalRequestsHi,
virtualserverTotalHTTPRequestsLo,
virtualserverTotalHTTPRequestsHi,
virtualserverTotalHTTP1RequestsLo,
virtualserverTotalHTTP1RequestsHi,
virtualserverTotalHTTP2RequestsLo,
virtualserverTotalHTTP2RequestsHi,
virtualserverBwLimitPktsDropLo,
virtualserverBwLimitPktsDropHi,
virtualserverBwLimitBytesDropLo,
virtualserverBwLimitBytesDropHi,
poolBytesInLo,
poolBytesInHi,
poolBytesOutLo,
poolBytesOutHi,
poolBwLimitPktsDropLo,
poolBwLimitPktsDropHi,
poolBwLimitBytesDropLo,
poolBwLimitBytesDropHi,
nodeInet46BytesToNodeLo,
nodeInet46BytesToNodeHi,
nodeInet46BytesFromNodeLo,
nodeInet46BytesFromNodeHi,
perPoolNodeBytesToNodeLo,
perPoolNodeBytesToNodeHi,
perPoolNodeBytesFromNodeLo,
perPoolNodeBytesFromNodeHi,
perPoolNodePktsToNodeLo,
perPoolNodePktsToNodeHi,
perPoolNodePktsFromNodeLo,
perPoolNodePktsFromNodeHi,
bandwidthClassBytesOutLo,
bandwidthClassBytesOutHi,
bandwidthClassPktsDropLo,
bandwidthClassPktsDropHi,
bandwidthClassBytesDropLo,
bandwidthClassBytesDropHi,
interfaceRxBytesLo,
interfaceRxBytesHi,
interfaceTxBytesLo,
interfaceTxBytesHi,
webCacheHitsLo,
webCacheHitsHi,
webCacheMissesLo,
webCacheMissesHi,
webCacheLookupsLo,
webCacheLookupsHi,
listenIPBytesInLo,
listenIPBytesInHi,
listenIPBytesOutLo,
listenIPBytesOutHi,
listenIPTotalConn,
listenIPTotalRequestsLo,
listenIPTotalRequestsHi,
sslHandshakeSSLv2
   }
   STATUS obsolete
   DESCRIPTION "Deprecated objects"
   ::= { conformanceGroups 3 }

notificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
testaction,
running,
fewfreefds,
restartrequired,
upgradereboot,
sysctlreboot,
upgraderestart,
unspecifiedreboot,
timemovedback,
sslfail,
appliance,
zxtmswerror,
customevent,
versionmismatch,
autherror,
machineok,
machinetimeout,
machinefail,
allmachinesok,
flipperbackendsworking,
flipperfrontendsworking,
pingbackendfail,
pingfrontendfail,
pinggwfail,
statebaddata,
stateconnfail,
stateok,
statereadfail,
statetimeout,
stateunexpected,
statewritefail,
activatealldead,
machinerecovered,
flipperrecovered,
activatedautomatically,
zclustermoderr,
ec2flipperraiselocalworking,
ec2flipperraiseothersdead,
ec2iperr,
dropec2ipwarn,
ec2nopublicip,
ec2nosecondaryprivateip,
ec2dataretrievalfailed,
ec2dataretrievalsuccessful,
ec2initialized,
gcedataretrievalfailed,
gcedataretrievalsuccessful,
multihostload,
sslhwfail,
sslhwrestart,
sslhwstart,
confdel,
confmod,
confadd,
confok,
confreptimeout,
confrepfailed,
javadied,
javastop,
javastartfail,
javaterminatefail,
javanotfound,
javastarted,
servleterror,
monitorfail,
monitorok,
rulexmlerr,
pooluseunknown,
ruleabort,
rulebufferlarge,
rulebodycomperror,
forwardproxybadhost,
invalidemit,
rulenopersistence,
rulelogmsginfo,
rulelogmsgwarn,
rulelogmsgserious,
norate,
poolactivenodesunknown,
datastorefull,
ruleoverrun,
rulestreamerrortoomuch,
rulestreamerrornotenough,
rulestreamerrorprocessfailure,
rulestreamerrornotstarted,
rulestreamerrornotfinished,
rulestreamerrorinternal,
rulestreamerrorgetresponse,
rulesinvalidrequestbody,
serviceruleabort,
servicerulelocunknown,
servicerulelocnotconfigured,
servicerulelocdead,
expired,
licensecorrupt,
expiresoon,
usinglicense,
licenseclustertoobig,
unlicensed,
usingdevlicense,
morememallowed,
lessmemallowed,
cachesizereduced,
tpslimited,
ssltpslimited,
bwlimited,
licensetoomanylocations,
autoscalinglicenseerror,
autoscalinglicenseenabled,
autoscalinglicensedisabled,
analyticslicenseenabled,
analyticslicensedisabled,
poolnonodes,
poolok,
pooldied,
noderesolvefailure,
noderesolvemultiple,
nodeworking,
nostarttls,
nodefail,
starttlsinvalid,
ehloinvalid,
usedcredsdeleted,
autoscalestatusupdateerror,
autoscaleresponseparseerror,
autoscalingchangeprocessfailure,
autoscalewrongimageid,
autoscalewrongname,
autoscalewrongsizeid,
apistatusprocesshanging,
autonodedestructioncomplete,
autonodeexisted,
autoscaledpooltoosmall,
autoscaleinvalidargforcreatenode,
autonodedisappeared,
autonoderemoved,
nameserverunavailable,
nameserveravailable,
autoscaleresolvefailure,
autoscaledpoolrefractory,
cannotshrinkemptypool,
autoscalinghysteresiscantgrow,
autonodecreationcomplete,
autonodestatuschange,
autoscalinghysteresiscantshrink,
autoscalingpoolstatechange,
autonodedestroyed,
autonodecreationstarted,
autoscaleinvalidargfordeletenode,
autoscalinghitroof,
autoscalinghitfloor,
apichangeprocesshanging,
autoscaledpooltoobig,
autoscalingprocesstimedout,
autoscalingdisabled,
autoscalednodecontested,
autoscalepoolconfupdate,
flipperraiselocalworking,
flipperraiseothersdead,
flipperraiseosdrop,
dropipinfo,
dropipwarn,
flipperdadreraise,
flipperipexists,
triggersummary,
slmclasslimitexceeded,
slmrecoveredwarn,
slmrecoveredserious,
slmfallenbelowwarn,
slmfallenbelowserious,
vscrloutofdate,
vsstart,
vsstop,
privkeyok,
ssldrop,
vslogwritefail,
vssslcertexpired,
vssslcerttoexpire,
vscacertexpired,
vscacerttoexpire,
glbmissingips,
glbdeadlocmissingips,
glbnolocations,
locationmonitorok,
locationmonitorfail,
locationok,
locationfail,
locationsoapok,
locationsoapfail,
glbnewmaster,
glblogwritefail,
glbfailalter,
glbservicedied,
glbserviceok,
locmovemachine,
locempty,
glbtoomanylocations,
dnszonevalidate,
dnszonecreaterecord,
dnserroraddzone,
dnsaddzone,
dnszoneparse,
dnszonedelete,
dnserrordeletezone,
maxclientbufferdrop,
respcompfail,
responsetoolarge,
sipstreamnoports,
rtspstreamnoports,
geodataloadfail,
poolpersistencemismatch,
connerror,
connfail,
badcontentlen,
logfiledeleted,
license-graceperiodexpired,
license-authorized,
license-rejected-authorized,
license-rejected-unauthorized,
license-timedout-authorized,
license-timedout-unauthorized,
license-unauthorized,
logdiskoverload,
logdiskfull,
aptimizeuseunknownprofile,
aptimizedisabled,
aptimizeuseunknownscope,
sslhandshakemsgsizelimit,
sslcrltoobig,
childcommsfail,
sslrehandshakemininterval,
datalocalstorefull,
fipsfailinit,
fipsfailops,
ocspstaplingfail,
ocspstaplingnomem,
ocspstaplingrevoked,
ocspstaplingunknown,
ocspstaplingunrevoked,
flipperraiseremotedropped,
autofailbacktimerstarted,
autofailbacktimerstopped,
autofailbackafterdelay,
autofailbacktimercancelled,
autoscalingresuscitatepool,
license-rejected-unauthorized-ts,
license-authorized-ts,
license-rejected-authorized-ts,
license-timedout-authorized-ts,
license-timedout-unauthorized-ts,
license-graceperiodexpired-ts,
license-explicitlydisabled-ts,
numnodes-exceeded,
numpools-exceeded,
numlocations-exceeded,
numtipg-exceeded,
zxtmhighload,
clocknotmonotonic,
clockjump,
pingsendfail,
autonodenopublicip,
routingswoperational,
routingswfailurelimitreached,
routingswfailed,
routingswstartfailed,
appfirewallcontrolstarted,
appfirewallcontrolstopped,
appfirewallcontrolrestarted,
appfirewallcontroltimeout,
appfirewallcontrolerror,
ospfneighborsok,
ospfneighborsdegraded,
ospfneighborsfailed,
bgpneighborsok,
bgpneighborsdegraded,
bgpneighborsfailed,
bgpnoneighbors,
dnssecexpired,
dnssecexpires,
glbactivedcmismatch,
locationdraining,
locationnotdraining,
locationdisabled,
locationenabled,
locationunavailable,
locationavailable,
glbmanualfailback,
nodedrainingtodelete,
nodedrainingtodeletetimeout,
zxtmcpustarvation
   }
   STATUS current
   DESCRIPTION "Notification group"
   ::= { conformanceGroups 4 }

obsoleteNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
ec2vpceipassocerr,
ec2vpciderr,
rebootrequired,
dnszoneparsechild
   }
   STATUS obsolete
   DESCRIPTION "Obsolete notification group"
   ::= { conformanceGroups 5 }

deprecatedNotificationGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
hardware,
childhung,
childkilled
   }
   STATUS deprecated
   DESCRIPTION "Deprecated notification group"
   ::= { conformanceGroups 6 }

compliance MODULE-COMPLIANCE
   STATUS current
   DESCRIPTION "Compliance statement"
   MODULE ZXTM-MIB-SMIv2
   MANDATORY-GROUPS { mainGroup, notificationGroup }
   ::= { complianceStatements 1 }

deprecatedCompliance MODULE-COMPLIANCE
   STATUS deprecated
   DESCRIPTION "Compliance statement"
   MODULE ZXTM-MIB-SMIv2
   MANDATORY-GROUPS { deprecatedGroup, deprecatedNotificationGroup }
   ::= { complianceStatements 2 }

obsoleteCompliance MODULE-COMPLIANCE
   STATUS obsolete
   DESCRIPTION "Compliance statement"
   MODULE ZXTM-MIB-SMIv2
   MANDATORY-GROUPS { obsoleteGroup, obsoleteNotificationGroup }
   ::= { complianceStatements 3 }

--=============================================================================
-- MIB for ZXTM
--=============================================================================

-- Root OID: .1.3.6.1.4.1.7146.1.2

--=============================================================================
-- Globals
--=============================================================================

--------------------------
-- Info
--------------------------

version OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The Brocade Virtual Traffic Manager version."
   ::= { globals 1 }

numberChildProcesses OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of traffic manager child processes."
   ::= { globals 2 }

upTime OBJECT-TYPE
   SYNTAX TimeTicks
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The time (in hundredths of a second) that vTM software has been
       operational for (this value will wrap if it has been running for more
       than 497 days)."
   ::= { globals 3 }

timeLastConfigUpdate OBJECT-TYPE
   SYNTAX TimeTicks
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The time (in hundredths of a second) since the configuration of
       traffic manager was updated (this value will wrap if no
       configuration changes are made for 497 days)."
   ::= { globals 4 }

--------------------------
-- Traffic
--------------------------
totalBytesIn OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received by the traffic manager from clients."
   ::= { globals 64 }

totalBytesInLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by the traffic manager from clients ( low 32bits )."
   ::= { globals 5 }

totalBytesInHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by the traffic manager from clients ( high 32bits )."
   ::= { globals 6 }

totalBytesOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent by the traffic manager to clients."
   ::= { globals 65 }

totalBytesOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by the traffic manager to clients ( low 32bits )."
   ::= { globals 7 }

totalBytesOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by the traffic manager to clients ( high 32bits )."
   ::= { globals 8 }

totalCurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of TCP connections currently established."
   ::= { globals 9 }

totalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of TCP connections received."
   ::= { globals 10 }

totalRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of TCP requests received."
   ::= { globals 127 }

totalTransactions OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of TCP requests being processed, after applying TPS limits."
   ::= { globals 128 }

hourlyPeakBytesInPerSecond OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The peak bytes received from clients per second in the last hour."
   ::= { globals 129 }

hourlyPeakBytesOutPerSecond OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The peak bytes sent to clients per second in the last hour."
   ::= { globals 130 }

hourlyPeakRequestsPerSecond OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The peak requests per second in the last hour."
   ::= { globals 131 }

hourlyPeakSSLConnectionsPerSecond OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The peak ssl connections per second in the last hour."
   ::= { globals 132 }


--------------------------
-- DNS
--------------------------
numberDNSARequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests for DNS A records (hostname->IP address) made by the traffic manager."
   ::= { globals 11 }

numberDNSACacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests for DNS A records resolved from the traffic manager's local cache."
   ::= { globals 12 }

numberDNSPTRRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests for DNS PTR records (IP address->hostname) made by the traffic manager."
   ::= { globals 13 }

numberDNSPTRCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests for DNS PTR records resolved from the traffic manager's local cache."
   ::= { globals 14 }


--------------------------
-- SNMP
--------------------------

numberSNMPUnauthorisedRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "SNMP requests dropped due to access restrictions."
   ::= { globals 15 }
   
numberSNMPBadRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Malformed SNMP requests received."
   ::= { globals 16 }

numberSNMPGetRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "SNMP GetRequests received."
   ::= { globals 17 }

numberSNMPGetNextRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "SNMP GetNextRequests received."
   ::= { globals 18 }

numberSNMPGetBulkRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "SNMP GetBulkRequests received."
   ::= { globals 66 }


--------------------------
-- SSL
--------------------------

sslCipherEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
       "Bytes encrypted with a symmetric cipher."
   ::= { globals 19 }

sslCipherDecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
       "Bytes decrypted with a symmetric cipher."
   ::= { globals 20 }


sslCipherRC4Encrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes encrypted with RC4."
   ::= { globals 21 }

sslCipherRC4Decrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes decrypted with RC4."
   ::= { globals 22 }

sslCipherDESEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes encrypted with DES."
   ::= { globals 23 }

sslCipherDESDecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes decrypted with DES."
   ::= { globals 24 }

sslCipher3DESEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes encrypted with 3DES."
   ::= { globals 25 }

sslCipher3DESDecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes decrypted with 3DES."
   ::= { globals 26 }

sslCipherAESEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes encrypted with AES."
   ::= { globals 27 }

sslCipherAESDecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes decrypted with AES."
   ::= { globals 28 }

sslCipherRSAEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of RSA encrypts."
   ::= { globals 29 }

sslCipherRSADecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of RSA decrypts."
   ::= { globals 30 }

sslCipherRSADecryptsExternal OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of external RSA decrypts."
   ::= { globals 31 }

sslHandshakeSSLv2 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Formerly provided the number of SSLv2 handshakes, now deprecated."
   ::= { globals 32 }

sslHandshakeSSLv3 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of SSLv3 handshakes."
   ::= { globals 33 }


sslHandshakeTLSv1 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of TLSv1.0 handshakes."
   ::= { globals 34 }


sslClientCertNotSent OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a client certificate was required but not supplied."
   ::= { globals 35 }

sslClientCertInvalid OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a client certificate was invalid."
   ::= { globals 36 }


sslClientCertExpired OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a client certificate has expired."
   ::= { globals 37 }

sslClientCertRevoked OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a client certificate was revoked."
   ::= { globals 38 }


sslSessionIDMemCacheHit OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times the SSL session id was found in the cache and reused."
   ::= { globals 39 }

sslSessionIDMemCacheMiss OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times the SSL session id was not found in the cache."
   ::= { globals 40 }

sslSessionIDDiskCacheHit OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS deprecated
   DESCRIPTION
      "Number of times the SSL session id was found in the disk cache and reused (deprecated, will always return 0)."
   ::= { globals 41 }

sslSessionIDDiskCacheMiss OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS deprecated
   DESCRIPTION
      "Number of times the SSL session id was not found in the disk cache (deprecated, will always return 0)."
   ::= { globals 42 }
   

sslHandshakeTLSv11 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of TLSv1.1 handshakes."
   ::= { globals 43 }


sslConnections OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of SSL connections negotiated."
   ::= { globals 44 }

sslCipherRSAEncryptsExternal OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of external RSA encrypts."
   ::= { globals 57 }

sslCipherDSASigns OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of DSA signing operations."
   ::= { globals 67 }

sslCipherDSAVerifies OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of DSA verifications."
   ::= { globals 68 }

sslHandshakeTLSv12 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of TLSv1.2 handshakes."
   ::= { globals 69 }

sslCipherDHGenerates OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Diffie Hellman keys generated."
   ::= { globals 70 }

sslCipherDHAgreements OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Diffie Hellman key agreements."
   ::= { globals 71 }


sslCipherAESGCMEncrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes encrypted with AES-GCM."
   ::= { globals 72 }

sslCipherAESGCMDecrypts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes decrypted with AES-GCM."
   ::= { globals 73 }

sslCipherECDHGenerates OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Elliptic Curve Diffie Hellman keys generated."
   ::= { globals 74 }

sslCipherECDHAgreements OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Elliptic Curve Diffie Hellman key agreements."
   ::= { globals 75 }

sslCipherECDSASigns OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ECDSA signing operations."
   ::= { globals 76 }

sslCipherECDSAVerifies OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ECDSA verifications."
   ::= { globals 77 }

--=============================================================================
-- System counters
--=============================================================================

sysCPUIdlePercent OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage of time that the CPUs are idle."
   ::= { globals 45 }

sysCPUBusyPercent OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage of time that the CPUs are busy."
   ::= { globals 46 }

sysCPUUserBusyPercent OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage of time that the CPUs are busy running user-space code."
   ::= { globals 47 }

sysCPUSystemBusyPercent OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage of time that the CPUs are busy running system code."
   ::= { globals 48 }

sysFDsFree OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of free file descriptors."
   ::= { globals 49 }

sysMemTotal OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total memory (MBytes)."
   ::= { globals 50 }

sysMemFree OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Free memory (MBytes)."
   ::= { globals 51 }

sysMemInUse OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Memory used (MBytes)."
   ::= { globals 52 }

sysMemBuffered OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Buffer memory (MBytes)."
   ::= { globals 53 }

sysMemSwapped OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Amount of swap space in use (MBytes)."
   ::= { globals 54 }

sysMemSwapTotal OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total swap space (MBytes)."
   ::= { globals 55 }

numIdleConnections OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of idle HTTP connections to all nodes (used for future HTTP requests)."
   ::= { globals 56 }

dataEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of entries in the TrafficScript data.get()/set() storage."
   ::= { globals 58 }

dataMemoryUsage OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of bytes used in the TrafficScript data.get()/set() storage."
   ::= { globals 59 }

--=============================================================================
-- Events
--=============================================================================

eventsSeen OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Events seen by the traffic Manager's event handling process."
   ::= { globals 60 }

--=============================================================================
-- DNS
--=============================================================================

totalDNSResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of DNS response packets handled."
   ::= { globals 61 }

totalBadDNSPackets OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of malformed DNS response packets encountered from the backend servers."
   ::= { globals 62 }

totalBackendServerErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total errors returned from the backend servers."
   ::= { globals 63 }

--=============================================================================
-- Virtual Servers
--=============================================================================

virtualserverNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of virtual servers."
   ::= { virtualservers 1 }

--======================
-- Virtual Server Table
--======================
virtualserverTable OBJECT-TYPE
   SYNTAX SEQUENCE OF VirtualserverEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table gives information and statistics for the virtual
       servers the traffic manager is hosting."
   ::= { virtualservers 2 }

virtualserverEntry OBJECT-TYPE
   SYNTAX VirtualserverEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the virtual servers table."
   INDEX { virtualserverName }
   ::= { virtualserverTable 1 }

VirtualserverEntry ::= SEQUENCE {
      virtualserverName    DisplayString,
      virtualserverPort    Integer32,
      virtualserverProtocol    Integer32,
      virtualserverDefaultTrafficPool     DisplayString,
      virtualserverBytesInLo        Counter32,
      virtualserverBytesInHi        Counter32,
      virtualserverBytesOutLo       Counter32,
      virtualserverBytesOutHi       Counter32,
      virtualserverCurrentConn      Gauge32,
      virtualserverMaxConn          Gauge32,
      virtualserverTotalConn        Counter32,
      virtualserverDiscard          Counter32,
      virtualserverDirectReplies    Counter32,
      virtualserverConnectTimedOut   Counter32,
      virtualserverDataTimedOut      Counter32,
      virtualserverKeepaliveTimedOut Counter32,
      virtualserverUdpTimedOut      Counter32,
      virtualserverTotalDgram       Counter32,
      virtualserverGzip             Counter32,
      virtualserverGzipBytesSavedLo Counter32,
      virtualserverGzipBytesSavedHi Counter32,
      virtualserverHttpRewriteLocation Counter32,
      virtualserverHttpRewriteCookie Counter32,
      virtualserverHttpCacheHits    Counter32,
      virtualserverHttpCacheLookups Counter32,
      virtualserverHttpCacheHitRate Gauge32,
      virtualserverSIPTotalCalls    Counter32,
      virtualserverSIPRejectedRequests Counter32,
      virtualserverConnectionErrors Counter32,
      virtualserverConnectionFailures Counter32,
      virtualserverBytesIn          Counter64,
      virtualserverBytesOut         Counter64,
      virtualserverGzipBytesSaved   Counter64,
      virtualserverCertStatusRequests Counter32,
      virtualserverCertStatusResponses Counter32,
      virtualserverMaxDurationTimedOut Counter32,
      virtualserverProcessingTimedOut Counter32,
      virtualserverTotalRequestsLo     Counter32,
      virtualserverTotalRequestsHi     Counter32,
      virtualserverTotalRequests       Counter64,
      virtualserverTotalHTTPRequestsLo Counter32,
      virtualserverTotalHTTPRequestsHi Counter32,
      virtualserverTotalHTTPRequests   Counter64,
      virtualserverTotalHTTP1RequestsLo Counter32,
      virtualserverTotalHTTP1RequestsHi Counter32,
      virtualserverTotalHTTP1Requests   Counter64,
      virtualserverTotalHTTP2RequestsLo Counter32,
      virtualserverTotalHTTP2RequestsHi Counter32,
      virtualserverTotalHTTP2Requests   Counter64,
      virtualserverPktsInLo        Counter32,
      virtualserverPktsInHi        Counter32,
      virtualserverPktsOutLo       Counter32,
      virtualserverPktsOutHi       Counter32,
      virtualserverPktsIn          Counter64,
      virtualserverPktsOut         Counter64,
      virtualserverL4TCPConnectResets  Counter32,
      virtualserverL4UDPUnreachables  Counter32,
      virtualserverBwLimitPktsDrop    Counter64,
      virtualserverBwLimitPktsDropLo  Counter32,
      virtualserverBwLimitPktsDropHi   Counter32,
      virtualserverBwLimitBytesDrop   Counter64,
      virtualserverBwLimitBytesDropLo  Counter32,
      virtualserverBwLimitBytesDropHi  Counter32
}

virtualserverName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the virtual server."
   ::= { virtualserverEntry 1 }

virtualserverPort OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The port the virtual server listens on."
   ::= { virtualserverEntry 2 }

virtualserverProtocol OBJECT-TYPE
   SYNTAX INTEGER { http(1),
                    https(2),
                    ftp(3),
                    imaps(4),
                    imapv2(5),
                    imapv3(6),
                    imapv4(7),
                    pop3(8),
                    pop3s(9),
                    smtp(10),
                    ldap(11),
                    ldaps(12),
                    telnet(13),
                    sslforwarding(14),
                    udpstreaming(15),
                    udp(16),
                    dns(17),
                    genericserverfirst(18),
                    genericclientfirst(19),
                    dnstcp(20),
                    sipudp(21),
                    siptcp(22),
                    rtsp(23),
                    stream(24),
                    l4acceltcp(25),
                    l4acceludp(26),
                    l4accelgeneric(27),
                    l4accelstateless(28) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The protocol the virtual server is operating."
   ::= { virtualserverEntry 3 }

virtualserverDefaultTrafficPool OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The virtual server's default pool."
   ::= { virtualserverEntry 4 }

virtualserverBytesInLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this virtual server from clients ( low 32bits )."
   ::= { virtualserverEntry 5 }

virtualserverBytesInHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this virtual server from clients ( high 32bits )."
   ::= { virtualserverEntry 6 }

virtualserverBytesOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by this virtual server to clients ( low 32bits )."
   ::= { virtualserverEntry 7 }

virtualserverBytesOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by this virtual server to clients ( high 32bits )."
   ::= { virtualserverEntry 8 }

virtualserverCurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "TCP connections currently established to this virtual server."
   ::= { virtualserverEntry 9 }

virtualserverMaxConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum number of simultaneous TCP connections this virtual
      server has processed at any one time."
    ::= { virtualserverEntry 10 }

virtualserverTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Formerly provided the number of requests received by this virtual server, now deprecated."
   ::= { virtualserverEntry 11 }

virtualserverDiscard OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections discarded by this virtual server."
   ::= { virtualserverEntry 12 }

virtualserverDirectReplies OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Direct replies from this virtual server, without forwarding to a node."
   ::= { virtualserverEntry 13 }

virtualserverConnectTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the 'connect_timeout'
      interval was exceeded."
   ::= { virtualserverEntry 14 }

virtualserverDataTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the 'timeout'
      interval was exceeded."
   ::= { virtualserverEntry 15 }

virtualserverKeepaliveTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the 'keepalive_timeout'
      interval was exceeded."
   ::= { virtualserverEntry 16 }

virtualserverUdpTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the 'udp_timeout'
      interval was exceeded."
   ::= { virtualserverEntry 17 }

virtualserverTotalDgram OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "UDP datagrams processed by this virtual server."
   ::= { virtualserverEntry 18 }

virtualserverGzip OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Responses which have been compressed by content compression."
   ::= { virtualserverEntry 19 }

virtualserverGzipBytesSavedLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes of network traffic saved by content compression ( low 32bits )."
   ::= { virtualserverEntry 20 }

virtualserverGzipBytesSavedHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes of network traffic saved by content compression ( high 32bits )."
   ::= { virtualserverEntry 21 }

virtualserverHttpRewriteLocation OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP Location headers, supplied by a node, that have been rewritten."
   ::= { virtualserverEntry 22 }

virtualserverHttpRewriteCookie OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP Set-Cookie headers, supplied by a node, that have been rewritten."
   ::= { virtualserverEntry 23 }

virtualserverHttpCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP responses sent directly from the web cache by this virtual server."
   ::= { virtualserverEntry 24 }

virtualserverHttpCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP requests that are looked up in the web cache by this virtual server."
   ::= { virtualserverEntry 25 }

virtualserverHttpCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage hit rate of the web cache for this virtual server."
   ::= { virtualserverEntry 26 }

virtualserverSIPTotalCalls OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of SIP INVITE requests seen by this virtual server."
   ::= { virtualserverEntry 27 }

virtualserverSIPRejectedRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of SIP requests rejected due to them exceeding the maximum amount of memory allocated to the connection."
   ::= { virtualserverEntry 28 }

virtualserverConnectionErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of transaction or protocol errors in this virtual server."
   ::= { virtualserverEntry 29 }


virtualserverConnectionFailures OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of connection failures in this virtual server."
   ::= { virtualserverEntry 30 }

virtualserverBytesIn OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received by this virtual server from clients."
   ::= { virtualserverEntry 31 }

virtualserverBytesOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent by this virtual server to clients."
   ::= { virtualserverEntry 32 }

virtualserverGzipBytesSaved OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes of network traffic saved by content compression."
   ::= { virtualserverEntry 33 }

virtualserverCertStatusRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of incoming TLS handshakes for this virtual server with certificate status requests."
   ::= { virtualserverEntry 34 }

virtualserverCertStatusResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of incoming TLS handshakes for this virtual server to which certificate status responses were attached."
   ::= { virtualserverEntry 35 }

virtualserverMaxDurationTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the
      'max_transaction_duration' interval was exceeded."
   ::= { virtualserverEntry 36 }

virtualserverProcessingTimedOut OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections closed by this virtual server because the 'timeout'
      interval was exceeded while waiting for rules or external processing."
   ::= { virtualserverEntry 37 }

virtualserverTotalRequestsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests received by this virtual server."
   ::= { virtualserverEntry 38 }

virtualserverTotalRequestsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests received by this virtual server."
   ::= { virtualserverEntry 39 }

virtualserverTotalRequests OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests received by this virtual server."
   ::= { virtualserverEntry 40 }

--=============================================================================
-- HTTP counters for all HTTP versions
--=============================================================================

virtualserverTotalHTTPRequestsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP Requests received by this virtual server."
   ::= { virtualserverEntry 41 }

virtualserverTotalHTTPRequestsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP Requests received by this virtual server."
   ::= { virtualserverEntry 42 }

virtualserverTotalHTTPRequests OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP Requests received by this virtual server."
   ::= { virtualserverEntry 43 }


--=============================================================================
-- HTTP/1.x counters
--=============================================================================

virtualserverTotalHTTP1RequestsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP/1.x Requests received by this virtual server."
   ::= { virtualserverEntry 44 }

virtualserverTotalHTTP1RequestsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP/1.x Requests received by this virtual server."
   ::= { virtualserverEntry 45 }

virtualserverTotalHTTP1Requests OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP/1.x Requests received by this virtual server."
   ::= { virtualserverEntry 46 }

--=============================================================================
-- HTTP/2 counters
--=============================================================================

virtualserverTotalHTTP2RequestsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP/2 Requests received by this virtual server."
   ::= { virtualserverEntry 47 }

virtualserverTotalHTTP2RequestsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "HTTP/2 Requests received by this virtual server."
   ::= { virtualserverEntry 48 }

virtualserverTotalHTTP2Requests OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "HTTP/2 Requests received by this virtual server."
   ::= { virtualserverEntry 49 }

virtualserverPktsInLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets received by this virtual server from clients ( low 32bits )."
   ::= { virtualserverEntry 50 }

virtualserverPktsInHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets received by this virtual server from clients ( high 32bits )."
   ::= { virtualserverEntry 51 }

virtualserverPktsOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets sent by this virtual server to clients ( low 32bits )."
   ::= { virtualserverEntry 52 }

virtualserverPktsOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets sent by this virtual server to clients ( high 32bits )."
   ::= { virtualserverEntry 53 }

virtualserverPktsIn OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Packets received by this virtual server from clients."
   ::= { virtualserverEntry 54 }

virtualserverPktsOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Packets sent by this virtual server to clients."
   ::= { virtualserverEntry 55 }

virtualserverL4TCPConnectResets OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections is reset by this virtual server because the forward traffic
      cannot be processed."
   ::= { virtualserverEntry 56 }

virtualserverL4UDPUnreachables OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "ICMP error response is sent to client by this virtual server because the
      forward traffic cannot be processed."
   ::= { virtualserverEntry 57 }

virtualserverBwLimitPktsDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Packets dropped by this virtual server due to BW Limits."
   ::= { virtualserverEntry 58 }

virtualserverBwLimitPktsDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of Packets dropped by this virtual server due to BW Limits ( low 32bits )."
   ::= { virtualserverEntry 59 }

virtualserverBwLimitPktsDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of Packets dropped by this virtual server due to BW Limits ( high 32bits )."
   ::= { virtualserverEntry 60 }

virtualserverBwLimitBytesDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of Bytes dropped by this virtual server due to BW Limits."
   ::= { virtualserverEntry 61 }

virtualserverBwLimitBytesDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of Bytes dropped by this virtual server due to BW Limits ( low 32bits )."
   ::= { virtualserverEntry 62 }

virtualserverBwLimitBytesDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of Bytes dropped by this virtual server due to BW Limits ( high 32bits )."
   ::= { virtualserverEntry 63 }

--=============================================================================
-- Pools
--=============================================================================

poolNumber OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of pools on this system."
   ::= { pools 1 }

-- Pool Table
poolTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PoolEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for pools."
   ::= { pools 2 }

poolEntry OBJECT-TYPE
   SYNTAX PoolEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the pools table."
   INDEX { poolName }
   ::= { poolTable 1 }

PoolEntry ::=
   SEQUENCE {
      poolName         DisplayString,
      poolAlgorithm    Integer32,
      poolNodes        Integer32,
      poolDraining     Integer32,
      poolFailPool     DisplayString,
      poolBytesInLo    Counter32,
      poolBytesInHi    Counter32,
      poolBytesOutLo   Counter32,
      poolBytesOutHi   Counter32,
      poolTotalConn    Counter32,
      poolPersistence  Integer32,
      poolSessionMigrated Counter32,
      poolDisabled     Integer32,
      poolState        Integer32,
      poolConnsQueued      Gauge32,
      poolQueueTimeouts    Counter32,
      poolMinQueueTime    Gauge32,
      poolMaxQueueTime    Gauge32,
      poolMeanQueueTime   Gauge32,
      poolBytesIn         Counter64,
      poolBytesOut        Counter64,
      poolBwLimitPktsDrop   Counter64,
      poolBwLimitPktsDropLo  Counter32,
      poolBwLimitPktsDropHi  Counter32,
      poolBwLimitBytesDrop   Counter64,
      poolBwLimitBytesDropLo  Counter32,
      poolBwLimitBytesDropHi  Counter32
   }

poolName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the pool."
   ::= { poolEntry 1 }

poolAlgorithm OBJECT-TYPE
   SYNTAX INTEGER { roundrobin(1),
                    weightedRoundRobin(2),
                    perceptive(3),
                    leastConnections(4),
                    fastestResponseTime(5),
                    random(6),
		    weightedLeastConnections(7) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The load-balancing algorithm the pool uses."
   ::= { poolEntry 2 }

poolNodes OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of nodes registered with this pool."
   ::= { poolEntry 3 }

poolDraining OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of nodes in this pool which are draining."
   ::= { poolEntry 4 }

poolFailPool OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of this pool's failure pool."
   ::= { poolEntry 5 }

poolBytesInLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this pool from nodes ( low 32bits )."
   ::= { poolEntry 6 }

poolBytesInHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this pool from nodes ( high 32bits )."
   ::= { poolEntry 7 }

poolBytesOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by this pool to nodes ( low 32bits )."
   ::= { poolEntry 8 }

poolBytesOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent by this pool to nodes ( high 32bits )."
   ::= { poolEntry 9 }

poolTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests sent to this pool."
   ::= { poolEntry 10 }

poolPersistence OBJECT-TYPE
   SYNTAX INTEGER { none(1),
                    ip(2),
                    rule(3),
                    transparent(4),
                    applicationCookie(5),
                    xZeusBackend(6),
                    ssl(7) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The session persistence method this pool uses"
   ::= { poolEntry 11 }

poolSessionMigrated OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Sessions migrated to a new node because
       the desired node was unavailable."
   ::= { poolEntry 12 }

poolDisabled OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of nodes in this pool that are disabled."
   ::= { poolEntry 13 }

poolState OBJECT-TYPE
   SYNTAX INTEGER { active(1),
                    disabled(2),
                    draining(3),
                    unused(4),
                    unknown(5) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The state of this pool."
   ::= { poolEntry 14 }

poolConnsQueued OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total connections currently queued to this pool."
    ::= { poolEntry 17 }

poolQueueTimeouts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total connections that timed-out while queued."
    ::= { poolEntry 18 }

poolMinQueueTime OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Minimum time a connection was queued for, over the last second."
    ::= { poolEntry 19 }

poolMaxQueueTime OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum time a connection was queued for, over the last second."
    ::= { poolEntry 20 }

poolMeanQueueTime OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Mean time a connection was queued for, over the last second."
    ::= { poolEntry 21 }

poolBytesIn OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received by this pool from nodes."
   ::= { poolEntry 22 }

poolBytesOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent by this pool to nodes."
   ::= { poolEntry 23 }

poolBwLimitPktsDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of packets dropped by this pool due to BW Limits."
   ::= { poolEntry 24 }
   
poolBwLimitPktsDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of packets dropped by this pool due to BW Limits ( low 32bits )."
   ::= { poolEntry 25 }

poolBwLimitPktsDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of packets dropped by this pool due to BW Limits ( high 32bits )."
   ::= { poolEntry 26 }
   
poolBwLimitBytesDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes dropped by this pool due to BW Limits."
   ::= { poolEntry 27 }
   
poolBwLimitBytesDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes dropped by this pool due to BW Limits ( low 32bits )."
   ::= { poolEntry 28 }
   
poolBwLimitBytesDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes dropped by this pool due to BW Limits ( high 32bits )."
   ::= { poolEntry 29 }

--=============================================================================
-- Nodes
--=============================================================================

nodeNumber OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The number of IPv4 nodes on this system."
   ::= { nodes 1 }


--=============================
-- Node Table (IPv4 nodes only)
--=============================
nodeTable OBJECT-TYPE
   SYNTAX SEQUENCE OF NodeEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This table defines all the information for a particular IPv4 node."
   ::= { nodes 2 }

nodeEntry OBJECT-TYPE
   SYNTAX NodeEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This defines a row in the IPv4 nodes table."
   INDEX { nodeIPAddress, nodePort }
   ::= { nodeTable 1 }

NodeEntry ::=
   SEQUENCE {
      nodeIPAddress        IpAddress,
      nodePort             Integer32,
      nodeHostName         DisplayString,
      nodeState            Integer32,
      nodeBytesToNodeLo    Counter32,
      nodeBytesToNodeHi    Counter32,
      nodeBytesFromNodeLo  Counter32,
      nodeBytesFromNodeHi  Counter32,
      nodeCurrentRequests  Gauge32,
      nodeTotalConn        Counter32,
      nodePooledConn       Counter32,
      nodeFailures         Counter32,
      nodeNewConn          Counter32,
      nodeErrors           Counter32,
      nodeResponseMin      Gauge32,
      nodeResponseMax      Gauge32,
      nodeResponseMean     Gauge32,
      nodeCurrentConn      Gauge32
   }

nodeIPAddress OBJECT-TYPE
   SYNTAX IpAddress
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The IPv4 address of this node."
   ::= { nodeEntry 1 }

nodePort OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The port this node listens on."
   ::= { nodeEntry 2 }

nodeHostName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The resolved name for this node."
   ::= { nodeEntry 3 }

nodeState OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2),
                    unknown(3) }
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The state of this node."
   ::= { nodeEntry 4 }

nodeBytesToNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( low 32bits )."
   ::= { nodeEntry 5 }

nodeBytesToNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( high 32bits )."
   ::= { nodeEntry 6 }

nodeBytesFromNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( low 32bits )."
   ::= { nodeEntry 7 }

nodeBytesFromNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( high 32bits )."
   ::= { nodeEntry 8 }

nodeCurrentRequests OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Connections currently established to this node."
   ::= { nodeEntry 9 }

nodeTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests sent to this node."
   ::= { nodeEntry 10 }

nodePooledConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests that reused an existing pooled/keepalive
       connection rather than creating a new TCP connection."
   ::= { nodeEntry 11 }

nodeFailures OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Failures of this node."
   ::= { nodeEntry 12 }

nodeNewConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests that created a new connection to this node."
   ::= { nodeEntry 13 }

nodeErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of timeouts, connection problems and other errors for this node."
   ::= { nodeEntry 14 }

nodeResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Minimum response time (ms) in the last second for this node."
   ::= { nodeEntry 15 }

nodeResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Maximum response time (ms) in the last second for this node."
   ::= { nodeEntry 16 }

nodeResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Mean response time (ms) in the last second for this node."
   ::= { nodeEntry 17 }

nodeNumberInet46  OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of nodes on this system (includes IPv4 and IPv6 nodes)."
   ::= { nodes 3 }

nodeCurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests currently established to this node. ( does not include idle keepalives )."
   ::= { nodeEntry 18 }


--=================================================
-- Node Table (IPv4 and IPv6 addresses are allowed)
--=================================================

nodeInet46Table OBJECT-TYPE
   SYNTAX SEQUENCE OF NodeInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table defines all the information for a particular node (includes IPv4 and IPv6 addresses)."
   ::= { nodes 4 }

nodeInet46Entry OBJECT-TYPE
   SYNTAX NodeInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the nodes table (includes IPv4 and IPv6 addresses)."
   INDEX { nodeInet46AddressType, nodeInet46Address, nodeInet46Port }
   ::= { nodeInet46Table 1 }

NodeInet46Entry ::=
   SEQUENCE {
      nodeInet46AddressType      InetAddressType,
      nodeInet46Address          InetAddress,
      nodeInet46Port             Integer32,
      nodeInet46HostName         DisplayString,
      nodeInet46State            Integer32,
      nodeInet46BytesToNodeLo    Counter32,
      nodeInet46BytesToNodeHi    Counter32,
      nodeInet46BytesFromNodeLo  Counter32,
      nodeInet46BytesFromNodeHi  Counter32,
      nodeInet46CurrentRequests  Gauge32,
      nodeInet46TotalConn        Counter32,
      nodeInet46PooledConn       Counter32,
      nodeInet46Failures         Counter32,
      nodeInet46NewConn          Counter32,
      nodeInet46Errors           Counter32,
      nodeInet46ResponseMin      Gauge32,
      nodeInet46ResponseMax      Gauge32,
      nodeInet46ResponseMean     Gauge32,
      nodeInet46IdleConns	 Gauge32,
      nodeInet46CurrentConn      Gauge32,
      nodeInet46BytesToNode      Counter64,
      nodeInet46BytesFromNode    Counter64
   }

nodeInet46AddressType OBJECT-TYPE
   SYNTAX InetAddressType
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IP address type of this node."
   ::= { nodeInet46Entry 1 }

nodeInet46Address OBJECT-TYPE
   SYNTAX InetAddress (SIZE (1..64))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IPv4 or IPv6 address of this node."
   ::= { nodeInet46Entry 2 }

nodeInet46Port OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The port this node listens on."
   ::= { nodeInet46Entry 3 }

nodeInet46HostName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The resolved name for this node."
   ::= { nodeInet46Entry 4 }

nodeInet46State OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2),
                    unknown(3) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The state of this node."
   ::= { nodeInet46Entry 5 }

nodeInet46BytesToNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( low 32bits )."
   ::= { nodeInet46Entry 6 }

nodeInet46BytesToNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( high 32bits )."
   ::= { nodeInet46Entry 7 }

nodeInet46BytesFromNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( low 32bits )."
   ::= { nodeInet46Entry 8 }

nodeInet46BytesFromNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( high 32bits )."
   ::= { nodeInet46Entry 9 }

nodeInet46CurrentRequests OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Active connections established to this node, does not include idle connections."
   ::= { nodeInet46Entry 10 }

nodeInet46TotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests sent to this node."
   ::= { nodeInet46Entry 11 }

nodeInet46PooledConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests that reused an existing pooled/keepalive
       connection rather than creating a new TCP connection."
   ::= { nodeInet46Entry 12 }

nodeInet46Failures OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Failures of this node."
   ::= { nodeInet46Entry 13 }

nodeInet46NewConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests that created a new connection to this node."
   ::= { nodeInet46Entry 14 }

nodeInet46Errors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of timeouts, connection problems and other errors for this node."
   ::= { nodeInet46Entry 15 }

nodeInet46ResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Minimum response time (ms) in the last second for this node."
   ::= { nodeInet46Entry 16 }

nodeInet46ResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum response time (ms) in the last second for this node."
   ::= { nodeInet46Entry 17 }

nodeInet46ResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Mean response time (ms) in the last second for this node."
   ::= { nodeInet46Entry 18 }

nodeInet46IdleConns OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Number of idle HTTP connections to this node."
    ::= { nodeInet46Entry 19 }

nodeInet46CurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Current connections established to this node, includes idle connections."
   ::= { nodeInet46Entry 20 }

nodeInet46BytesToNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent to this node."
   ::= { nodeInet46Entry 21 }

nodeInet46BytesFromNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received from this node."
   ::= { nodeInet46Entry 22 }



--=============================================================================
-- PerPoolNodes
--=============================================================================
perPoolNodeNumber  OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of nodes on this system."
   ::= { nodes 5 }


--======================================================
-- PerPoolNode Table
--======================================================

perPoolNodeTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PerPoolNodeEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table defines all the information for a particular node in a pool."
   ::= { nodes 6 }

perPoolNodeEntry OBJECT-TYPE
   SYNTAX PerPoolNodeEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the perPoolNodes table."
   INDEX { perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   ::= { perPoolNodeTable 1 }

PerPoolNodeEntry ::=
   SEQUENCE {
      perPoolNodePoolName         DisplayString,
      perPoolNodeNodeAddressType  InetAddressType,
      perPoolNodeNodeAddress      InetAddress,
      perPoolNodeNodePort         Integer32,
      perPoolNodeNodeHostName     DisplayString,
      perPoolNodeState            Integer32,
      perPoolNodeBytesToNodeLo    Counter32,
      perPoolNodeBytesToNodeHi    Counter32,
      perPoolNodeBytesFromNodeLo  Counter32,
      perPoolNodeBytesFromNodeHi  Counter32,
      perPoolNodeCurrentRequests  Gauge32,
      perPoolNodeTotalConn        Counter32,
      perPoolNodePooledConn       Counter32,
      perPoolNodeFailures         Counter32,
      perPoolNodeNewConn          Counter32,
      perPoolNodeErrors           Counter32,
      perPoolNodeResponseMin      Gauge32,
      perPoolNodeResponseMax      Gauge32,
      perPoolNodeResponseMean     Gauge32,
      perPoolNodeIdleConns        Gauge32,
      perPoolNodeCurrentConn      Gauge32,
      perPoolNodePktsToNodeLo     Counter32,
      perPoolNodePktsToNodeHi     Counter32,
      perPoolNodePktsFromNodeLo   Counter32,
      perPoolNodePktsFromNodeHi   Counter32,
      perPoolNodeL4StatelessBuckets Gauge32,
      perPoolNodeBytesToNode      Counter64,
      perPoolNodeBytesFromNode    Counter64,
      perPoolNodePktsToNode       Counter64,
      perPoolNodePktsFromNode     Counter64
   }

perPoolNodePoolName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the pool that this node belongs to."
   ::= { perPoolNodeEntry 1 }

perPoolNodeNodeAddressType OBJECT-TYPE
   SYNTAX InetAddressType
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IP address type of this node."
   ::= { perPoolNodeEntry 2 }

perPoolNodeNodeAddress OBJECT-TYPE
   SYNTAX InetAddress (SIZE (1..64))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IPv4 or IPv6 address of this node."
   ::= { perPoolNodeEntry 3 }

perPoolNodeNodePort OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The port that this node listens on."
   ::= { perPoolNodeEntry 4 }

perPoolNodeNodeHostName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name for this node provided in the configuration."
   ::= { perPoolNodeEntry 5 }

perPoolNodeState OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2),
                    unknown(3),
                    draining(4),
                    drainingtodelete(5) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The state of this node."
   ::= { perPoolNodeEntry 6 }

perPoolNodeBytesToNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( low 32bits )."
   ::= { perPoolNodeEntry 7 }

perPoolNodeBytesToNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this node ( high 32bits )."
   ::= { perPoolNodeEntry 8 }

perPoolNodeBytesFromNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( low 32bits )."
   ::= { perPoolNodeEntry 9 }

perPoolNodeBytesFromNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received from this node ( high 32bits )."
   ::= { perPoolNodeEntry 10 }

perPoolNodeCurrentRequests OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Active connections established to this node, does not include idle connections."
   ::= { perPoolNodeEntry 11 }

perPoolNodeTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests sent to this node."
   ::= { perPoolNodeEntry 12 }

perPoolNodePooledConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests that reused an existing pooled/keepalive
       connection rather than creating a new TCP connection."
   ::= { perPoolNodeEntry 13 }

perPoolNodeFailures OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Failures of this node."
   ::= { perPoolNodeEntry 14 }

perPoolNodeNewConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests that created a new connection to this node."
   ::= { perPoolNodeEntry 15 }

perPoolNodeErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of timeouts, connection problems and other errors for this node."
   ::= { perPoolNodeEntry 16 }

perPoolNodeResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Minimum response time (ms) in the last second for this node."
   ::= { perPoolNodeEntry 17 }

perPoolNodeResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum response time (ms) in the last second for this node."
   ::= { perPoolNodeEntry 18 }

perPoolNodeResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Mean response time (ms) in the last second for this node."
   ::= { perPoolNodeEntry 19 }

perPoolNodeIdleConns OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
   "Number of idle HTTP connections to this node."
   ::= { perPoolNodeEntry 20 }

perPoolNodeCurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Current connections established to a node, includes idle connections."
   ::= { perPoolNodeEntry 21 }

perPoolNodePktsToNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets sent to this node ( low 32bits )."
   ::= { perPoolNodeEntry 22 }

perPoolNodePktsToNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Packets sent to this node ( high 32bits )."
   ::= { perPoolNodeEntry 23 }

perPoolNodePktsFromNodeLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Pkts received from this node ( low 32bits )."
   ::= { perPoolNodeEntry 24 }

perPoolNodePktsFromNodeHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Pkts received from this node ( high 32bits )."
   ::= { perPoolNodeEntry 25 }

perPoolNodeL4StatelessBuckets OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of hash buckets occupied for this node for L4 stateless processing."
   ::= { perPoolNodeEntry 26 }

perPoolNodeBytesToNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent to this node."
   ::= { perPoolNodeEntry 27 }

perPoolNodeBytesFromNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received from this node."
   ::= { perPoolNodeEntry 28 }

perPoolNodePktsToNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Packets sent to this node."
   ::= { perPoolNodeEntry 29 }

perPoolNodePktsFromNode OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Packets received from this node."
   ::= { perPoolNodeEntry 30 }


--=============================================================================
-- Traffic IPs
--=============================================================================

trafficIPNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The number of traffic IPv4 addresses on this system."
   ::= { trafficips 1 }

trafficIPNumberRaised OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The number of traffic IPv4 addresses currently raised on this system."
   ::= { trafficips 2 }

--=======================================
-- Traffic IP Table (IPv4 addresses only)
--=======================================
trafficIPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF TrafficIPEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This table details the traffic IPv4 addresses that are hosted by
       this traffic manager cluster."
   ::= { trafficips 3 }

trafficIPEntry OBJECT-TYPE
   SYNTAX TrafficIPEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This defines a row in the IPv4 traffic IP table."
   INDEX { trafficIPAddress }
   ::= { trafficIPTable 1 }

TrafficIPEntry ::=
   SEQUENCE {
      trafficIPAddress    IpAddress,
      trafficIPState      Integer32,
      trafficIPTime       TimeTicks
   }

trafficIPAddress OBJECT-TYPE
   SYNTAX IpAddress
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "This is a traffic IP address."
   ::= { trafficIPEntry 1 }

trafficIPState OBJECT-TYPE
   SYNTAX INTEGER { raised(1),
                    lowered(2) }
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Whether this traffic IP address is currently being hosted by this
       traffic manager."
   ::= { trafficIPEntry 2 }

trafficIPTime OBJECT-TYPE
   SYNTAX TimeTicks
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The time (in hundredths of a second) since trafficIPState last
       changed (this value will wrap if the state hasn't changed for 497 days)."
   ::= { trafficIPEntry 3 }


trafficIPGatewayPingRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ping requests sent to the gateway machine."
   ::= { trafficips 4 }

trafficIPGatewayPingResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ping responses received from the gateway machine."
   ::= { trafficips 5 }

trafficIPNodePingRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ping requests sent to the backend nodes."
   ::= { trafficips 6 }

trafficIPNodePingResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ping responses received from the backend nodes."
   ::= { trafficips 7 }

trafficIPPingResponseErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ping response errors."
   ::= { trafficips 8 }

trafficIPARPMessage OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of ARP messages sent for raised Traffic IP Addresses."
   ::= { trafficips 9 }

trafficIPNumberInet46 OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of traffic IP addresses on this system (includes IPv4 and IPv6 addresses)."
   ::= { trafficips 10 }

trafficIPNumberRaisedInet46 OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of traffic IP addresses currently raised on this system (includes IPv4 and IPv6 addresses)."
   ::= { trafficips 11 }

--===========================================
-- Traffic IP Table (IPv4 and IPv6 addresses)
--===========================================
trafficIPInet46Table OBJECT-TYPE
   SYNTAX SEQUENCE OF TrafficIPInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table details the traffic IP addresses that are hosted by
       this traffic manager cluster (includes IPv4 and IPv6 addresses)."
   ::= { trafficips 12 }

trafficIPInet46Entry OBJECT-TYPE
   SYNTAX TrafficIPInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the traffic IP table."
   INDEX { trafficIPInet46AddressType, trafficIPInet46Address }
   ::= { trafficIPInet46Table 1 }

TrafficIPInet46Entry ::=
   SEQUENCE {
      trafficIPInet46AddressType InetAddressType,
      trafficIPInet46Address     InetAddress,
      trafficIPInet46State       Integer32,
      trafficIPInet46Time        TimeTicks
   }

trafficIPInet46AddressType OBJECT-TYPE
   SYNTAX InetAddressType
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The traffic IP address type."
   ::= { trafficIPInet46Entry 1 }

trafficIPInet46Address OBJECT-TYPE
   SYNTAX InetAddress (SIZE (1..64))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "This is a traffic IP address."
   ::= { trafficIPInet46Entry 2 }

trafficIPInet46State OBJECT-TYPE
   SYNTAX INTEGER { raised(1),
                    lowered(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Whether this traffic IP address is currently being hosted by this
       traffic manager."
   ::= { trafficIPInet46Entry 3 }

trafficIPInet46Time OBJECT-TYPE
   SYNTAX TimeTicks
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The time (in hundredths of a second) since trafficIPState last
       changed (this value will wrap if the state hasn't changed for 497 days)."
   ::= { trafficIPInet46Entry 4 }


--=============================================================================
-- Service Protection
--=============================================================================

serviceProtNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of service protection classes defined."
   ::= { serviceprotection 1 }

--============================
-- Service Protection Classes
--============================
serviceProtTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ServiceProtectionClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for service
      protection classes."
   ::= { serviceprotection 2 }

serviceProtEntry OBJECT-TYPE
   SYNTAX ServiceProtectionClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the service protection table."
   INDEX { serviceProtName }
   ::= { serviceProtTable 1 }

ServiceProtectionClassEntry ::=
   SEQUENCE {
      serviceProtName             DisplayString,
      serviceProtTotalRefusal     Counter32,
      serviceProtLastRefusalTime  TimeTicks,
      serviceProtRefusalIP        Counter32,
      serviceProtRefusalConc1IP   Counter32,
      serviceProtRefusalConc10IP  Counter32,
      serviceProtRefusalConnRate  Counter32,
      serviceProtRefusalRFC2396   Counter32,
      serviceProtRefusalSize      Counter32,
      serviceProtRefusalBinary    Counter32
   }

serviceProtName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the service protection class."
   ::= { serviceProtEntry 1 }

serviceProtTotalRefusal OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class."
   ::= { serviceProtEntry 2 }

serviceProtLastRefusalTime OBJECT-TYPE
   SYNTAX TimeTicks
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The time (in hundredths of a second) since this service
      protection class last refused a connection (this value will
      wrap if no connections are refused in more than 497 days)."
   ::= { serviceProtEntry 3 }

serviceProtRefusalIP OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      source IP address was banned."
   ::= { serviceProtEntry 4 }

serviceProtRefusalConc1IP OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      source IP address issued too many concurrent connections."
   ::= { serviceProtEntry 5 }

serviceProtRefusalConc10IP OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      top 10 source IP addresses issued too many concurrent connections."
   ::= { serviceProtEntry 6 }

serviceProtRefusalConnRate OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      source IP address issued too many connections within 60 seconds."
   ::= { serviceProtEntry 7 }

serviceProtRefusalRFC2396 OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      HTTP request was not RFC 2396 compliant."
   ::= { serviceProtEntry 8 }

serviceProtRefusalSize OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      request was larger than the defined limits allowed."
   ::= { serviceProtEntry 9 }

serviceProtRefusalBinary OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections refused by this service protection class because the 
      request contained disallowed binary content."
   ::= { serviceProtEntry 10 }

--=============================================================================
-- Service Level Monitoring (SLM)
--=============================================================================

serviceLevelNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of SLM classes defined."
   ::= { servicelevelmonitoring 1 }

--==================================
-- Service Level Monitoring Classes
--==================================
serviceLevelTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ServiceLevelClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for SLM classes."
   ::= { servicelevelmonitoring 2 }

serviceLevelEntry OBJECT-TYPE
   SYNTAX ServiceLevelClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the SLM table."
   INDEX { serviceLevelName }
   ::= { serviceLevelTable 1 }

ServiceLevelClassEntry ::=
   SEQUENCE {
      serviceLevelName              DisplayString,
      serviceLevelTotalConn         Counter32,
      serviceLevelTotalNonConf      Counter32,
      serviceLevelResponseMin       Gauge32,
      serviceLevelResponseMax       Gauge32,
      serviceLevelResponseMean      Gauge32,
      serviceLevelIsOK              Integer32,
      serviceLevelConforming        Gauge32,
      serviceLevelCurrentConns      Gauge32
   }

serviceLevelName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the SLM class."
   ::= { serviceLevelEntry 1 }

serviceLevelTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests handled by this SLM class."
   ::= { serviceLevelEntry 2 }

serviceLevelTotalNonConf OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Non-conforming requests handled by this SLM class."
   ::= { serviceLevelEntry 3 }

serviceLevelResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Minimum response time (ms) in the last second for this SLM class."
   ::= { serviceLevelEntry 4 }

serviceLevelResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum response time (ms) in the last second for this SLM class."
   ::= { serviceLevelEntry 5 }

serviceLevelResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Mean response time (ms) in the last second for this SLM class."
   ::= { serviceLevelEntry 6 }

serviceLevelIsOK OBJECT-TYPE
   SYNTAX INTEGER { notok(1),
                    ok(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Indicates if this SLM class is currently conforming."
   ::= { serviceLevelEntry 7 }

serviceLevelConforming OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Percentage of requests associated with this SLM class that are conforming"
   ::= { serviceLevelEntry 8 }

serviceLevelCurrentConns OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of connections currently associated with this SLM class."
   ::= { serviceLevelEntry 9 }
    

--=============================================================================
-- Per Node Service Level Monitoring Properties (IPv4 nodes only)
--=============================================================================

perNodeServiceLevelTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PerNodeServiceLevelClassEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This table provides information and statistics for SLM classes
       on a per node basis (IPv4 nodes only)."
   ::= { pernodeservicelevelmon 1 }

perNodeServiceLevelEntry OBJECT-TYPE
   SYNTAX PerNodeServiceLevelClassEntry
   MAX-ACCESS not-accessible
   STATUS obsolete
   DESCRIPTION
      "This defines a row in the per-node SLM table (IPv4 nodes only)."
   INDEX { perNodeServiceLevelSLMName, perNodeServiceLevelNodeIPAddr, perNodeServiceLevelNodePort }
   ::= { perNodeServiceLevelTable 1 }

PerNodeServiceLevelClassEntry ::=
   SEQUENCE {
      perNodeServiceLevelSLMName           DisplayString,
      perNodeServiceLevelNodeIPAddr        IpAddress,
      perNodeServiceLevelNodePort          Integer32,
      perNodeServiceLevelTotalConn         Counter32,
      perNodeServiceLevelTotalNonConf      Counter32,
      perNodeServiceLevelResponseMin       Gauge32,
      perNodeServiceLevelResponseMax       Gauge32,
      perNodeServiceLevelResponseMean      Gauge32
   }

perNodeServiceLevelSLMName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The name of the SLM class."
   ::= { perNodeServiceLevelEntry 1 }

perNodeServiceLevelNodeIPAddr OBJECT-TYPE
   SYNTAX IpAddress
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The IP address of this node."
   ::= { perNodeServiceLevelEntry 2 }

perNodeServiceLevelNodePort OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "The port number of this node."
   ::= { perNodeServiceLevelEntry 3 }

perNodeServiceLevelTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests handled by this SLM class to this node."
   ::= { perNodeServiceLevelEntry 4 }

perNodeServiceLevelTotalNonConf OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Non-conforming requests handled by this SLM class to this node."
   ::= { perNodeServiceLevelEntry 5 }

perNodeServiceLevelResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Minimum response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelEntry 6 }

perNodeServiceLevelResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Maximum response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelEntry 7 }

perNodeServiceLevelResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Mean response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelEntry 8 }

--=============================================================================
-- Per Node Service Level Monitoring Properties (IPv4 and IPv6 nodes)
--=============================================================================

perNodeServiceLevelInet46Table OBJECT-TYPE
   SYNTAX SEQUENCE OF PerNodeServiceLevelClassInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for SLM classes
       on a per node basis (includes IPv4 and IPv6 nodes)."
   ::= { pernodeservicelevelmon 2 }

perNodeServiceLevelInet46Entry OBJECT-TYPE
   SYNTAX PerNodeServiceLevelClassInet46Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the per-node SLM table (includes IPv4 and IPv6 nodes)."
   INDEX { perNodeServiceLevelInet46SLMName, perNodeServiceLevelInet46NodeAddressType, perNodeServiceLevelInet46NodeAddress, perNodeServiceLevelInet46NodePort }
   ::= { perNodeServiceLevelInet46Table 1 }

PerNodeServiceLevelClassInet46Entry ::=
   SEQUENCE {
      perNodeServiceLevelInet46SLMName                DisplayString,
      perNodeServiceLevelInet46NodeAddressType    InetAddressType,
      perNodeServiceLevelInet46NodeAddress        InetAddress,
      perNodeServiceLevelInet46NodePort               Integer32,
      perNodeServiceLevelInet46TotalConn              Counter32,
      perNodeServiceLevelInet46TotalNonConf           Counter32,
      perNodeServiceLevelInet46ResponseMin            Gauge32,
      perNodeServiceLevelInet46ResponseMax            Gauge32,
      perNodeServiceLevelInet46ResponseMean           Gauge32
   }

perNodeServiceLevelInet46SLMName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the SLM class."
   ::= { perNodeServiceLevelInet46Entry 1 }

perNodeServiceLevelInet46NodeAddressType OBJECT-TYPE
   SYNTAX InetAddressType
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The type of IP address of this node."
   ::= { perNodeServiceLevelInet46Entry 2 }

perNodeServiceLevelInet46NodeAddress OBJECT-TYPE
   SYNTAX InetAddress (SIZE (1..64))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IP address of this node."
   ::= { perNodeServiceLevelInet46Entry 3 }

perNodeServiceLevelInet46NodePort OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The port number of this node."
   ::= { perNodeServiceLevelInet46Entry 4 }

perNodeServiceLevelInet46TotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests handled by this SLM class to this node."
   ::= { perNodeServiceLevelInet46Entry 5 }

perNodeServiceLevelInet46TotalNonConf OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Non-conforming requests handled by this SLM class to this node."
   ::= { perNodeServiceLevelInet46Entry 6 }

perNodeServiceLevelInet46ResponseMin OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Minimum response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelInet46Entry 7 }

perNodeServiceLevelInet46ResponseMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelInet46Entry 8 }

perNodeServiceLevelInet46ResponseMean OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Mean response time (ms) in the last second for this SLM class to
       this node."
   ::= { perNodeServiceLevelInet46Entry 9 }

--=============================================================================
-- Bandwidth Management
--=============================================================================

bandwidthClassNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of bandwidth classes defined."
   ::= { bandwidthmgt 1 }

--============================
-- Bandwidth Classes
--============================
bandwidthClassTable OBJECT-TYPE
   SYNTAX SEQUENCE OF BandwidthClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for 
      bandwidth classes."
   ::= { bandwidthmgt 2 }

bandwidthClassEntry OBJECT-TYPE
   SYNTAX BandwidthClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the bandwidth class."
   INDEX { bandwidthClassName }
   ::= { bandwidthClassTable 1 }

BandwidthClassEntry ::=
   SEQUENCE {
      bandwidthClassName          DisplayString,
      bandwidthClassMaximum       Integer32,
      bandwidthClassGuarantee     Integer32,
      bandwidthClassBytesOutLo    Counter32,
      bandwidthClassBytesOutHi    Counter32,
      bandwidthClassBytesOut      Counter64,
      bandwidthClassPktsDrop      Counter64,
      bandwidthClassPktsDropLo    Counter32,
      bandwidthClassPktsDropHi    Counter32,
      bandwidthClassBytesDrop     Counter64,
      bandwidthClassBytesDropLo   Counter32,
      bandwidthClassBytesDropHi   Counter32
   }

bandwidthClassName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the bandwidth class."
   ::= { bandwidthClassEntry 1 }

bandwidthClassMaximum OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum bandwidth class limit (kbits/s)."
   ::= { bandwidthClassEntry 2 }

bandwidthClassGuarantee OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Guaranteed bandwidth class limit (kbits/s).  Currently unused."
   ::= { bandwidthClassEntry 3 }

bandwidthClassBytesOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes output by connections assigned to this bandwidth class ( low 32bits )."
   ::= { bandwidthClassEntry 4 }

bandwidthClassBytesOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes output by connections assigned to this bandwidth class ( high 32bits )."
   ::= { bandwidthClassEntry 5 }

bandwidthClassBytesOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes output by connections assigned to this bandwidth class."
   ::= { bandwidthClassEntry 6 }

bandwidthClassPktsDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of packets dropped by this bandwidth class."
   ::= { bandwidthClassEntry 7 }
   
bandwidthClassPktsDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of packets dropped by this bandwidth class ( low 32bits )."
   ::= { bandwidthClassEntry 8 }

bandwidthClassPktsDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of packets dropped by this bandwidth class ( high 32bits )."
   ::= { bandwidthClassEntry 9 }

bandwidthClassBytesDrop OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      " Bytes dropped by this bandwidth class."
   ::= { bandwidthClassEntry 10 }
   
bandwidthClassBytesDropLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes dropped by this bandwidth class ( low 32bits )."
   ::= { bandwidthClassEntry 11 }

bandwidthClassBytesDropHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes dropped by this bandwidth class ( high 32bits )."
   ::= { bandwidthClassEntry 12 }

--=============================================================================
-- Request Rate Shaping
--=============================================================================

rateClassNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of rate classes defined."
   ::= { connratelimit 1 }

--============================
-- Rate Classes
--============================
rateClassTable OBJECT-TYPE
   SYNTAX SEQUENCE OF RateClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for
      rate classes."
   ::= { connratelimit 2 }

rateClassEntry OBJECT-TYPE
   SYNTAX RateClassEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the rate class info."
   INDEX { rateClassName }
   ::= { rateClassTable 1 }

RateClassEntry ::=
   SEQUENCE {
      rateClassName              DisplayString,
      rateClassMaxRatePerMin     Integer32,
      rateClassMaxRatePerSec     Integer32,
      rateClassQueueLength       Gauge32,
      rateClassCurrentRate       Gauge32,
      rateClassDropped           Counter32,
      rateClassConnsEntered      Counter32,
      rateClassConnsLeft         Counter32
   }

rateClassName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the rate class."
   ::= { rateClassEntry 1 }

rateClassMaxRatePerMin OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum rate that requests may pass through this rate class (requests/min)."
   ::= { rateClassEntry 2 }

rateClassMaxRatePerSec OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum rate that requests may pass through this rate class (requests/sec)."
   ::= { rateClassEntry 3 }

rateClassQueueLength OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The current number of requests queued by this rate class."
   ::= { rateClassEntry 4 }

rateClassCurrentRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The average rate that requests are passing through this rate class."
   ::= { rateClassEntry 5 }

rateClassDropped OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests dropped from this rate class without being processed (e.g. timeouts)."
   ::= { rateClassEntry 6 }

rateClassConnsEntered OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections that have entered the rate class and have been queued."
   ::= { rateClassEntry 7 }

rateClassConnsLeft OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Connections that have left the rate class."
   ::= { rateClassEntry 8 }

--=============================================================================
-- Extra
--=============================================================================

userCounterNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of user defined counters."
   ::= { extra 1 }

--============================
-- User Counter32s
--============================
userCounterTable OBJECT-TYPE
   SYNTAX SEQUENCE OF UserCounterEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table holds the values for user defined
       counters."
   ::= { extra 2 }

userCounterEntry OBJECT-TYPE
   SYNTAX UserCounterEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the user counters table."
   INDEX { userCounterName }
   ::= { userCounterTable 1 }

UserCounterEntry ::=
   SEQUENCE {
      userCounterName               DisplayString,
      userCounterValue              Counter32
   }

userCounterName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the user counter."
   ::= { userCounterEntry 1 }

userCounterValue OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The value of the user counter."
   ::= { userCounterEntry 2 }

--============================
-- User Counter64s
--============================
userCounter64Table OBJECT-TYPE
   SYNTAX SEQUENCE OF UserCounter64Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table holds the values for user defined 64-bit
       counters."
   ::= { extra 3 }

userCounter64Entry OBJECT-TYPE
   SYNTAX UserCounter64Entry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the 64-bit user counters table."
   INDEX { userCounter64Name }
   ::= { userCounter64Table 1 }

UserCounter64Entry ::=
   SEQUENCE {
      userCounter64Name             DisplayString,
      userCounter64Value            Counter64
   }

userCounter64Name OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the 64-bit user counter."
   ::= { userCounter64Entry 1 }

userCounter64Value OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The value of the 64-bit user counter."
   ::= { userCounter64Entry 2 }

--============================
-- Network Interfaces
--============================
 
interfaceNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of network interfaces."
   ::= { netinterfaces 1 }

--============================
-- Network Interfaces Table
--============================

interfaceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF InterfaceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table gives statistics for the network interfaces on this system."
   ::= { netinterfaces 2 }

interfaceEntry OBJECT-TYPE
   SYNTAX InterfaceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the network interfaces table."
   INDEX { interfaceName }
   ::= { interfaceTable 1 }

InterfaceEntry ::= SEQUENCE {
      interfaceName               DisplayString,
      interfaceRxPackets          Counter32,
      interfaceTxPackets          Counter32,
      interfaceRxErrors           Counter32,
      interfaceTxErrors           Counter32,
      interfaceCollisions         Counter32,
      interfaceRxBytesLo          Counter32,
      interfaceRxBytesHi          Counter32,
      interfaceTxBytesLo          Counter32,
      interfaceTxBytesHi          Counter32,
      interfaceRxBytes            Counter64,
      interfaceTxBytes            Counter64
   }

interfaceName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the network interface."
   ::= { interfaceEntry 1 }

interfaceRxPackets OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of packets received by this interface."
   ::= { interfaceEntry 2 }

interfaceTxPackets OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of packets transmitted by this interface."
   ::= { interfaceEntry 3 }
 
interfaceRxErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of receive errors reported by this interface."
   ::= { interfaceEntry 4 }

interfaceTxErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of transmit errors reported by this interface."
   ::= { interfaceEntry 5 }
 
interfaceCollisions OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of collisions reported by this interface."
   ::= { interfaceEntry 6 }

interfaceRxBytesLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this interface ( low 32bits )."
   ::= { interfaceEntry 7 }

interfaceRxBytesHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes received by this interface ( high 32bits )."
   ::= { interfaceEntry 8 }

interfaceTxBytesLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes transmitted by this interface ( low 32bits )."
   ::= { interfaceEntry 9 }

interfaceTxBytesHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes transmitted by this interface ( high 32bits )."
   ::= { interfaceEntry 10 }

interfaceRxBytes OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes received by this interface."
   ::= { interfaceEntry 11 }

interfaceTxBytes OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes transmitted by this interface."
   ::= { interfaceEntry 12 }


--============================
-- Cache Counter32s
--============================

--=============================================================================
-- Web Cache counters
--=============================================================================

webCacheHitsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has been successfully found in the web cache (low 32 bits)."
   ::= { webcache 1 }

webCacheHitsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has been successfully found in the web cache (high 32 bits)."
   ::= { webcache 2 }


webCacheMissesLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has not been found in the web cache (low 32 bits)."
   ::= { webcache 3 }

webCacheMissesHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has not been found in the web cache (high 32 bits)."
   ::= { webcache 4 }


webCacheLookupsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has been looked up in the web cache (low 32 bits)."
   ::= { webcache 5 }

webCacheLookupsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Number of times a page has been looked up in the web cache (high 32 bits)."
   ::= { webcache 6 }

webCacheMemUsed OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total memory used by the web cache in kilobytes."
   ::= { webcache 7 }

webCacheMemMaximum OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum amount of memory the web cache can use in kilobytes."
   ::= { webcache 8 }

webCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of web cache lookups that succeeded."
   ::= { webcache 9 }

webCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of items in the web cache."
   ::= { webcache 10 }


webCacheMaxEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of items in the web cache."
   ::= { webcache 11 }

webCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest item in the web cache (in seconds)."
   ::= { webcache 12 }

webCacheHits OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a page has been successfully found in the web cache."
   ::= { webcache 13 }

webCacheMisses OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a page has not been found in the web cache."
   ::= { webcache 14 }

webCacheLookups OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a page has been looked up in the web cache."
   ::= { webcache 15 }

webCacheURLStoreAllocated OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Amount of allocated space in the web cache URL store."
   ::= { webcache 16 }

webCacheURLStoreFree OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Amount of free space in the web cache URL store."
   ::= { webcache 17 }

webCacheURLStoreSize OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total amount of space in the web cache URL store."
   ::= { webcache 18 }

webCacheURLStoreTotalAllocations OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of allocations for the web cache URL store."
   ::= { webcache 19 }

webCacheURLStoreTotalFailures OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of allocation failures for the web cache URL store."
   ::= { webcache 20 }

webCacheURLStoreTotalFrees OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Total number of blocks freed in the web cache URL store."
   ::= { webcache 21 }

--=============================================================================
-- SSL Cache counters
--=============================================================================

sslCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL entry has been successfully found in the server cache."
   ::= { sslcache 1 }

sslCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL entry has not been available in the server cache."
   ::= { sslcache 2 }


sslCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL entry has been looked up in the server cache."
   ::= { sslcache 3 }

sslCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of SSL server cache lookups that succeeded."
   ::= { sslcache 4 }


sslCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of SSL sessions stored in the server cache."
   ::= { sslcache 5 }

sslCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of SSL entries in the server cache."
   ::= { sslcache 6 }

sslCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest SSL session in the server cache (in seconds)."
   ::= { sslcache 7 }

--=============================================================================
-- ASP Session Cache counters
--=============================================================================

aspSessionCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a ASP session entry has been successfully found in the cache."
   ::= { aspsessioncache 1 }

aspSessionCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a ASP session entry has not been available in the cache."
   ::= { aspsessioncache 2 }


aspSessionCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a ASP session entry has been looked up in the cache."
   ::= { aspsessioncache 3 }

aspSessionCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of ASP session lookups that succeeded."
   ::= { aspsessioncache 4 }


aspSessionCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of ASP sessions stored in the cache."
   ::= { aspsessioncache 5 }

aspSessionCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of ASP sessions in the cache."
   ::= { aspsessioncache 6 }

aspSessionCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest ASP session in the cache (in seconds)."
   ::= { aspsessioncache 7 }


--=============================================================================
-- IP Session Cache counters
--=============================================================================

ipSessionCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a IP session entry has been successfully found in the cache."
   ::= { ipsessioncache 1 }

ipSessionCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a IP session entry has not been available in the cache."
   ::= { ipsessioncache 2 }

ipSessionCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a IP session entry has been looked up in the cache."
   ::= { ipsessioncache 3 }

ipSessionCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of IP session lookups that succeeded."
   ::= { ipsessioncache 4 }


ipSessionCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of IP sessions stored in the cache."
   ::= { ipsessioncache 5 }

ipSessionCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of IP sessions in the cache."
   ::= { ipsessioncache 6 }

ipSessionCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest IP session in the cache (in seconds)."
   ::= { ipsessioncache 7 }

--=============================================================================
-- J2EE Session Cache counters
--=============================================================================

j2eeSessionCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a J2EE session entry has been successfully found in the cache."
   ::= { j2eesessioncache 1 }



j2eeSessionCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a J2EE session entry has not been available in the cache."
   ::= { j2eesessioncache 2 }

j2eeSessionCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a J2EE session entry has been looked up in the cache."
   ::= { j2eesessioncache 3 }

j2eeSessionCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of J2EE session lookups that succeeded."
   ::= { j2eesessioncache 4 }


j2eeSessionCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of J2EE sessions stored in the cache."
   ::= { j2eesessioncache 5 }

j2eeSessionCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of J2EE sessions in the cache."
   ::= { j2eesessioncache 6 }

j2eeSessionCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest J2EE session in the cache (in seconds)."
   ::= { j2eesessioncache 7 }

--=============================================================================
-- Universal Session Cache counters
--=============================================================================

uniSessionCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a universal session entry has been successfully found in the cache."
   ::= { unisessioncache 1 }

uniSessionCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a universal session entry has not been available in the cache."
   ::= { unisessioncache 2 }

uniSessionCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a universal session entry has been looked up in the cache."
   ::= { unisessioncache 3 }

uniSessionCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of universal session lookups that succeeded."
   ::= { unisessioncache 4 }


uniSessionCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of universal sessions stored in the cache."
   ::= { unisessioncache 5 }

uniSessionCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of universal sessions in the cache."
   ::= { unisessioncache 6 }

uniSessionCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest universal session in the cache (in seconds)."
   ::= { unisessioncache 7 }

--=============================================================================
-- SSL Session persistence Cache counters
--=============================================================================

sslSessionCacheHits OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL session persistence entry has been successfully found in the cache."
   ::= { sslsessioncache 1 }

sslSessionCacheMisses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL session persistence entry has not been available in the cache."
   ::= { sslsessioncache 2 }

sslSessionCacheLookups OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times a SSL session persistence entry has been looked up in the cache."
   ::= { sslsessioncache 3 }

sslSessionCacheHitRate OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The percentage of SSL session persistence lookups that succeeded."
   ::= { sslsessioncache 4 }


sslSessionCacheEntries OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The total number of SSL session persistence entries stored in the cache."
   ::= { sslsessioncache 5 }

sslSessionCacheEntriesMax OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The maximum number of SSL session persistence entries in the cache."
   ::= { sslsessioncache 6 }

sslSessionCacheOldest OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The age of the oldest SSL session in the cache (in seconds)."
   ::= { sslsessioncache 7 }


--=============================================================================
-- SSL OCSP Stapling cache counters
--=============================================================================

sslOcspStaplingCacheCount OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of entries in the OCSP stapling cache."
   ::= { sslocspstapling 1 }

sslOcspStaplingCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of outgoing OCSP requests for OCSP stapling."
   ::= { sslocspstapling 2 }

sslOcspStaplingSuccessCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of successful outgoing OCSP requests for OCSP stapling."
   ::= { sslocspstapling 3 }

sslOcspStaplingFailureCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of failed outgoing OCSP requests for OCSP stapling."
   ::= { sslocspstapling 4 }

sslOcspStaplingGoodCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of 'good' OCSP responses for OCSP stapling."
   ::= { sslocspstapling 5 }
   
sslOcspStaplingRevokedCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of 'revoked' OCSP responses for OCSP stapling."
   ::= { sslocspstapling 6 }

sslOcspStaplingUnknownCount OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of 'unknown' OCSP requests for OCSP stapling."
   ::= { sslocspstapling 7 }

--============================
-- Rules
--============================
 
ruleNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of TrafficScript rules."
   ::= { rules 1 }

--============================
-- Rules Table
--============================

ruleTable OBJECT-TYPE
   SYNTAX SEQUENCE OF RuleEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for TrafficScript rules."
   ::= { rules 2 }

ruleEntry OBJECT-TYPE
   SYNTAX RuleEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the rules table."
   INDEX { ruleName }
   ::= { ruleTable 1 }

RuleEntry ::= SEQUENCE {
      ruleName               DisplayString,
      ruleExecutions	     Counter32,
      ruleAborts	     Counter32,
      ruleResponds	     Counter32,
      rulePoolSelect	     Counter32,
      ruleRetries	     Counter32,
      ruleDiscards	     Counter32,
      ruleExecutionTimeWarnings	     Counter32
   }

ruleName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the TrafficScript rule."
   ::= { ruleEntry 1 }

ruleExecutions OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has been executed."
   ::= { ruleEntry 2 }

ruleAborts OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has aborted."
   ::= { ruleEntry 3 }

ruleResponds OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has responded directly to the client."
   ::= { ruleEntry 4 }

rulePoolSelect OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has selected a pool to use."
   ::= { ruleEntry 5 }

ruleRetries OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has forced the request to be retried."
   ::= { ruleEntry 6 }

ruleDiscards OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has discarded the connection."
   ::= { ruleEntry 7 }

ruleExecutionTimeWarnings OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this TrafficScript rule has exceeded the execution time warning threshold."
   ::= { ruleEntry 8 }

--============================
-- Monitors
--============================
 
monitorNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of Monitors."
   ::= { monitors 1 }

--============================
-- Monitors Table
--============================

monitorTable OBJECT-TYPE
   SYNTAX SEQUENCE OF MonitorEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics on Monitors."
   ::= { monitors 2 }

monitorEntry OBJECT-TYPE
   SYNTAX MonitorEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the monitors table."
   INDEX { monitorName }
   ::= { monitorTable 1 }

MonitorEntry ::= SEQUENCE {
      monitorName         DisplayString
   }

monitorName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the monitor."
   ::= { monitorEntry 1 }


--============================
-- License Keys
--============================
 
licensekeyNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of License keys."
   ::= { licensekeys 1 }

--============================
-- License Keys Table
--============================

licensekeyTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LicenseKeyEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics on License Keys."
   ::= { licensekeys 2 }

licensekeyEntry OBJECT-TYPE
   SYNTAX LicenseKeyEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the license keys table."
   INDEX { licensekeyName }
   ::= { licensekeyTable 1 }

LicenseKeyEntry ::= SEQUENCE {
      licensekeyName               DisplayString
   }

licensekeyName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the License Key."
   ::= { licensekeyEntry 1 }

--============================
-- ZXTMs
--============================
 
zxtmNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of traffic managers in the cluster."
   ::= { zxtms 1 }

--============================
-- ZXTMs Table
--============================

zxtmTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ZxtmEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics on traffic managers."
   ::= { zxtms 2 }

zxtmEntry OBJECT-TYPE
   SYNTAX ZxtmEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the traffic managers table."
   INDEX { zxtmName }
   ::= { zxtmTable 1 }

ZxtmEntry ::= SEQUENCE {
      zxtmName               DisplayString
   }

zxtmName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the traffic manager."
   ::= { zxtmEntry 1 }

--=============================================================================
-- GLB Services
--=============================================================================

glbServiceNumber OBJECT-TYPE
   SYNTAX Integer32 (0..65535)
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of GLB Services on this system."
   ::= { glbservices 1 }

-- GLB Service Table
glbServiceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF GLBServiceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for GLB Services."
   ::= { glbservices 2 }

glbServiceEntry OBJECT-TYPE
   SYNTAX GLBServiceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the GLB Services table."
   INDEX { glbServiceName }
   ::= { glbServiceTable 1 }

GLBServiceEntry ::=
   SEQUENCE {
      glbServiceName       DisplayString,
      glbServiceResponses  Counter32,
      glbServiceUnmodified Counter32,
      glbServiceDiscarded  Counter32
   }

glbServiceName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the GLB Service."
   ::= { glbServiceEntry 1 }

glbServiceResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of A records this GLB Service has altered."
   ::= { glbServiceEntry 2 }

glbServiceUnmodified OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of A records this GLB Service has passed through unmodified."
   ::= { glbServiceEntry 3 }

glbServiceDiscarded OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of A records this GLB Service has discarded."
   ::= { glbServiceEntry 4 }


--=============================================================================
-- GLB Services per Location
--=============================================================================

perLocationServiceTable OBJECT-TYPE
   SYNTAX SEQUENCE OF PerLocationServiceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for GLB Services
       on a per location basis."
   ::= { perlocationservices 1 }

perLocationServiceEntry OBJECT-TYPE
   SYNTAX PerLocationServiceEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the per-location table."
   INDEX { perLocationServiceLocationName, perLocationServiceName }
   ::= { perLocationServiceTable 1 }

PerLocationServiceEntry ::=
   SEQUENCE {
      perLocationServiceLocationName   DisplayString,
      perLocationServiceLocationCode   DisplayString,
      perLocationServiceName           DisplayString,
      perLocationServiceDraining       Integer32,
      perLocationServiceState          Integer32,
      perLocationServiceFrontendState  Integer32,
      perLocationServiceMonitorState   Integer32,
      perLocationServiceLoad           Gauge32,
      perLocationServiceResponses      Counter32
   }

perLocationServiceLocationName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the location."
   ::= { perLocationServiceEntry 1 }

perLocationServiceLocationCode OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The code for the location."
   ::= { perLocationServiceEntry 2 }

perLocationServiceName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the GLB Service."
   ::= { perLocationServiceEntry 3 }

perLocationServiceDraining OBJECT-TYPE
   SYNTAX INTEGER { draining(1),
                    active(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The draining state of this location for this GLB Service."
   ::= { perLocationServiceEntry 4 }

perLocationServiceState OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The state of this location for this GLB Service."
   ::= { perLocationServiceEntry 5 }

perLocationServiceFrontendState OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The frontend state of this location for this GLB Service."
   ::= { perLocationServiceEntry 6 }

perLocationServiceMonitorState OBJECT-TYPE
   SYNTAX INTEGER { alive(1),
                    dead(2) }
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The monitor state of this location for this GLB Service."
   ::= { perLocationServiceEntry 7 }

perLocationServiceLoad OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The load metric for this location for this GLB Service."
   ::= { perLocationServiceEntry 8 }

perLocationServiceResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of A records that have been altered to point to this location
       for this GLB Service."
   ::= { perLocationServiceEntry 9 }

--=============================================================================
-- GLB Locations
--=============================================================================

locationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF LocationEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for GLB Services
       on a per location basis."
   ::= { locations 1 }

locationEntry OBJECT-TYPE
   SYNTAX LocationEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the per-location table."
   INDEX { locationName }
   ::= { locationTable 1 }

LocationEntry ::=
   SEQUENCE {
      locationName       DisplayString,
      locationCode       DisplayString,
      locationLoad       Gauge32,
      locationResponses  Counter32
   }

locationName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the location."
   ::= { locationEntry 1 }

locationCode OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The code for the location."
   ::= { locationEntry 2 }

locationLoad OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The mean load metric for this location."
   ::= { locationEntry 3 }

locationResponses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of A records that have been altered to point to this location."
   ::= { locationEntry 4 }


--=============================================================================
-- Events
--=============================================================================

eventNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of event configurations."
   ::= { events 1 }

--=============
-- Event Table
--=============
eventTable OBJECT-TYPE
   SYNTAX SEQUENCE OF EventEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table gives information on the event configurations in the traffic manager."
   ::= { events 2 }

eventEntry OBJECT-TYPE
   SYNTAX EventEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the events table."
   INDEX { eventName }
   ::= { eventTable 1 }

EventEntry ::= SEQUENCE {
      eventName    DisplayString,
      eventsMatched Counter32
}

eventName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the event configuration."
   ::= { eventEntry 1 }

eventsMatched OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this event configuration has matched."
   ::= { eventEntry 2 }

--=============================================================================
-- Actions
--=============================================================================

actionNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of actions configured in the traffic manager."
   ::= { actions 1 }

--=============
-- Action Table
--=============
actionTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ActionEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table gives information on the action configurations in the traffic manager."
   ::= { actions 2 }

actionEntry OBJECT-TYPE
   SYNTAX ActionEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the actions table."
   INDEX { actionName }
   ::= { actionTable 1 }

ActionEntry ::= SEQUENCE {
      actionName    DisplayString,
      actionsProcessed Counter32
}

actionName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the action."
   ::= { actionEntry 1 }

actionsProcessed OBJECT-TYPE
  SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this action has been processed."
   ::= { actionEntry 2 }


--=============================================================================
-- Traps
--=============================================================================

fullLogLine OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The full log line of an event (for traps)."
   ::= { trapobjects 1 }

confName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the configuration file affected (for traps)."
   ::= { trapobjects 2 }

customEventName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the Custom Event (for traps)."
   ::= { trapobjects 3 }

domainName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The DNS domain name (for traps)."
   ::= { trapobjects 4 }

--=============================================================================
-- Test Action
--=============================================================================

testaction NOTIFICATION-TYPE
   OBJECTS { fullLogLine, actionName }
   STATUS current
   DESCRIPTION
      "Testing configuration for an action (emitted when testing an action in the UI)"
   ::= { trapsZero 1 }

--=============================================================================
-- General
--=============================================================================

running NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Software is running"
   ::= { trapsZero 2 }

fewfreefds NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Running out of free file descriptors"
   ::= { trapsZero 3 }

restartrequired NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Software must be restarted to apply configuration changes"
   ::= { trapsZero 4 }

upgradereboot NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Virtual Traffic Manager Appliance reboot required"
   ::= { trapsZero 288 }

sysctlreboot NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Virtual Traffic Manager Appliance reboot required"
   ::= { trapsZero 289 }

upgraderestart NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Virtual Traffic Manager software restart required"
   ::= { trapsZero 290 }

unspecifiedreboot NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Virtual Traffic Manager restart/reboot required"
   ::= { trapsZero 291 }

timemovedback NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Time has been moved back"
   ::= { trapsZero 5 }

sslfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "One or more SSL connections from clients failed recently"
   ::= { trapsZero 6 }

hardware NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS deprecated
   DESCRIPTION
      "Appliance hardware notification. Deprecated, replaced with 'appliance'"
   ::= { trapsZero 7 }

zxtmswerror NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Internal software error"
   ::= { trapsZero 8 }

customevent NOTIFICATION-TYPE
   OBJECTS { fullLogLine, customEventName }
   STATUS current
   DESCRIPTION
      "A custom event was emitted using the TrafficScript 'event.emit()' function"
   ::= { trapsZero 9 }

versionmismatch NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Configuration update refused: traffic manager version mismatch"
   ::= { trapsZero 10 }

autherror NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "An error occurred during user authentication"
   ::= { trapsZero 114 }
 
rebootrequired NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS obsolete
   DESCRIPTION
      "Machine must be rebooted to apply configuration changes"
   ::= { trapsZero 233 }

appliance NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Appliance notification"
   ::= { trapsZero 236 }

--=============================================================================
-- Fault Tolerance
--=============================================================================

machineok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, zxtmName }
   STATUS current
   DESCRIPTION
      "Remote machine is now working"
   ::= { trapsZero 11 }

machinetimeout NOTIFICATION-TYPE
   OBJECTS { fullLogLine, zxtmName }
   STATUS current
   DESCRIPTION
      "Remote machine has timed out and been marked as failed"
   ::= { trapsZero 12 }

machinefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, zxtmName }
   STATUS current
   DESCRIPTION
      "Remote machine has failed"
   ::= { trapsZero 13 }

allmachinesok NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "All machines are working"
   ::= { trapsZero 14 }

flipperbackendsworking NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Back-end nodes are now working"
   ::= { trapsZero 15 }

flipperfrontendsworking NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Frontend machines are now working"
   ::= { trapsZero 16 }

pingbackendfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to ping back-end nodes"
   ::= { trapsZero 17 }

pingfrontendfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to ping any of the machines used to check the front-end connectivity"
   ::= { trapsZero 18 }

pinggwfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to ping default gateway"
   ::= { trapsZero 19 }

pingsendfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to send ping packets"
   ::= { trapsZero 237 }

statebaddata NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Received an invalid response from another cluster member"
   ::= { trapsZero 20 }

stateconnfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to connect to another cluster member for state sharing"
   ::= { trapsZero 21 }

stateok NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Successfully connected to another cluster member for state sharing"
   ::= { trapsZero 22 }

statereadfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Reading state data from another cluster member failed"
   ::= { trapsZero 23 }

statetimeout NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Timeout while sending state data to another cluster member"
   ::= { trapsZero 24 }

stateunexpected NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Received unexpected state data from another cluster member"
   ::= { trapsZero 25 }

statewritefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Writing state data to another cluster member failed"
   ::= { trapsZero 26 }

activatealldead NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Activating this machine automatically because it is the only working machine in its Traffic IP Groups"
   ::= { trapsZero 107 }

machinerecovered NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Remote machine has recovered and can raise Traffic IP addresses"
   ::= { trapsZero 108 }

flipperrecovered NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Machine is ready to raise Traffic IP addresses"
   ::= { trapsZero 109 }

activatedautomatically NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Machine has recovered and been activated automatically because it would cause no service disruption"
   ::= { trapsZero 110 }

zclustermoderr NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "An error occurred when using the zcluster Multi-Hosted IP kernel module"
   ::= { trapsZero 111 }

ec2flipperraiselocalworking NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Moving EC2 IP Address; local machine is working"
   ::= { trapsZero 112 }

ec2flipperraiseothersdead NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Moving EC2 IP Address; other machines have failed"
   ::= { trapsZero 113 }

ec2iperr NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Problem occurred when managing an EC2 IP address"
   ::= { trapsZero 130 }

ec2vpceipassocerr NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS obsolete
   DESCRIPTION
      "Problem occurred while getting a list of private IP addresses and their EIP associations"
   ::= { trapsZero 207 }

ec2vpciderr NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS obsolete
   DESCRIPTION
      "Problem occurred while getting VPCID"
   ::= { trapsZero 208 }

dropec2ipwarn NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Removing EC2 IP Address from all machines; it is no longer a part of any Traffic IP Groups"
   ::= { trapsZero 131 }

ec2nopublicip NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Cannot raise Elastic IP on this machine until EC2 provides it with a public IP address"
   ::= { trapsZero 132 }


ec2nosecondaryprivateip NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Cannot raise Elastic IP on this machine as no suitable secondary IP is available on the allowed network card(s)"
   ::= { trapsZero 206 }

ec2dataretrievalfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Traffic manager failed to get the required data from Amazon servers"
   ::= { trapsZero 266 }

ec2dataretrievalsuccessful NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Traffic manager has now successfully retrieved the required data from Amazon servers"
   ::= { trapsZero 267 }

ec2initialized NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The EC2 instance is now initialized"
   ::= { trapsZero 287 }

gcedataretrievalfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Traffic manager failed to get the required data from GCE instance"
   ::= { trapsZero 292 }

gcedataretrievalsuccessful NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Traffic manager has now successfully retrieved the required data from GCE instance"
   ::= { trapsZero 293 }

multihostload NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The amount of load handled by the local machine destined for this Traffic IP has changed"
   ::= { trapsZero 133 }

flipperraiseremotedropped NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "This Traffic Manager has re-raised traffic IP addresses as the remote machine which was hosting them has dropped them"
   ::= { trapsZero 198 }

autofailbacktimerstarted NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Auto-failback wait period started"
   ::= { trapsZero 294 }

autofailbacktimerstopped NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Auto-failback delay timer stopped due to system failure"
   ::= { trapsZero 295 }

autofailbackafterdelay NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Automatic failback after delay"
   ::= { trapsZero 296 }

autofailbacktimercancelled NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Auto-failback delay timer cancelled"
   ::= { trapsZero 297 }

--=============================================================================
-- SSL hardware
--=============================================================================

sslhwfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "SSL hardware support failed"
   ::= { trapsZero 27 }

sslhwrestart NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "SSL hardware support restarted"
   ::= { trapsZero 28 }

sslhwstart NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "SSL hardware support started"
   ::= { trapsZero 29 }


--=============================================================================
-- Configuration files
--=============================================================================

confdel NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName }
   STATUS current
   DESCRIPTION
      "Configuration file deleted"
   ::= { trapsZero 30 }

confmod NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName }
   STATUS current
   DESCRIPTION
      "Configuration file modified"
   ::= { trapsZero 31 }

confadd NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName }
   STATUS current
   DESCRIPTION
      "Configuration file added"
   ::= { trapsZero 32 }

confok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName }
   STATUS current
   DESCRIPTION
      "Configuration file now OK"
   ::= { trapsZero 33 }

confreptimeout NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Replication of configuration has timed out"
   ::= { trapsZero 178 }

confrepfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Replication of configuration has failed"
   ::= { trapsZero 179 }

--=============================================================================
-- Java
--=============================================================================

javadied NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Java runner died"
   ::= { trapsZero 34 }

javastop NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Java support has stopped"
   ::= { trapsZero 35 }

javastartfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Java runner failed to start"
   ::= { trapsZero 36 }

javaterminatefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Java runner failed to terminate"
   ::= { trapsZero 37 }

javanotfound NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Cannot start Java runner, program not found"
   ::= { trapsZero 38 }

javastarted NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Java runner started"
   ::= { trapsZero 39 }

servleterror NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Servlet encountered an error"
   ::= { trapsZero 40 }

--=============================================================================
-- Monitors
--=============================================================================

monitorfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, monitorName }
   STATUS current
   DESCRIPTION
      "Monitor has detected a failure"
   ::= { trapsZero 41 }

monitorok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, monitorName }
   STATUS current
   DESCRIPTION
      "Monitor is working"
   ::= { trapsZero 42 }


--=============================================================================
-- Rules
--=============================================================================

rulexmlerr NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule encountered an XML error"
   ::= { trapsZero 43 }

pooluseunknown NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unknown pool"
   ::= { trapsZero 44 }

ruleabort NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule aborted during execution"
   ::= { trapsZero 45 }

rulebufferlarge NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule has buffered more data than expected"
   ::= { trapsZero 46 }

rulebodycomperror NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule encountered invalid data while uncompressing response"
   ::= { trapsZero 47 }

forwardproxybadhost NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unresolvable host"
   ::= { trapsZero 48 }

invalidemit NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule used event.emit() with an invalid custom event"
   ::= { trapsZero 49 }

rulenopersistence NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unknown session persistence class"
   ::= { trapsZero 50 }

rulelogmsginfo NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule logged an info message using log.info"
   ::= { trapsZero 51 }

rulelogmsgwarn NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule logged a warning message using log.warn"
   ::= { trapsZero 52 }

rulelogmsgserious NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule logged an error message using log.error"
   ::= { trapsZero 53 }

norate NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unknown rate shaping class"
   ::= { trapsZero 54 }

poolactivenodesunknown NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule references an unknown pool via pool.activenodes"
   ::= { trapsZero 55 }

datastorefull NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "data.set() has run out of space"
   ::= { trapsZero 56 }

ruleoverrun NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule exceeded execution time warning threshold"
   ::= { trapsZero 242 }

rulestreamerrortoomuch NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule supplied too much data in HTTP stream"
   ::= { trapsZero 210 }

rulestreamerrornotenough NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule did not supply enough data in HTTP stream"
   ::= { trapsZero 211 }

rulestreamerrorprocessfailure NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Data supplied to HTTP stream could not be processed"
   ::= { trapsZero 212 }

rulestreamerrornotstarted NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Attempt to stream data or finish a stream before streaming had been initialized"
   ::= { trapsZero 213 }

rulestreamerrornotfinished NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Attempt to initialize HTTP stream before previous stream had finished"
   ::= { trapsZero 214 }

rulestreamerrorinternal NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Internal error while processing HTTP stream"
   ::= { trapsZero 215 }

rulestreamerrorgetresponse NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Attempt to use http.getResponse or http.getResponseBody after http.stream.startResponse"
   ::= { trapsZero 216 }

rulesinvalidrequestbody NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName, virtualserverName }
   STATUS current
   DESCRIPTION
      "Client sent invalid HTTP request body"
   ::= { trapsZero 217 }

aptimizeuseunknownprofile NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unknown Web Accelerator profile"
   ::= { trapsZero 222 }

aptimizedisabled NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule attempted to use Web Accelerator but it is not enabled"
   ::= { trapsZero 223 }

aptimizeuseunknownscope NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "Rule selected an unknown Web Accelerator scope"
   ::= { trapsZero 224 }

datalocalstorefull NOTIFICATION-TYPE
   OBJECTS { fullLogLine, ruleName }
   STATUS current
   DESCRIPTION
      "data.local.set() has run out of space"
   ::= { trapsZero 228 }

--=============================================================================
-- GLB Service Rules
--=============================================================================

serviceruleabort NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName, ruleName }
   STATUS current
   DESCRIPTION
      "GLB service rule aborted during execution"
   ::= { trapsZero 218 }

servicerulelocunknown NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName, ruleName }
   STATUS current
   DESCRIPTION
      "GLB service rule specified an unknown location"
   ::= { trapsZero 219 }

servicerulelocnotconfigured NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName, ruleName }
   STATUS current
   DESCRIPTION
      "GLB service rule specified a location that is not configured for the service"
   ::= { trapsZero 220 }

servicerulelocdead NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName, ruleName }
   STATUS current
   DESCRIPTION
      "GLB service rule specified a location that has either failed or been marked as draining in the service configuration"
   ::= { trapsZero 221 }


--=============================================================================
-- License keys
--=============================================================================

expired NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key has expired"
   ::= { trapsZero 57 }

licensecorrupt NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key is corrupt"
   ::= { trapsZero 58 }

expiresoon NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key expires within 7 days"
   ::= { trapsZero 59 }

usinglicense NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "Using license key"
   ::= { trapsZero 60 }

licenseclustertoobig NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Cluster size exceeds license key limit"
   ::= { trapsZero 61 }

unlicensed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Started without a license"
   ::= { trapsZero 62 }

usingdevlicense NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Using a development license"
   ::= { trapsZero 63 }

morememallowed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "License allows more memory for caching"
   ::= { trapsZero 124 }

lessmemallowed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "License allows less memory for caching"
   ::= { trapsZero 125 }

cachesizereduced NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Configured cache size exceeds license limit, only using amount allowed by license"
   ::= { trapsZero 123 }

tpslimited NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "License key transactions-per-second limit has been hit"
   ::= { trapsZero 134 }

ssltpslimited NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "License key SSL transactions-per-second limit has been hit"
   ::= { trapsZero 135 }

bwlimited NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "License key bandwidth limit has been hit"
   ::= { trapsZero 136 }

licensetoomanylocations NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "A location has been disabled because you have exceeded the licence limit"
   ::= { trapsZero 137 }

autoscalinglicenseerror NOTIFICATION-TYPE
  OBJECTS { fullLogLine }   
   STATUS current
  DESCRIPTION
     "Autoscaling not permitted by licence key"
  ::= { trapsZero 175 }

autoscalinglicenseenabled NOTIFICATION-TYPE
  OBJECTS { fullLogLine }   
   STATUS current
  DESCRIPTION
     "Autoscaling support has been enabled"
  ::= { trapsZero 176 }

autoscalinglicensedisabled NOTIFICATION-TYPE
  OBJECTS { fullLogLine }   
   STATUS current
  DESCRIPTION
     "Autoscaling support has been disabled"
  ::= { trapsZero 177 }

analyticslicenseenabled NOTIFICATION-TYPE
  OBJECTS { fullLogLine }   
   STATUS current
  DESCRIPTION
     "Realtime Analytics support has been enabled"
  ::= { trapsZero 180 }

analyticslicensedisabled NOTIFICATION-TYPE
  OBJECTS { fullLogLine }   
   STATUS current
  DESCRIPTION
     "Realtime Analytics support has been disabled"
  ::= { trapsZero 181 }

--=============================================================================
-- Pools
--=============================================================================

poolnonodes NOTIFICATION-TYPE
   OBJECTS { fullLogLine, poolName }
   STATUS current
   DESCRIPTION
   "Pool configuration contains no valid backend nodes"
   ::= { trapsZero 64 }

poolok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, poolName }
   STATUS current
   DESCRIPTION
   "Pool now has working nodes"
   ::= { trapsZero 65 }

pooldied NOTIFICATION-TYPE
   OBJECTS { fullLogLine, poolName }
   STATUS current
   DESCRIPTION
   "Pool has no back-end nodes responding"
   ::= { trapsZero 66 }

noderesolvefailure NOTIFICATION-TYPE
   OBJECTS { fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Failed to resolve node address"
   ::= { trapsZero 67 }

noderesolvemultiple NOTIFICATION-TYPE
   OBJECTS { fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Node resolves to multiple IP addresses"
   ::= { trapsZero 68 }

nodeworking NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "Node is working again"
   ::= { trapsZero 69 }

nostarttls NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "Node doesn't provide STARTTLS support"
   ::= { trapsZero 70 }

nodefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "Node has failed"
   ::= { trapsZero 71 }

nodedrainingtodelete NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION 
       "Removed node is in use and will be drained"
   ::= { trapsZero 280 }

nodedrainingtodeletetimeout NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION 
       "Draining to delete period for node has expired"
   ::= { trapsZero 281 }

starttlsinvalid NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "Node returned invalid STARTTLS response"
   ::= { trapsZero 72 }

ehloinvalid NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "Node returned invalid EHLO response"
   ::= { trapsZero 73 }

usedcredsdeleted NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, cloudcredentialsName }
   STATUS current
   DESCRIPTION
      "A Cloud Credentials object has been deleted but it was still in use"
   ::= { trapsZero 126 }


autoscalestatusupdateerror NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, cloudcredentialsName }
   STATUS current
   DESCRIPTION
      "An API call made by the autoscaler process has reported an error"
   ::= { trapsZero 129 }

autoscaleresponseparseerror NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, cloudcredentialsName }
   STATUS current
   DESCRIPTION
      "An API call made by the autoscaler process has returned a response that could not be parsed"
   ::= { trapsZero 159 }

autoscalingchangeprocessfailure NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "An API process that should have created or destroyed a node has failed to produce the expected result"
   ::= { trapsZero 182 }

autoscalewrongimageid NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A node created by the autoscaler has the wrong imageid"
  ::= { trapsZero 183 }

autoscalewrongname NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A node created by the autoscaler has a non-matching name"
  ::= { trapsZero 184 }

autoscalewrongsizeid NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A node created by the autoscaler has the wrong sizeid"
  ::= { trapsZero 185 }

apistatusprocesshanging NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, cloudcredentialsName }
   STATUS current
   DESCRIPTION
      "A cloud API process querying changes to cloud instances is hanging"
   ::= { trapsZero 127 }


autonodedestructioncomplete NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "The destruction of a node in an autoscaled pool is now complete"
   ::= { trapsZero 138 }


autonodeexisted NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "IP address of newly created instance already existed in pool's node list"
   ::= { trapsZero 139 }


autoscaledpooltoosmall NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Minimum size undercut - growing"
   ::= { trapsZero 140 }


autoscaleinvalidargforcreatenode NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "The 'imageid' was empty when attempting to create a node in an autoscaled pool"
   ::= { trapsZero 141 }


autonodedisappeared NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A node in an autoscaled pool has disappeared from the cloud"
   ::= { trapsZero 142 }


autonoderemoved NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A node in an DNS-derived autoscaled pool has been removed"
   ::= { trapsZero 244 }


nameserverunavailable NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "DNS-derived Autoscaling will not update, as the DNS server is unavailable"
   ::= { trapsZero 256 }


nameserveravailable NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "DNS-derived Autoscaling will resume updating, as the DNS server is now responding"
   ::= { trapsZero 257 }


autoscaleresolvefailure NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A hostname used for DNS-derived Autoscaling doesn't resolve"
   ::= { trapsZero 258 }


autoscaledpoolrefractory NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "An autoscaled pool is now refractory"
   ::= { trapsZero 143 }


cannotshrinkemptypool NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Attempt to scale down a pool that only had pending nodes or none at all"
   ::= { trapsZero 144 }


autoscalinghysteresiscantgrow NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "An autoscaled pool is waiting to grow"
   ::= { trapsZero 145 }


autonodecreationcomplete NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "The creation of a new node requested by an autoscaled pool is now complete"
   ::= { trapsZero 146 }


autonodestatuschange NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "The status of a node in an autoscaled pool has changed"
   ::= { trapsZero 147 }


autoscalinghysteresiscantshrink NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "An autoscaled pool is waiting to shrink"
   ::= { trapsZero 148 }


autoscalingpoolstatechange NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "An autoscaled pool's state has changed"
   ::= { trapsZero 149 }


autonodedestroyed NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A cloud API call to destroy a node has been started"
   ::= { trapsZero 128 }


autonodecreationstarted NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Creation of new node instigated"
   ::= { trapsZero 165 }


autoscaleinvalidargfordeletenode NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "'unique id' was empty when attempting to destroy a node in an autoscaled pool"
   ::= { trapsZero 166 }


autoscalinghitroof NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Maximum size reached by autoscaled pool, cannot grow further"
   ::= { trapsZero 167 }


autoscalinghitfloor NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Minimum size reached, cannot shrink further"
   ::= { trapsZero 168 }


apichangeprocesshanging NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "API change process still running after refractory period is over"
   ::= { trapsZero 169 }


autoscaledpooltoobig NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Over maximum size - shrinking"
   ::= { trapsZero 170 }

autoscalingprocesstimedout NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, cloudcredentialsName }
   STATUS current
   DESCRIPTION
      "A cloud API process has timed out"
   ::= { trapsZero 171 }

autoscalingdisabled NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Autoscaling for a pool has been disabled due to errors communicating with the cloud API"
   ::= { trapsZero 172 }

autoscalednodecontested NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "Two pools are trying to use the same instance"
   ::= { trapsZero 163 }

autoscalepoolconfupdate NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
      "A pool config file has been updated by the autoscaler process"
   ::= { trapsZero 164 }

autoscalingresuscitatepool NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
       "An autoscaled pool has failed completely"
   ::= { trapsZero 188 }

autonodenopublicip NOTIFICATION-TYPE
   OBJECTS{ fullLogLine, poolName }
   STATUS current
   DESCRIPTION
       "Node has no public IP address"
   ::= { trapsZero 238 }


--=============================================================================
-- Traffic IPs
--=============================================================================

flipperraiselocalworking NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Raising Traffic IP Address; local machine is working"
   ::= { trapsZero 74 }

flipperraiseothersdead NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Raising Traffic IP Address; other machines have failed"
   ::= { trapsZero 75 }

flipperraiseosdrop NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Raising Traffic IP Address; Operating System had dropped this IP address"
   ::= { trapsZero 76 }

dropipinfo NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Dropping Traffic IP Address due to a configuration change or traffic manager recovery"
   ::= { trapsZero 77 }

dropipwarn NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Dropping Traffic IP Address due to an error"
   ::= { trapsZero 78 }

flipperdadreraise NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Re-raising Traffic IP Address; Operating system did not fully raise the address"
   ::= { trapsZero 79 }

flipperipexists NOTIFICATION-TYPE
   OBJECTS { fullLogLine, trafficIPInet46AddressType, trafficIPInet46Address }
   STATUS current
   DESCRIPTION
      "Failed to raise Traffic IP Address; the address exists elsewhere on your network and cannot be raised"
   ::= { trapsZero 80 }


--=============================================================================
-- Service protection
--=============================================================================

triggersummary NOTIFICATION-TYPE
   OBJECTS { fullLogLine, serviceProtName }
   STATUS current
   DESCRIPTION
      "Summary of recent service protection events"
   ::= { trapsZero 81 }

--=============================================================================
-- SLM
--=============================================================================

slmclasslimitexceeded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "SLM shared memory limit exceeded"
   ::= { trapsZero 82 }

slmrecoveredwarn NOTIFICATION-TYPE
   OBJECTS { fullLogLine, serviceLevelName }
   STATUS current
   DESCRIPTION
      "SLM has recovered"
   ::= { trapsZero 83 }

slmrecoveredserious NOTIFICATION-TYPE
   OBJECTS { fullLogLine, serviceLevelName }
   STATUS current
   DESCRIPTION
      "SLM has risen above the serious threshold"
   ::= { trapsZero 84 }

slmfallenbelowwarn NOTIFICATION-TYPE
   OBJECTS { fullLogLine, serviceLevelName }
   STATUS current
   DESCRIPTION
      "SLM has fallen below warning threshold"
   ::= { trapsZero 85 }

slmfallenbelowserious NOTIFICATION-TYPE
   OBJECTS { fullLogLine, serviceLevelName }
   STATUS current
   DESCRIPTION
      "SLM has fallen below serious threshold"
   ::= { trapsZero 86 }



--=============================================================================
-- Virtual servers
--=============================================================================


vscrloutofdate NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "CRL for a Certificate Authority is out of date"
   ::= { trapsZero 87 }

vsstart NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Virtual server started"
   ::= { trapsZero 88 }

vsstop NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Virtual server stopped"
   ::= { trapsZero 89 }

privkeyok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Private key now OK (hardware available)"
   ::= { trapsZero 90 }

ssldrop NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Request(s) received while SSL configuration invalid, connection closed"
   ::= { trapsZero 91 }

vslogwritefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Failed to write log file for virtual server"
   ::= { trapsZero 92 }

vssslcertexpired NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Public SSL certificate expired"
   ::= { trapsZero 93 }

vssslcerttoexpire NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Public SSL certificate will expire within seven days"
   ::= { trapsZero 94 }

vscacertexpired NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Certificate Authority certificate expired"
   ::= { trapsZero 95 }

vscacerttoexpire NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "Certificate Authority certificate will expire within seven days"
   ::= { trapsZero 96 }

sslhandshakemsgsizelimit NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "SSL handshake messages have exceeded the size permitted by configuration"
   ::= { trapsZero 200 }

sslrehandshakemininterval NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "SSL re-handshake requests have exceeded the frequency permitted by configuration"
   ::= { trapsZero 199 }


--=============================================================================
-- GLB
--=============================================================================

glbmissingips NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "A DNS Query returned IP addresses that are not configured in any location"
   ::= { trapsZero 150 }

glbdeadlocmissingips NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "A DNS Query returned IP addresses that are not configured for any location that is currently alive"
   ::= { trapsZero 158 }

glbnolocations NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "No valid location could be chosen for Global Load Balancing"
   ::= { trapsZero 151 }

glbactivedcmismatch NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Active datacentre mismatches among cluster members"
   ::= { trapsZero 272 }

locationmonitorok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "A monitor has indicated this location is now working"
   ::= { trapsZero 152 }

locationmonitorfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "A monitor has detected a failure in this location"
   ::= { trapsZero 153 }

locationok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "Location is now healthy for GLB Service"
   ::= { trapsZero 154 }

locationfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "Location has failed for GLB Service"
   ::= { trapsZero 155 }

locationsoapok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "An external SOAP agent indicates this location is now working"
   ::= { trapsZero 156 }

locationsoapfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "An external SOAP agent has detected a failure in this location"
   ::= { trapsZero 157 }

locationdraining NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "Location is being drained for GLB Service"
   ::= { trapsZero 273 }

locationnotdraining NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "Location is not being drained for GLB Service"
   ::= { trapsZero 274 }

locationdisabled NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "Location has been disabled for GLB Service"
   ::= { trapsZero 275 }

locationenabled NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION 
       "Location has just been enabled for GLB Service"
   ::= { trapsZero 276 }

locationunavailable NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION 
       "Location has become unavailable for GLB Service"
   ::= { trapsZero 277 }
   
locationavailable NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION 
       "Location is now available for GLB Service"
   ::= { trapsZero 278 }

glbmanualfailback NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION 
       "Manual failback triggered"
   ::= { trapsZero 279 }

glbnewmaster NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, glbServiceName }
   STATUS current
   DESCRIPTION
       "A location has been set as active for a GLB service"
   ::= { trapsZero 160 }

glblogwritefail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION
       "Failed to write log file for GLB service"
   ::= { trapsZero 161 }

glbfailalter NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION
       "Failed to alter DNS packet for global load balancing"
   ::= { trapsZero 162 }

glbservicedied NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION
       "GLB Service has failed"
   ::= { trapsZero 190 }

glbserviceok NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION
       "GLB Service has recovered"
   ::= { trapsZero 191 }

locmovemachine NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName, zxtmName }
   STATUS current
   DESCRIPTION
      "Machine now in location"
   ::= { trapsZero 173 }

locempty NOTIFICATION-TYPE
   OBJECTS { fullLogLine, locationName }
   STATUS current
   DESCRIPTION
      "Location no longer contains any machines"
   ::= { trapsZero 174 }

glbtoomanylocations NOTIFICATION-TYPE
   OBJECTS { fullLogLine, glbServiceName }
   STATUS current
   DESCRIPTION
      "There are too many Data Centers configured and the Global Load Balancing feature is not guaranteed to work reliably with more than 255 Data Centres"
   ::= { trapsZero 259 }

dnszonevalidate NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has failed to validate a DNS zone file"
   ::= { trapsZero 260 }

dnszonecreaterecord NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has failed to create a DNS record"
   ::= { trapsZero 261 }

dnszoneparsechild NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS obsolete
   DESCRIPTION
      "The built-in DNS server has failed to parse a DNS zone file"
   ::= { trapsZero 262 }

dnserroraddzone NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has failed to add a DNS zone"
   ::= { trapsZero 263 }

dnsaddzone NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has successfully added a DNS zone"
   ::= { trapsZero 264 }

dnszoneparse NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has failed to parse a DNS zone file"
   ::= { trapsZero 265 }

dnszonedelete NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
     "DNS zone has been deleted"
   ::= { trapsZero 268 }

dnserrordeletezone NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
      "The built-in DNS server has failed to delete a DNS zone"
   ::= { trapsZero 269 }

dnssecexpired NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
      "DNSSEC zone contains expired signatures"
   ::= { trapsZero 270 }

dnssecexpires NOTIFICATION-TYPE
   OBJECTS { fullLogLine, confName, domainName }
   STATUS current
   DESCRIPTION
      "DNSSEC zone contains signatures that are about to expire"
   ::= { trapsZero 271 }

--=============================================================================
-- FIPS
--=============================================================================

fipsfailinit NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "FIPS 140-2 cryptographic module initialization failed"
   ::= { trapsZero 229 }

fipsfailops NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "FIPS 140-2 cryptographic module operations failed"
   ::= { trapsZero 230 }

--=============================================================================
-- OCSP Stapling
--=============================================================================

ocspstaplingfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "OCSP request (for OCSP stapling) failed"
   ::= { trapsZero 234 }

ocspstaplingnomem NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Insufficient memory for OCSP stapling"
   ::= { trapsZero 235 }

ocspstaplingrevoked NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "An OCSP request (for OCSP stapling) reported that a certificate was revoked"
   ::= { trapsZero 239 }

ocspstaplingunknown NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "An OCSP request (for OCSP stapling) reported that a certificate was unknown"
   ::= { trapsZero 240 }

ocspstaplingunrevoked NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "An old but good OCSP response was returned for a revoked certificate"
   ::= { trapsZero 241 }

--=============================================================================
-- Routing software (ZebOS, for RHI)
--=============================================================================

routingswoperational NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Routing software is now operational"
   ::= { trapsZero 245 }

routingswfailurelimitreached NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Routing software has failed and reached its failure limit"
   ::= { trapsZero 246 }

routingswfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Routing software had a major failure and will be restarted"
   ::= { trapsZero 247 }

routingswstartfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Routing software failed to start"
   ::= { trapsZero 248 }

ospfneighborsok NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "All monitored OSPF neighbors are peered"
   ::= { trapsZero 253 }

ospfneighborsdegraded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Some of the monitored OSPF neighbors are not peered"
   ::= { trapsZero 254 }

ospfneighborsfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "None of the monitored OSPF neighbors are peered"
   ::= { trapsZero 255 }

bgpneighborsok NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "There are established sessions with all BGP neighbors"
   ::= { trapsZero 282 }

bgpneighborsdegraded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Some of the BGP neighbors do not have established sessions"
   ::= { trapsZero 283 }

bgpneighborsfailed NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "None of the BGP neighbors have an established session"
   ::= { trapsZero 284 }

bgpnoneighbors NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "There are no valid BGP neighbors defined"
   ::= { trapsZero 285 }


--=============================================================================
-- Other
--=============================================================================

maxclientbufferdrop NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Dropped connection, request exceeded max_client_buffer limit"
   ::= { trapsZero 97 }

respcompfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Error compressing HTTP response"
   ::= { trapsZero 98 }

responsetoolarge NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Response headers from webserver too large"
   ::= { trapsZero 99 }

sipstreamnoports NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "No suitable ports available for streaming data connection"
   ::= { trapsZero 100 }

rtspstreamnoports NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "No suitable ports available for streaming data connection"
   ::= { trapsZero 101 }

geodataloadfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Failed to load geolocation data"
   ::= { trapsZero 102 }

poolpersistencemismatch NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Pool uses a session persistence class that does not work with this virtual server's protocol"
   ::= { trapsZero 103 }

connerror NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "A protocol error has occurred"
   ::= { trapsZero 104 } 

connfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "A socket connection failure has occurred"
   ::= { trapsZero 105 } 

badcontentlen NOTIFICATION-TYPE
   OBJECTS { fullLogLine, perPoolNodePoolName, perPoolNodeNodeAddressType, perPoolNodeNodeAddress, perPoolNodeNodePort }
   STATUS current
   DESCRIPTION
      "HTTP response contained an invalid Content-Length header"
   ::= { trapsZero 106 }

logfiledeleted NOTIFICATION-TYPE
   OBJECTS { fullLogLine, virtualserverName }
   STATUS current
   DESCRIPTION
      "A virtual server request log file was deleted (appliances only)"
   ::= { trapsZero 115 }

license-graceperiodexpired NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "Unable to authorize license key"
   ::= { trapsZero 116 }

license-authorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key authorized"
   ::= { trapsZero 117 }

license-rejected-authorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License server rejected license key; key remains authorized"
   ::= { trapsZero 118 }

license-rejected-unauthorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License server rejected license key; key is not authorized"
   ::= { trapsZero 119 }

license-timedout-authorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "Unable to contact license server; license key remains authorized"
   ::= { trapsZero 120 }

license-timedout-unauthorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "Unable to contact license server; license key is not authorized"
   ::= { trapsZero 121 }

license-unauthorized NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key is not authorized"
   ::= { trapsZero 122 }

license-rejected-unauthorized-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key rejected from authorization code"
   ::= { trapsZero 192 }

license-authorized-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION 
      "License key authorized by authorization code"
   ::= { trapsZero 193 }

license-rejected-authorized-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key rejected from authorization code; key remains authorized"
   ::= { trapsZero 194 }

license-timedout-authorized-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION 
      "Unable to run authorization code to completion; key remains valid"
   ::= { trapsZero 195 }

license-timedout-unauthorized-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION 
      "Unable to run authorization code to completion"
   ::= { trapsZero 196 }

license-graceperiodexpired-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "Unable to authorize license key"
   ::= { trapsZero 197 }

license-explicitlydisabled-ts NOTIFICATION-TYPE
   OBJECTS { fullLogLine, licensekeyName }
   STATUS current
   DESCRIPTION
      "License key explicitly disabled from authorization code"
   ::= { trapsZero 209 }

numnodes-exceeded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Total number of nodes exceeded the maximum number of nodes that can be monitored"
   ::= { trapsZero 205 } 

numpools-exceeded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Total number of pools exceeded the maximum limit"
   ::= { trapsZero 202 } 

numlocations-exceeded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Total number of locations exceeded the maximum limit"
   ::= { trapsZero 203 } 

numtipg-exceeded NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Total number of traffic IP group exceeded the maximum limit"
   ::= { trapsZero 204 } 

logdiskoverload NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Log disk partition usage has exceeded threshold"
   ::= { trapsZero 186 } 

logdiskfull NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Log disk partition full"
   ::= { trapsZero 187 }

zxtmhighload NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The number of simultaneously active connections has reached a level that the software cannot process in due time; there is a high risk of connections timing out"
   ::= { trapsZero 189 }

sslcrltoobig NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "CRL does not fit in the configured amount of shared memory, increase ssl!crl_mem!size and restart software"
   ::= { trapsZero 201 }

childcommsfail NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "There was an error communicating with a child process"
   ::= { trapsZero 225 }

childhung NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS deprecated
   DESCRIPTION
      "The child process did not respond within the configured time"
   ::= { trapsZero 226 }

childkilled NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS deprecated
   DESCRIPTION
      "The child process has been killed because it did not respond to control requests within the configured time"
   ::= { trapsZero 227 }

clocknotmonotonic NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The monotonic system clock went backwards"
   ::= { trapsZero 231 }

clockjump NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The system clock jumped forwards or backwards by more than one second"
   ::= { trapsZero 232 }

zxtmcpustarvation NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "The number of simultaneously active connections has reached a level that the software cannot process in due time because of CPU starvation; there is a high risk of connections timing out"
   ::= { trapsZero 286 }

--==================================================================
-- Application Firewall
--==================================================================

appfirewallcontrolstarted NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Application firewall started"
   ::= { trapsZero 243 }

appfirewallcontrolstopped NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Application firewall stopped"
   ::= { trapsZero 249 }

appfirewallcontrolrestarted NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Application firewall restarted"
   ::= { trapsZero 250 }

appfirewallcontroltimeout NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Application firewall control command timed out"
   ::= { trapsZero 251 }

appfirewallcontrolerror NOTIFICATION-TYPE
   OBJECTS { fullLogLine }
   STATUS current
   DESCRIPTION
      "Application firewall control command failed"
   ::= { trapsZero 252 }


--==================================================================
-- Cloud Credentials
--==================================================================

cloudcredentialsClassNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of cloud credentials sets defined."
   ::= { cloudcredentials 1 }

--=======
-- Individual Sets of Cloud Credentials
--=======

cloudcredentialsTable OBJECT-TYPE
   SYNTAX SEQUENCE OF CloudcredentialsEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides statistics for cloud credentials sets."
   ::= { cloudcredentials 2 }

cloudcredentialsEntry OBJECT-TYPE
   SYNTAX CloudcredentialsEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION "This defines a row in the cloud credentials table."
   INDEX { cloudcredentialsName }
   ::= { cloudcredentialsTable 1 }

CloudcredentialsEntry ::=
   SEQUENCE {
      cloudcredentialsName            DisplayString,
      cloudcredentialsStatusRequests  Counter32,
      cloudcredentialsNodeCreations   Counter32,
      cloudcredentialsNodeDeletions   Counter32
   }

cloudcredentialsName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION "The name of this set of cloud credentials."
   ::= { cloudcredentialsEntry 1 }

cloudcredentialsStatusRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION "The number of status API requests made
               with this set of cloud credentials."
   ::= { cloudcredentialsEntry 2 }

cloudcredentialsNodeCreations OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION "The number of instance creation API requests
               made with this set of cloud credentials."
   ::= { cloudcredentialsEntry 3 }


cloudcredentialsNodeDeletions OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION "The number of instance destruction API requests
               made with this set of cloud credentials."
   ::= { cloudcredentialsEntry 4 }


--======================================================
-- Listen IP Table (IPv4 and IPv6 addresses are allowed)
--======================================================

listenIPTable OBJECT-TYPE
   SYNTAX SEQUENCE OF ListenIPEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table defines all the information for a particular listening IP (includes IPv4 and IPv6 addresses)."
   ::= { listenips 2 }

listenIPEntry OBJECT-TYPE
   SYNTAX ListenIPEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the listenips table (includes IPv4 and IPv6 addresses)."
   INDEX { listenIPAddressType, listenIPAddress }
   ::= { listenIPTable 1 }

ListenIPEntry ::=
   SEQUENCE {
      listenIPAddressType      InetAddressType,
      listenIPAddress          InetAddress,
      listenIPBytesInLo        Counter32,
      listenIPBytesInHi        Counter32,
      listenIPBytesOutLo       Counter32,
      listenIPBytesOutHi       Counter32,
      listenIPCurrentConn      Gauge32,
      listenIPTotalConn        Counter32,
      listenIPMaxConn          Gauge32,
      listenIPBytesIn          Counter64,
      listenIPBytesOut         Counter64,
      listenIPTotalRequestsLo  Counter32,
      listenIPTotalRequestsHi  Counter32,
      listenIPTotalRequests    Counter64
   }

listenIPAddressType OBJECT-TYPE
   SYNTAX InetAddressType
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IP address type of this listening IP."
   ::= { listenIPEntry 1 }

listenIPAddress OBJECT-TYPE
   SYNTAX InetAddress (SIZE (1..64))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The IPv4 or IPv6 address of this listening IP."
   ::= { listenIPEntry 2 }

listenIPBytesInLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this listening IP ( low 32bits )."
   ::= { listenIPEntry 3 }

listenIPBytesInHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent to this listening IP ( high 32bits )."
   ::= { listenIPEntry 4 }

listenIPBytesOutLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent from this listening IP ( low 32bits )."
   ::= { listenIPEntry 5 }

listenIPBytesOutHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Bytes sent from this listening IP ( high 32bits )."
   ::= { listenIPEntry 6 }

listenIPCurrentConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "TCP connections currently established to this listening IP."
   ::= { listenIPEntry 7 }

listenIPTotalConn OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Formerly provided the number of requests sent to this listening IP, now deprecated."
   ::= { listenIPEntry 8 }

listenIPMaxConn OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Maximum number of simultaneous TCP connections this listening IP
       has processed at any one time."
   ::= { listenIPEntry 9 }

listenIPBytesIn OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent to this listening IP."
   ::= { listenIPEntry 10 }

listenIPBytesOut OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Bytes sent from this listening IP."
   ::= { listenIPEntry 11 }

listenIPTotalRequestsLo OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests sent to this listening IP."
   ::= { listenIPEntry 12 }

listenIPTotalRequestsHi OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS obsolete
   DESCRIPTION
      "Requests sent to this listening IP."
   ::= { listenIPEntry 13 }

listenIPTotalRequests OBJECT-TYPE
   SYNTAX Counter64
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Requests sent to this listening IP."
   ::= { listenIPEntry 14 }

--============================
-- Authenticators
--============================

authenticatorNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of Authenticators."
   ::= { authenticators 1 }

--============================
-- Authenticators Table
--============================

authenticatorTable OBJECT-TYPE
   SYNTAX SEQUENCE OF AuthenticatorEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for Authenticators."
   ::= { authenticators 2 }

authenticatorEntry OBJECT-TYPE
   SYNTAX AuthenticatorEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the authenticators table."
   INDEX { authenticatorName }
   ::= { authenticatorTable 1 }

AuthenticatorEntry ::= SEQUENCE {
      authenticatorName     DisplayString,
      authenticatorRequests Counter32,
      authenticatorPasses   Counter32,
      authenticatorFails    Counter32,
      authenticatorErrors   Counter32
   }

authenticatorName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the Authenticator."
   ::= { authenticatorEntry 1 }

authenticatorRequests OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this Authenticator has been asked to authenticate."
   ::= { authenticatorEntry 2 }

authenticatorPasses OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this Authenticator has successfully authenticated."
   ::= { authenticatorEntry 3 }

authenticatorFails OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of times this Authenticator has failed to authenticate."
   ::= { authenticatorEntry 4 }

authenticatorErrors OBJECT-TYPE
   SYNTAX Counter32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "Number of connection errors that have occurred when trying to connect to an authentication server."
   ::= { authenticatorEntry 5 }

--============================
-- Steelhead Discovery Agent
--============================
 
steelheadNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of Steelheads."
   ::= { steelheads 1 }

--============================
-- Steelheads Table
--============================

steelheadTable OBJECT-TYPE
   SYNTAX SEQUENCE OF SteelheadEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table provides information and statistics for Steelheads."
   ::= { steelheads 2 }

steelheadEntry OBJECT-TYPE
   SYNTAX SteelheadEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the steelheads table."
   INDEX { steelheadName }
   ::= { steelheadTable 1 }

SteelheadEntry ::= SEQUENCE {
      steelheadName        DisplayString,
      steelheadOptimized   Gauge32
   }

steelheadName OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of the Steelhead."
   ::= { steelheadEntry 1 }

steelheadOptimized OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The current number of connections being forwarded to the Cloud Steelhead for optimization."
   ::= { steelheadEntry 2 }

--=============================================================================
-- Data Plane Acceleration assist core utilization
--=============================================================================

dataPlaneAccelCoreNumber OBJECT-TYPE
   SYNTAX Integer32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The number of data plane acceleration cores."
   ::= { dpaCoreUtilization 1 }

--======================
-- Data Plane Acceleration assist core utilization Table
--======================
dpaCoreUtilizationTable OBJECT-TYPE
   SYNTAX SEQUENCE OF DpaCoreUtilizationEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This table gives cpu utilization for the io processors."
   ::= { dpaCoreUtilization 2 }

dpaCoreUtilizationEntry OBJECT-TYPE
   SYNTAX DpaCoreUtilizationEntry
   MAX-ACCESS not-accessible
   STATUS current
   DESCRIPTION
      "This defines a row in the cpu utilization for the data plane acceleration 
      core utilization table."
   INDEX { coreId }
   ::= { dpaCoreUtilizationTable 1 }

DpaCoreUtilizationEntry ::= SEQUENCE {
      coreId    DisplayString,
      coreUtilizationPercent    Gauge32
}

coreId OBJECT-TYPE
   SYNTAX DisplayString (SIZE (0..255))
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The name of data plane acceleration core."
   ::= { dpaCoreUtilizationEntry 1 }

coreUtilizationPercent OBJECT-TYPE
   SYNTAX Gauge32
   MAX-ACCESS read-only
   STATUS current
   DESCRIPTION
      "The cpu utilization of the data plane acceleration core."
   ::= { dpaCoreUtilizationEntry 2 }

END
