snmp_mib_archive/CISCO-CABLE-QOS-MONITOR-MIB.my
Heston Snodgrass 89bf4b016e initial commit
2016-12-15 15:03:18 -07:00

1248 lines
53 KiB
Plaintext

--
-- ********************************************************************
-- CISCO-CABLE-QOS-MONITOR-MIB.my:
-- Cisco Cable QoS Monitoring MIB file
--
-- Jan 2003, Sunethra Jawahar
-- Oct 2003, Gaurav Aggarwal
--
-- Copyright (c) 2003, 2004 by Cisco Systems, Inc.
-- All rights reserved.
-- ********************************************************************
--
--
-- This is the MIB module for subscriber QoS monitoring for
-- DOCSIS-compliant Cable Modem Termination Systems (CMTS).
--
-- QoS Monitoring is a software feature provided in the CMTS so that
-- the CMTS may identify subscribers who over consume resources
-- based on their QoS parameters, report them to a management
-- entity, and automatically mitigate the problem where possible.
-- This is done by penalyzing the violating subscribers by changing
-- their QoS parameters to enforced QoS parameters.
--
-- The MIB allows to create enforce rules which are used to determine the
-- over consumption of resources. The enforce rule contains monitoring
-- and enforced QoS parameters.
--
-- The MIB also provides a unified view of all over-consuming subscribers.
--
--
CISCO-CABLE-QOS-MONITOR-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
Unsigned32,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
TEXTUAL-CONVENTION,
TruthValue,
MacAddress,
RowStatus,
DisplayString,
DateAndTime
FROM SNMPv2-TC
OBJECT-GROUP,
MODULE-COMPLIANCE,
NOTIFICATION-GROUP
FROM SNMPv2-CONF
ifIndex
FROM IF-MIB
ciscoMgmt
FROM CISCO-SMI;
ciscoCableQosMonitorMIB MODULE-IDENTITY
LAST-UPDATED "200402200000Z"
ORGANIZATION "Cisco Systems, Inc."
CONTACT-INFO
" Cisco Systems
Customer Service
Postal: Cisco Systems
170 West Tasman Drive
San Jose, CA 95134
U.S.A.
Phone: +1 800 553-NETS
E-mail: cs-ubr@cisco.com"
DESCRIPTION
"This is the MIB module for subscriber QoS monitoring
for DOCSIS-compliant Cable Modem Termination Systems
(CMTS).
Several subscriber behavior can be monitored:
1. When the subscriber requests for more resources than
as defined by its QoS parameter set. In this case,
though requested for more rate-limiting happens in
the CMTS, hence, the subscriber will get only as much
resources as defined by its registered QoS parameter
set. In this mib, QoS parameter set refers to QoS
profiles for 1.0 modems and refer to service class
names for 1.1 and 2.0 modems.
2. When the subscriber continuously utilizes the resources
to the upper limit or very near to the upper limit as
defined by its QoS parameter set.
3. When the subscriber sometimes or never utilizes the
resources as defined by the upper limit of the QoS
parameter set.
In the first two cases, we need to monitor the subscribers
as upstream/downstream is a shared medium, and if all
subscribers start consuming resources as per their peak
rate, or a percentage of it, CMTS will be hard pressed for
resources. So, even though such subscribers are using
resources within the limits as defined by their QoS
parameter set, from the CMTS point of view, they are
over consuming.
Through out this MIB, we refer to this behavior of
subscribers as over consumption of resources and such
subscribers will be the violating subscribers.
The subscriber QoS Monitoring is a software feature
provided on the CMTS so that the CMTS may identify such
subscribers who over consume resources based on their QoS
parameter set, report them to a management entity, and
automatically mitigate the problem where possible.
This is done by penalizing the violating subscribers by
changing their QoS parameter set to enforced QoS
parameter set.
The MIB allows to create enforce rules which are used to
determine the over consumption of resources. The enforce
rule contains monitoring and enforced QoS parameter set.
The subscribers who over consume their bandwidth are
flagged and NMS notified of all such violations.
The MIB also provides a unified view of all over-consuming
subscribers."
REVISION "200402200000Z"
DESCRIPTION
"Added objects in ccqmCmtsEnforceRuleTable to support DOCSIS1.1,
DOCSIS2.0 modems and peak/off-peak monitoring.
The objects are:
ccqmCmtsEnfRuleAvgRate,
ccqmCmtsEnfRuleDocsVer,
ccqmCmtsEnfRuleRegSerClassName,
ccqmCmtsEnfRuleEnfSerClassName,
ccqmCmtsEnfRuleMonType,
ccqmCmtsEnfRuleFirstPeakTime,
ccqmCmtsEnfRuleFirstDuration,
ccqmCmtsEnfRuleFirstAvgRate,
ccqmCmtsEnfRuleSecondPeakTime,
ccqmCmtsEnfRuleSecondDuration,
ccqmCmtsEnfRuleSecondAvgRate,
ccqmCmtsEnfRuleOffPeakDuration,
ccqmCmtsEnfRuleOffPeakAvgRate
Added ccqmCmtsIfBwUtilTable to provide thresholds for
downstream/upstream bandwidth utilization.
Removed ccqmCmtsEnfRuleByteCount which was obsoleted."
REVISION "200304030000Z"
DESCRIPTION
"Changed ranges of few objects."
REVISION "200303040000Z"
DESCRIPTION
"Initial version of this MIB module."
::= { ciscoMgmt 341 }
CCQMRuleDirection ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The CCQMRuleDirection is used to indicate the direction to
which the enforce rule applies to.
It has the following defined values:
- 'upstream', is used for an enforce rule in the direction from
subscriber to CMTS
- 'downstream', is used for an enforce rule in the direction from
CMTS to the subscriber.
- 'bidirection', which can mean neither upstream or downstream
but a combined enforce rule. "
SYNTAX INTEGER {
upstream(1),
downstream(2),
bidirection(3)
}
ciscoCableQosMonitorMIBObjects
OBJECT IDENTIFIER ::= { ciscoCableQosMonitorMIB 1 }
ccqmEnforceRuleObjects
OBJECT IDENTIFIER ::= { ciscoCableQosMonitorMIBObjects 1 }
ccqmRuleViolateObjects
OBJECT IDENTIFIER ::= { ciscoCableQosMonitorMIBObjects 2 }
ccqmRuleIfBwUtilObjects
OBJECT IDENTIFIER ::= { ciscoCableQosMonitorMIBObjects 3 }
--
-- Cmts Qos Enforce Rule Table
--
-- CMTS maintains a list of QoS enforce rules.
-- These enforce rules define :
-- 1) Criteria for identifying violating subscribers:
-- This criteria could be as simple as bytes transmitted over
-- the last monitoring duration and checked at a rate equal
-- to the sample rate.
-- In the sliding window concept used, the monitoring duration
-- is the size of the window. This window slides by an amount
-- that is equal to the sample rate. At every sample rate the bytes
-- transmitted in the time equal to a monitoring duration is
-- checked. If this is found to be larger than the byte count which
-- is calculated by multiplying the defined average rate by the
-- monitoring duration limit per monitoring duration, the subscriber
-- is flagged as over consuming or violating the enforce rule.
-- Else the monitoring will continue.
-- For example let the monitoring duration be 360 minutes and sample
-- rate be 30 minutes. If the average rate is 2kbits/sec, so
-- the total byte count for the monitoring duration would be
-- 5.4Mbytes then every 30 minutes we check if the bytes
-- transmitted in the last 360 minutes exceeded 5.4Mbytes. If so,
-- the subscriber is over consuming.
--
-- |< Monitoring duration >|
--
-- |S rate |
-- |___________________________|
-- |____________________________|
-- |_____________________________|
-- |______________________________|
-- X X X X X X X
--
-- X -> Check made to see if byte count is exceeded.
-- S rate -> Sample rate
--
-- 2) Registered and Enforced QoS parameter set:
-- Enforce rules have a one to one mapping to QoS profiles
-- (for 1.0 modems) and service class names (for 1.1 and 2.0 modems)
-- that subscribers have registered with. Through out the mib
-- QoS parameter set refers to QoS profiles for 1.0 modems
-- and they refer to service class names for 1.1 and 2.0 modems. If
-- subscribers are found to violate parameters as defined by
-- their Registered Qos parameter set then the Enforced QoS
-- parameter set will be enforced on such subscribers. The rule
-- can be configured such that the enforcement happens automatically
-- or based on some manual settings by NMS.
-- 3) Penalty Period:
-- This defines the time period for which the Enforced Qos
-- parameter set will be applicable. The registered QoS
-- parameter set will be restored when the penalty period
-- expires again based on whether automation was desired.
--
ccqmCmtsEnforceRuleTable OBJECT-TYPE
SYNTAX SEQUENCE OF CcqmCmtsEnforceRuleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the attributes of the QoS enforce rules
present on the CMTS.
These enforce rules define the criteria for identifying
subscribers who over consume resources. This could be as
simple as bytes transmitted over the last monitoring
duration and checked at a rate equal to the sample rate.
In the sliding window concept used, the monitoring duration
is the size of the window. This window slides by an amount
that is equal to the sample rate. At every sample rate the
bytes transmitted in the time equal to a monitoring duration
is checked. If this is found to be larger than the threshold
limit which is calculated by multiplying the defined average
rate by the monitoring duration per monitoring duration,
the subscriber is flagged as over consuming. Else the
monitoring will continue.
For example let the monitoring duration be 360 minutes and
sample rate be 30 minutes. If the average rate is 2kbits/sec
then every 30 minutes we check if the bytes transmitted in
the last 360 minutes exceeded 5.4Mbytes bytes. If so, the
subscriber is over consuming.
The enforce rule has a one to one mapping to QoS profiles
in case of DOCSIS1.0 (and DOCSIS1.0+ modems) and to
service class names in case of DOCSIS1.1 and
DOCSIS2.0 modems.
It defines the registered QoS parameter set and an enforced
QoS parameter set be applied if found to be violating the
registered QoS parameter set.
The enforce rule also defines a penalty period for which
the enforced QoS parameter set will be applied. The
registered QoS parameter set will be restored when the
penalty period expires.
The monitoring can be of two types:
1) Legacy/Basic monitoring: There is only one threshold and
one monitoring-duration and the monitoring-duration
can be more than one day and within a day there is no
distinction among hours as peak or offpeak hours. An
example would be:
monitoring duration : 2 days
Average rate : 2kbits/sec
2) Peak-offPeak monitoring: A maximum of two peak durations
can be defined with in a day and the remaining hours are
treated as off-peak and the monitoring will happen during
these offpeak hours if the offpeak duration and threhold
are defined. The monitoring-duration and threshold for
all three, first peak, second peak and offpeak can be
different. Here, the monitoring duration for any of the
peaks or offpeak cannot be more than a day. An
example when both peaks and offpeak are defined is:
First peak:
monitoring duration: Between 6am to 9am i.e., 3hours
Average rate : 2kbits/sec
Second peak:
monitoring duration: Between 6pm to 10pm i.e., 4hrs
Average rate : 3kbits/sec
Off peak:
Remaining hours in the day i.e.,
12 midnight to 6:00am,
9am to 6pm and 10pm to 12mignight.
monitoring duration: 2 hours
Average rate : 1kbits/sec."
::= { ccqmEnforceRuleObjects 1 }
ccqmCmtsEnforceRuleEntry OBJECT-TYPE
SYNTAX CcqmCmtsEnforceRuleEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of attributes of a enforce rule on the CMTS.
One entry exists for each QoS enforce rule. It is
indexed by ccqmCmtsEnfRuleName as each enforce rule
is associated with a unique name. The user can define
the legacy/basic monitoring as:
Suppose, the duration is 2 hours and the average rate
is 2kbits/sec, so the following object would be need
to set:
ccqmCmtsEnfRuleMonType = 1 (Basic)
ccqmCmtsEnfRuleMonDuration = 120 (minutes)
ccqmCmtsEnfRuleAvgRate = 2 (kbits/sec)
Consider the example of setting the following peak-offpeak
monitoring:
First peak time:
Morning 6:00am to 9:00am.
Average rate is 2kbits/sec.
Second peak time:
Evening 6:00pm to 10:00pm.
Average rate is 3kbits/sec.
Offpeak time:
The remaining time i.e., 12:00 midnight to 6:00am
and from 9:00am to 6:00pm and 10:00pm to 12:00
midnight would constitute the offpeak time.
Let us assume the monitoring-duration is 2 hours
and the average rate is 1kbits/sec.
And so the relevant objects would look like:
ccqmCmtsEnfRuleMonType = 2 (peakOffPeak)
ccqmCmtsEnfRuleFirstPeakTime = 6 (0600 hours)
ccqmCmtsEnfRuleFirstDuration = 180 min (3 hours)
ccqmCmtsEnfRuleFirstAvgRate = 2 (kbits/sec)
ccqmCmtsEnfRuleSecondPeakTime = 18 (1800 hours)
ccqmCmtsEnfRuleSecondDuration = 240 min (4 hours)
ccqmCmtsEnfRuleSecondAvgRate = 3 (kbits/sec)
ccqmCmtsEnfRuleOffPeakDuration = 160 min (2 hours)
ccqmCmtsEnfRuleOffPeakAvgRate = 1 (kbits/sec)."
INDEX { ccqmCmtsEnfRuleName }
::= { ccqmCmtsEnforceRuleTable 1 }
CcqmCmtsEnforceRuleEntry ::= SEQUENCE {
ccqmCmtsEnfRuleName DisplayString,
ccqmCmtsEnfRuleRegQoS Unsigned32,
ccqmCmtsEnfRuleEnfQos Unsigned32,
ccqmCmtsEnfRuleMonDuration Unsigned32,
ccqmCmtsEnfRuleSampleRate Unsigned32,
ccqmCmtsEnfRulePenaltyPeriod Unsigned32,
ccqmCmtsEnfRuleByteCount Unsigned32,
ccqmCmtsEnfRuleDirection CCQMRuleDirection,
ccqmCmtsEnfRuleAutoEnforce TruthValue,
ccqmCmtsEnfRuleRowStatus RowStatus,
ccqmCmtsEnfRuleAvgRate Unsigned32,
ccqmCmtsEnfRuleDocsVer INTEGER,
ccqmCmtsEnfRuleRegSerClassName DisplayString,
ccqmCmtsEnfRuleEnfSerClassName DisplayString,
ccqmCmtsEnfRuleMonType INTEGER,
ccqmCmtsEnfRuleFirstPeakTime Unsigned32,
ccqmCmtsEnfRuleFirstDuration Unsigned32,
ccqmCmtsEnfRuleFirstAvgRate Unsigned32,
ccqmCmtsEnfRuleSecondPeakTime Unsigned32,
ccqmCmtsEnfRuleSecondDuration Unsigned32,
ccqmCmtsEnfRuleSecondAvgRate Unsigned32,
ccqmCmtsEnfRuleOffPeakDuration Unsigned32,
ccqmCmtsEnfRuleOffPeakAvgRate Unsigned32
}
ccqmCmtsEnfRuleName OBJECT-TYPE
SYNTAX DisplayString (SIZE(1..15))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name of the enforce rule."
::= { ccqmCmtsEnforceRuleEntry 1 }
ccqmCmtsEnfRuleRegQoS OBJECT-TYPE
SYNTAX Unsigned32 (0..16383)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents a pointer to the object
describing the quality of service attributes
associated with the registered service of the
subscriber.
For DOCSIS1.0 (DOCSIS1.0+) subscribers it is the
index in the docsIfQosProfileTable. If no associated
entry in docsIfQosProfileTable exists, this object
returns a value of zero. Similarly this object
can be set to 0 to indicate no entry in the
docsIfQosProfileTable associated with this QoS profile.
This object is applicable for DOCSIS1.0 (and
DOCSIS1.0+) modems and it can be set only when
ccqmCmtsEnfRuleDocsVer is set to docsis10(2).
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
REFERENCE
"docsIfQosProfIndex from
draft-ietf-ipcdn-docs-rfmibv2-05.txt"
::= { ccqmCmtsEnforceRuleEntry 2 }
ccqmCmtsEnfRuleEnfQos OBJECT-TYPE
SYNTAX Unsigned32 (0..16383)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents a pointer to the object
describing the quality of service attributes
associated with the registered service of the
subscriber.
For DOCSIS1.0 (and DOCSIS1.0+) subscribers it is the
index in the docsIfQosProfileTable. If no associated
entry in docsIfQosProfileTable exists, this object
returns a value of zero. Similarly this object
can be set to 0 to indicate no entry in the
docsIfQosProfileTable associated with this QoS profile.
This object is applicable for DOCSIS1.0 (and
DOCSIS1.0+) modems and it can be set only when
ccqmCmtsEnfRuleDocsVer is set to docsis10(2).
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
REFERENCE
"docsIfQosProfIndex from
draft-ietf-ipcdn-docs-rfmibv2-05.txt"
DEFVAL { 0 }
::= { ccqmCmtsEnforceRuleEntry 3 }
ccqmCmtsEnfRuleMonDuration OBJECT-TYPE
SYNTAX Unsigned32(10..44640)
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents the duration for which
subscribers would be monitored to determine if they
were over consuming resources.
This object can be set only when ccqmCmtsEnfRuleMonType
is set to basic(1).
If peak-offpeak monitoring is enabled i.e.,
ccqmCmtsEnfRuleMonType and is set to peakOffPeak (2) this
object when polled would return the duration value valid
at that time of the day and 0 if no monitoring is taking
place at that time.
Both ccqmCmtsEnfRuleMonDuration and
ccqmCmtsEnfRuleAvgRate need to be set before legacy/basic
monitoring can be started.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
DEFVAL { 360 }
::= { ccqmCmtsEnforceRuleEntry 4 }
ccqmCmtsEnfRuleSampleRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents the interval at which a decision
would be made to check if the subscriber over consumed his
resources based on the subscriber usage in the past
duration.
Since the duration can range between 10 minutes to 30
days hence the range of sample rate would change
accordingly too. Some empirical calculations for the
same are:
The maximum memory to be used per line card for STM is
10 MBytes. The maximum number of modems that can be
supported is 6000 per line card. Now, per sample memory
consumption is 8 bytes hence approximately, the maximum
number of samples that can be allowed are
10 * 10 ^ 6 / (6 * 10 ^ 3 * 2 * 8) ~ 100
Hence, given the duration the sample rate would be
calculated as duration / 100 = sample rate only if the
duration happens to be more than 1440. For cases when
the duration is less than 1440, the sample rate range
would be between 10 to 30.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 5 }
ccqmCmtsEnfRulePenaltyPeriod OBJECT-TYPE
SYNTAX Unsigned32(1..10080)
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents the period in which the
enforced QoS parameter set will be in effect from
the time of detection.
When the time as defined by this object expires, the
registered QoS parameter set would be restored.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
DEFVAL { 10080 }
::= { ccqmCmtsEnforceRuleEntry 6 }
ccqmCmtsEnfRuleByteCount OBJECT-TYPE
SYNTAX Unsigned32
UNITS "1000 bytes"
MAX-ACCESS read-create
STATUS obsolete
DESCRIPTION
"The number of kbytes that the subscriber can transmit in
the monitoring duration as indicated by
ccqmCmtsEnfRuleMonDuration before being flagged as over
consuming.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 7 }
ccqmCmtsEnfRuleDirection OBJECT-TYPE
SYNTAX CCQMRuleDirection
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Specifies if the average rate specified by
ccqmCmtsEnfRuleAvgRate is for the upstream/downstream
direction.
Setting to bidirection(3) is not permitted.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 8 }
ccqmCmtsEnfRuleAutoEnforce OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the ccqmCmtsEnfRuleAutoEnforce is TRUE, the enforced QoS
parameter set as specified by ccqmCmtsEnfRuleEnfQos for
DOCSIS1.0 (and DOCSIS1.0+) modems or
ccqmCmtsEnfRuleEnfSerClassName for DOCSIS1.1 and
DOCSIS2.0 modems will be automatically enforced when
an over consuming subscriber is detected. Otherwise the
change should be done manually.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
DEFVAL { false }
::= { ccqmCmtsEnforceRuleEntry 9 }
ccqmCmtsEnfRuleRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The object controls and reflects the status of rows in this
table. All row status values are supported.
The status of the row needs to be changed from active(1) to
notInService(2) in cases when any of the enforce rule
objects need to be changed. If there is any monitoring
associated with this enforce rule ongoing at this time, it
as well as all the statistics collected over the sample
rate and monitoring duration will be cleared when the
row status is changed from active(1) to notInService(2).
The monitoring will start again only when the row status
is changed to active(1)."
::= { ccqmCmtsEnforceRuleEntry 10 }
ccqmCmtsEnfRuleAvgRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kbits/sec"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the rate at which the subscriber is
allowed to consume for the monitoring duration. So, if
this rate is defined to be 2kbits/sec and the monitoring
duration is set to be 120 minutes, then every sample period
the subscribers consumption in the last monitoring duration
would be compared against 1.8Mbytes.
This object can be set only when ccqmCmtsEnfRuleMonType is
set to basic(1) else when polled it will return the
rate valid at that time of the day and 0 if no
monitoring is taking place at that time."
::= { ccqmCmtsEnforceRuleEntry 11 }
ccqmCmtsEnfRuleDocsVer OBJECT-TYPE
SYNTAX INTEGER {
others(1),
docsis10(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This defines the DOCSIS version of the modems that the
enforce rule would be applicable to. If it is set to
docsis10(2) then only ccqmCmtsEnfRuleRegQoS
and ccqmCmtsEnfRuleEnfQoS can be set and if previously
ccqmCmtsEnfRuleRegSerClassName and
ccqmCmtsEnfRuleEnfSerClassName were set, they will be
reset to NULL and if it set to others(1) then
only ccqmCmtsEnfRuleRegSerClassName and
ccqmCmtsEnfRuleEnfSerClassName can be set and if previously
ccqmCmtsEnfRuleRegQoS and ccqmCmtsEnfRuleEnfQoS were set
they will be reset to 0."
DEFVAL { docsis10 }
::= { ccqmCmtsEnforceRuleEntry 12 }
ccqmCmtsEnfRuleRegSerClassName OBJECT-TYPE
SYNTAX DisplayString (SIZE(1..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents a pointer to the object
describing the quality of service attributes
associated with the registered service of the
subscriber. For DOCSIS1.1 and DOCSIS2.0 subscribers it is
same as docsQosParamSetServiceClassName in
docsQosParamSetTable. This object is applicable for
DOCSIS1.1 and DOCSIS2.0 modems and it can be set only
when ccqmCmtsEnfRuleDocsVer is set to others(1).
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 13 }
ccqmCmtsEnfRuleEnfSerClassName OBJECT-TYPE
SYNTAX DisplayString (SIZE(1..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object represents a pointer to the object
describing the quality of service attributes
associated with the registered service of the
subscriber. For DOCSIS1.1 and DOCSIS2.0 subscribers it
is same as docsQosParamSetServiceClassName in
docsQosParamSetTable. This object is applicable only for
DOCSIS1.1 modems and DOCSIS2.0 and it can be set only when
ccqmCmtsEnfRuleDocsVer is set to others(1).
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 14 }
ccqmCmtsEnfRuleMonType OBJECT-TYPE
SYNTAX INTEGER {
basic(1),
peakOffPeak(2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the monitoring type. If it is set
to basic(1), then ccqmCmtsEnfRuleMonDuration and
ccqmCmtsEnfRuleAvgRate are used to define the monitoring
and if the peak-offpeak objects were set before, they will
all be reset to 0 and if the user sets this object to
peakOffPeak(2) the peak-offpeak objects are used to define
the monitoring and ccqmCmtsEnfRuleMonDuration and
ccqmCmtsEnfRuleAvgRate, if set before, will be reset to 0."
DEFVAL { basic }
::= { ccqmCmtsEnforceRuleEntry 15 }
ccqmCmtsEnfRuleFirstPeakTime OBJECT-TYPE
SYNTAX Unsigned32(0..23)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The user can define two peak times and the
remaining hours will be treated as offpeak and the
monitoring will happen for these offpeak hours if
ccqmCmtsEnfRuleOffPeakDuration and
ccqmCmtsEnfRuleOffPeakAvgRate are defined. The first
peak parameters are defined using
ccqmCmtsEnfRuleFirstPeakTime,
ccqmCmtsEnfRuleFirstDuration and
ccqmCmtsEnfRuleFirstAvgRate objects while the second
peak parameters can be defined using
ccqmCmtsEnfRuleSecondPeakTime,
ccqmCmtsEnfRuleSecondDuration and
ccqmCmtsEnfRuleSecondAvgRate. Each peak time has an
associated average rate and a duration for which that
average rate holds good.
Defining the first peak is mandatory, though
defining the second peak and offpeak is not mandatory.
Both these peak times should be defined such that they
don't overlap and the first peak time has to be an earlier
time than the second peak time.
User would need to use 24 hour clock for setting this.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 16 }
ccqmCmtsEnfRuleFirstDuration OBJECT-TYPE
SYNTAX Unsigned32(60..1440)
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the duration for which the first
peak time would be applicable. When
ccqmCmtsEnfRuleMonDuration is polled during first peak,
it will return this value. The ccqmCmtsEnfRuleFirstPeakTime
has to be defined before defining this object else it
will be taken to start from 0.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 17 }
ccqmCmtsEnfRuleFirstAvgRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kbits/sec"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the rate at which the subscriber is
allowed to consume during the first peak duration. The
ccqmCmtsEnfRuleFirstDuration has to be defined before
defining this value.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 18 }
ccqmCmtsEnfRuleSecondPeakTime OBJECT-TYPE
SYNTAX Unsigned32(0..23)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The user can define two peak times in a day. The second
peak is defined using ccqmCmtsEnfRuleSecondPeakTime,
ccqmCmtsEnfRuleSecondDuration and
ccqmCmtsEnfRuleSecondThreshold objects while the first
peak is defined using ccqmCmtsEnfRuleFirstPeakTime,
ccqmCmtsEnfRuleFirstDuration and
ccqmCmtsEnfRuleFirstDuration. For the remaining hours in
the day, the off-peak monitoring would happen if
both ccqmCmtsEnfRuleOffPeakDuration and
ccqmCmtsEnfRuleOffPeakThreshold are defined.
Defining the first peak is mandatory, though
defining the second peak and offpeak is not mandatory.
Both these peak times should be defined such that they
don't overlap and the first peak time has to be an earlier
time than the second peak time.
ccqmCmtsEnfRuleSecondDuration can be set to 0 to
indicate that the second peak monitoring no longer
needs to be performed. The first peak has to be
defined before defining the second peak time.
User would need to use 24 hour clock for setting this.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 19 }
ccqmCmtsEnfRuleSecondDuration OBJECT-TYPE
SYNTAX Unsigned32(0..1380)
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the duration for which the second
peak time would be applicable. When
ccqmCmtsEnfRuleMonDuration is polled during second peak,
it will return this value. It can be set to 0 to
indicate that the second peak monitoring no longer needs
to be performed. The ccqmCmtsEnfRuleSecondPeakTime has
to be defined before defining this object.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 20 }
ccqmCmtsEnfRuleSecondAvgRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kbits/sec"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the rate at which the subscriber is
allowed to consume during the second peak duration. The
ccqmCmtsEnfRuleSecondDuration has to be defined before
defining this value.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 21 }
ccqmCmtsEnfRuleOffPeakDuration OBJECT-TYPE
SYNTAX Unsigned32(0..1380)
UNITS "minutes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the monitoring-duration that
would be applicable for the offpeak times of the day.
The off peak times are the times during the day when
none of the first peak and second peak times are defined.
If this object is set, when ccqmCmtsEnfRuleMonDuration
is polled during offpeak times, it would return this value.
Since only defining the first peak is mandatory, and
defining second peak and off peak are optional the
monitoring combinations during the day could be:
1) Only first peak
2) First peak and second peak
3) First peak and off peak
4) All three i.e., first peak, second peak and off peak.
It can be set to 0 to indicate that the offpeak monitoring
no longer needs to be performed. The first peak
parameters have to be defined before defining this object.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 22 }
ccqmCmtsEnfRuleOffPeakAvgRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kbits/sec"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the rate at which the subscriber is
allowed to consume during the off-peak duration. The
ccqmCmtsEnfRuleOffPeakDuration has to be defined before
defining this value.
This object cannot be changed when
ccqmCmtsEnfRuleRowStatus is active(1)."
::= { ccqmCmtsEnforceRuleEntry 23 }
--
-- ccqmEnfRuleViolateTable provides a snapshot of all the
-- subscribers who violated their enforce rule over the
-- monitoring period.
--
-- A sliding window, the size of the monitoring duration
-- is used. This window slides by an amount that is equal
-- to the sample rate. At every sample rate the bytes
-- transmitted in the time equal to a monitoring duration is
-- checked. If this is found to be larger than the defined
-- byte count limit per monitoring duration, the subscriber
-- is flagged as over consuming or violating the enforce rule.
--
-- This table will show all violating subscribers irrespective
-- if they are associated with an enforced QoS parameter
-- set or not.
--
ccqmEnfRuleViolateTable OBJECT-TYPE
SYNTAX SEQUENCE OF CcqmEnfRuleViolateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information of the subscribers
who violated their enforce rule over the monitoring
duration.
In the sliding window concept used, the monitoring duration
is the size of the window. This window slides by an amount
that is equal to the sample rate. At every sample rate
the bytes transmitted in the time equal to a monitoring
duration is checked. If this is found to be larger than
the defined byte count limit per monitoring duration, the
subscriber is flagged as over consuming or to have violated
his enforce rule.
This table has entries for each of these violating
subscribers. In case the violating subscriber has
a enforced QoS parameter set, the QoS parameter set for
such subscribers will be changed to the enforced QoS
parameter set for the penalty time. When the penalty time
expires, the subscriber gets his registered QoS parameter
set restored and will no longer appear in this table but
will be monitored. "
::= { ccqmRuleViolateObjects 2 }
ccqmEnfRuleViolateEntry OBJECT-TYPE
SYNTAX CcqmEnfRuleViolateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of attributes of a subscriber who violated
his enforce rule in the monitoring period.
An entry in this table exists for each subscriber
who over-consumed resources based on his configured
QoS parameter set. However those subscribers who
have an enforced QoS parameter set associated with
their enforce rule, will be removed from this table
once their penalty time expires. An entry in this table
can exist for ifEntry with an ifType of
docsCableMaclayer(127)."
INDEX { ifIndex, ccqmEnfRuleViolateID }
::= { ccqmEnfRuleViolateTable 1 }
CcqmEnfRuleViolateEntry ::= SEQUENCE {
ccqmEnfRuleViolateID Unsigned32,
ccqmEnfRuleViolateMacAddr MacAddress,
ccqmEnfRuleViolateRuleName DisplayString,
ccqmEnfRuleViolateByteCount Unsigned32,
ccqmEnfRuleViolateLastDetectTime DateAndTime,
ccqmEnfRuleViolatePenaltyExpTime DateAndTime
}
ccqmEnfRuleViolateID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index assigned to the service flow by the CMTS.
This represents an internal service flow ID."
::= { ccqmEnfRuleViolateEntry 1 }
ccqmEnfRuleViolateMacAddr OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"MAC address of this subscriber. If the subscriber has
multiple MAC addresses, this is the MAC address associated
with the Cable interface."
::= { ccqmEnfRuleViolateEntry 2 }
ccqmEnfRuleViolateRuleName OBJECT-TYPE
SYNTAX DisplayString (SIZE(1..15))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A pointer to the enforce rule associated with this
subscriber. It provides for referencing the enforce rule
to determine the QoS monitoring parameters. This is same
as ccqmCmtsEnfRuleName for the corresponding enforce rule
in ccqmCmtsEnforceRuleTable."
::= { ccqmEnfRuleViolateEntry 3 }
ccqmEnfRuleViolateByteCount OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kbytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total kbytes consumed by the subscriber in the
monitoring duration as specified in the corresponding
enforce rule object ccqmCmtsEnfRuleMonDuration. If the
monitoring is restarted due to change in enforce rule
or any other circumstance this count will be reset."
::= { ccqmEnfRuleViolateEntry 4 }
ccqmEnfRuleViolateLastDetectTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time at which the subscriber was found to have violated
his enforce rule and the time from which the enforced QoS
parameter set, if any, was in effect. "
::= { ccqmEnfRuleViolateEntry 5 }
ccqmEnfRuleViolatePenaltyExpTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time when the original QoS parameter set will be
restored for this violating subscriber. If there was
no enforced QoS parameter set configured for this
subscriber this object returns 0."
::= { ccqmEnfRuleViolateEntry 6 }
--
-- To provide additional level of control, user can set thresholds
-- for downstream/upstream bandwidth utilization, and only when these
-- thresholds are exceeded will the monitoring of modems (their
-- appropriate service flows) will take place. So, for example, if the
-- threshold for downstream bandwidth utilization is set at 90% and for
-- upstream it is 80%, the primary downstream service flow for the
-- modem attached to this downstream will take place when the load on
-- the downstream exceeds 90% while for the upstream service flow it
-- will be monitored if the load on the upstream bandwidth utilization
-- to which the modem is associated with exceeds 80%. This threshold is
-- the upper threshold, suppose the interface bandwidth utilization
-- drops below this upper threshold, the monitoring would keep
-- happening till it drops below another threshold which is the lower
-- threshold. Thus, for the above case, for instance the monitoring
-- for the downstream service flow would stop after the interface
-- bandwidth utilization drops below 40% while the same for upstream
-- could be 30%. This hysteresis is to take care of fluctuations in
-- the load on the interface.
--
ccqmCmtsIfBwUtilTable OBJECT-TYPE
SYNTAX SEQUENCE OF CcqmCmtsIfBwUtilEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the attributes which define the
bandwidth utilization thresholds for the upstream and
downstream interfaces and when the load on these interfaces
exceeds the upper threshold, the monitoring of the
associated modems service flows starts, and it stops when
the interface utilization drops below the lower threshold.
For the monitoring to start, there should be appropriate
enforce-rules defined. In case no thresholds are defined,
by default the monitoring of modems would take place if
the appropriate enforce-rules are present."
::= { ccqmRuleIfBwUtilObjects 1 }
ccqmCmtsIfBwUtilEntry OBJECT-TYPE
SYNTAX CcqmCmtsIfBwUtilEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A set of attributes to provide additional level of
control for monitoring modems. It is indexed by the
ifIndex of upstream/downstream interface, thus, only
docsCableDownstreamInterface(128) and
docsCableUpstreamInterface(129) are allowed to be
configured."
INDEX { ifIndex }
::= { ccqmCmtsIfBwUtilTable 1 }
CcqmCmtsIfBwUtilEntry ::= SEQUENCE {
ccqmCmtsIfBwUtilUpThreshold Unsigned32,
ccqmCmtsIfBwUtilLoThreshold Unsigned32,
ccqmCmtsIfBwUtilRowStatus RowStatus
}
ccqmCmtsIfBwUtilUpThreshold OBJECT-TYPE
SYNTAX Unsigned32 (1..99)
UNITS "percent"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the upper threshold for the interface
bandwidth utilization and when interface bandwidth
utilization exceeds this threshold, monitoring of the
appropriate modem's service flow will start if there is an
asociated enforce-rule present. This object can't be set
to a value lower than ccqmCmtsIfBwUtilLoThreshold."
DEFVAL { 80 }
::= { ccqmCmtsIfBwUtilEntry 1 }
ccqmCmtsIfBwUtilLoThreshold OBJECT-TYPE
SYNTAX Unsigned32 (1..99)
UNITS "percent"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object defines the lower threshold for the interface
bandwidth utilization and when interface bandwidth
utilization drops below this threshold, the monitoring of
the appropriate modem's service flow will stop. This
object can't be set to a value higher than
ccqmCmtsIfBwUtilUpThreshold."
DEFVAL { 40 }
::= { ccqmCmtsIfBwUtilEntry 2 }
ccqmCmtsIfBwUtilRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The object controls and reflects the status of rows in this
table. create-and-wait is not supported.
The objects can be changed even when the row status is
active(1)."
::= { ccqmCmtsIfBwUtilEntry 3 }
--
-- Object to enable and disable sending traps to indicate Enforce Rule
-- violations
--
ccqmEnfRuleViolateNotifEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"An indication of whether the ccqmEnfRuleViolateNotification
is enabled or disabled."
DEFVAL { false }
::= { ccqmRuleViolateObjects 3 }
--
-- The Cisco Cable QoS Monitoring MIB Notifications
--
ccqmMIBNotificationsPrefix OBJECT IDENTIFIER
::= { ciscoCableQosMonitorMIB 2 }
ccqmMIBNotifications OBJECT IDENTIFIER
::= { ccqmMIBNotificationsPrefix 0 }
ccqmEnfRuleViolateNotification NOTIFICATION-TYPE
OBJECTS {
ccqmEnfRuleViolateMacAddr,
ccqmEnfRuleViolateRuleName,
ccqmEnfRuleViolatePenaltyExpTime,
ccqmEnfRuleViolateByteCount
}
STATUS current
DESCRIPTION
"A notification that is sent when the subscriber
if found to have violated his enforce rule. This
indicates that this subscriber was found to be
over consuming resources. If the enforce rule
associated with this subscriber has a enforced QoS
parameter set configured, the trap also indicates
that the QoS parameter set of this subscriber are
changed to the enforced QoS parameter set. "
::= { ccqmMIBNotifications 1 }
ccqmMIBConformance OBJECT IDENTIFIER
::= { ciscoCableQosMonitorMIB 3 }
ccqmMIBCompliances OBJECT IDENTIFIER
::= { ccqmMIBConformance 1 }
ccqmMIBGroups OBJECT IDENTIFIER
::= { ccqmMIBConformance 2 }
-- compliance statements
ccqmCompliance MODULE-COMPLIANCE
STATUS obsolete -- superseded by ccqmComplianceRev1
DESCRIPTION
"The compliance statement for CMTS devices that implement
the Qos Monitoring feature. "
MODULE -- this module
MANDATORY-GROUPS {
ccqmEnfRuleGroup,
ccqmEnfRuleViolateGroup,
ccqmEnfRuleViolateNotifGroup
}
OBJECT ccqmCmtsEnfRuleSampleRate
WRITE-SYNTAX Unsigned32 (10..30)
DESCRIPTION
"Currently only the range 10 to 30 minutes
is supported."
::= { ccqmMIBCompliances 1 }
ccqmComplianceRev1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for CMTS devices that implement
the Qos Monitoring feature. "
MODULE -- this module
MANDATORY-GROUPS {
ccqmEnfRuleGroupRev1,
ccqmEnfRuleViolateGroup,
ccqmCmtsRuleIfBwUtilGroup,
ccqmEnfRuleViolateNotifGroup
}
::= { ccqmMIBCompliances 2 }
-- units of conformance
ccqmEnfRuleGroup OBJECT-GROUP
OBJECTS {
ccqmCmtsEnfRuleRegQoS,
ccqmCmtsEnfRuleEnfQos,
ccqmCmtsEnfRuleMonDuration,
ccqmCmtsEnfRuleSampleRate,
ccqmCmtsEnfRulePenaltyPeriod,
ccqmCmtsEnfRuleByteCount,
ccqmCmtsEnfRuleDirection,
ccqmCmtsEnfRuleAutoEnforce,
ccqmCmtsEnfRuleRowStatus
}
STATUS obsolete -- superseded by ccqmEnfRuleGroupRev1
DESCRIPTION
"Group of objects implemented in CMTS
providing enforce rule and QoS monitoring
information. "
::= { ccqmMIBGroups 1 }
ccqmEnfRuleViolateGroup OBJECT-GROUP
OBJECTS {
ccqmEnfRuleViolateRuleName,
ccqmEnfRuleViolateMacAddr,
ccqmEnfRuleViolateByteCount,
ccqmEnfRuleViolateLastDetectTime,
ccqmEnfRuleViolatePenaltyExpTime,
ccqmEnfRuleViolateNotifEnable
}
STATUS current
DESCRIPTION
"Group of objects implemented in CMTS
providing information of enforce rule
violations. "
::= { ccqmMIBGroups 2 }
ccqmEnfRuleViolateNotifGroup NOTIFICATION-GROUP
NOTIFICATIONS {
ccqmEnfRuleViolateNotification
}
STATUS current
DESCRIPTION
"The notification which a CISCO-CABLE-QOS-MONITOR-MIB
is required to implement."
::= { ccqmMIBGroups 3 }
ccqmEnfRuleGroupRev1 OBJECT-GROUP
OBJECTS {
ccqmCmtsEnfRuleRegQoS,
ccqmCmtsEnfRuleEnfQos,
ccqmCmtsEnfRuleMonDuration,
ccqmCmtsEnfRuleSampleRate,
ccqmCmtsEnfRulePenaltyPeriod,
ccqmCmtsEnfRuleDirection,
ccqmCmtsEnfRuleAutoEnforce,
ccqmCmtsEnfRuleRowStatus,
ccqmCmtsEnfRuleAvgRate,
ccqmCmtsEnfRuleDocsVer,
ccqmCmtsEnfRuleRegSerClassName,
ccqmCmtsEnfRuleEnfSerClassName,
ccqmCmtsEnfRuleMonType,
ccqmCmtsEnfRuleFirstPeakTime,
ccqmCmtsEnfRuleFirstDuration,
ccqmCmtsEnfRuleFirstAvgRate,
ccqmCmtsEnfRuleSecondPeakTime,
ccqmCmtsEnfRuleSecondDuration,
ccqmCmtsEnfRuleSecondAvgRate,
ccqmCmtsEnfRuleOffPeakDuration,
ccqmCmtsEnfRuleOffPeakAvgRate
}
STATUS current
DESCRIPTION
"Group of objects implemented in CMTS
providing enforce rule and QoS monitoring
information. "
::= { ccqmMIBGroups 4 }
ccqmCmtsRuleIfBwUtilGroup OBJECT-GROUP
OBJECTS {
ccqmCmtsIfBwUtilUpThreshold,
ccqmCmtsIfBwUtilLoThreshold,
ccqmCmtsIfBwUtilRowStatus
}
STATUS current
DESCRIPTION
"Group of objects implemented in CMTS
providing information of interface utilization
thresholds. "
::= { ccqmMIBGroups 5 }
END