-- ***************************************************************** -- DOCS-LOADBALANCING-MIB.my: -- -- May 2007 Bo Wu -- -- Initial Version: Apr 2007: Annex I from CM-SP-OSSIv3.0-I01-061207 -- -- Copyright (c) 2007-2008 by cisco Systems, Inc. -- All rights reserved. -- ***************************************************************** DOCS-LOADBALANCING-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Integer32, Counter32, zeroDotZero FROM SNMPv2-SMI TruthValue, MacAddress, RowStatus, RowPointer, TimeStamp, TEXTUAL-CONVENTION FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InterfaceIndex FROM IF-MIB docsIfCmtsCmStatusEntry, docsIfCmtsCmStatusIndex FROM DOCS-IF-MIB clabProjDocsis FROM CLAB-DEF-MIB; docsLoadBalanceMib MODULE-IDENTITY LAST-UPDATED "200403101700Z" -- March 10, 2004 ORGANIZATION "Cable Television Laboratories, Inc" CONTACT-INFO " Postal: Cable Television Laboratories, Inc. 400 Centennial Parkway Louisville, Colorado 80027-1266 U.S.A. Phone: +1 303-661-9100 Fax: +1 303-661-9199 E-mail: mibs@cablelabs.com" DESCRIPTION "This is the MIB Module for the load balancing. Load balancing is manageable on a per-CM basis. Each CM is assigned: a) to a set of channels (a Load Balancing Group) among which it can be moved by the CMTS b) a policy which governs if and when the CM can be moved c) a priority value which can be used by the CMTS in order to select CMs to move." REVISION "200403101700Z" DESCRIPTION "Initial version of this mib module." ::= { clabProjDocsis 2 } -- --------------------------------------------------------- -- Textual Conventions -- --------------------------------------------------------- ChannelChgInitTechMap ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention enumerates the Initialization techniques for Dynamic Channel Change (DCC). The techniques are represented by the 5 most significant bits (MSB). Bits 0 through 4 map to initialization techniques 0 through 4. Each bit position represents the internal associated technique as described below: reinitializeMac(0) : Reinitialize the MAC broadcastInitRanging(1): Perform Broadcast initial ranging on new channel before normal operation unicastInitRanging(2) : Perform unicast ranging on new channel before normal operation initRanging(3) : Perform either broadcast or unicast ranging on new channel before normal operation direct(4) : Use the new channel(s) directly without re-initializing or ranging Multiple bits selection in 1's means the CMTS selects the best suitable technique among the selected in a proprietary manner. An empty value or a value with all bits in '0' means no channel changes allowed" SYNTAX BITS { reinitializeMac(0), broadcastInitRanging(1), unicastInitRanging(2), initRanging(3), direct(4) } -- --------------------------------------------------------------------- -- Main Groups -- --------------------------------------------------------------------- docsLoadBalNotifications OBJECT IDENTIFIER ::= { docsLoadBalanceMib 0} docsLoadBalMibObjects OBJECT IDENTIFIER ::= { docsLoadBalanceMib 1} docsLoadBalSystem OBJECT IDENTIFIER ::= { docsLoadBalMibObjects 1 } docsLoadBalChgOverObjects OBJECT IDENTIFIER ::= { docsLoadBalMibObjects 2 } docsLoadBalGrpObjects OBJECT IDENTIFIER ::= { docsLoadBalMibObjects 3 } docsLoadBalPolicyObjects OBJECT IDENTIFIER ::= { docsLoadBalMibObjects 4 } docsLoadBalChgOverGroup OBJECT IDENTIFIER ::= { docsLoadBalChgOverObjects 1 } docsLoadBalEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to true(1) enables internal autonomous load balancing operation on this CMTS. Setting it to false(2) disables the autonomous load balancing operations. However moving a cable modem via docsLoadBalChgOverTable is allowed even when this object is set to false(2)." ::= { docsLoadBalSystem 1 } -- ---------------------------------------------------------------------- -- CMTS Cable Modem channel change operation table and related -- objects. -- This group of objects determines the DCC API for execution of DCC/UCC -- commands The status of execution is reported in docsLoadBalChgOverStatusTable -- A CMTS operator may perform downstream/upstream load balancing -- or failure recovery using docsLoadBalChgOver parameters and red the status. -- ---------------------------------------------------------------------- docsLoadBalChgOverMacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The mac address of the cable modem that the CMTS instructs to move to a new downstream frequency and/or upstream channel." DEFVAL { '000000000000'h } ::= { docsLoadBalChgOverGroup 1 } docsLoadBalChgOverDownFrequency OBJECT-TYPE SYNTAX Integer32 (0..1000000000) UNITS "hertz" MAX-ACCESS read-write STATUS current DESCRIPTION "The new downstream frequency to which the cable modem is instructed to move. The value 0 indicates that the CMTS does not create a TLV for the downstream frequency in the DCC-REQ message. This object has no meaning when executing UCC operations." DEFVAL { 0 } ::= { docsLoadBalChgOverGroup 2 } docsLoadBalChgOverUpChannelId OBJECT-TYPE SYNTAX Integer32 (-1..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The new upstream channel ID to which the cable modem is instructed to move. The value -1 indicates that the CMTS does not create a TLV for the upstream channel ID in the channel change request." DEFVAL { -1 } ::= { docsLoadBalChgOverGroup 3 } docsLoadBalChgOverInitTech OBJECT-TYPE SYNTAX ChannelChgInitTechMap MAX-ACCESS read-write STATUS current DESCRIPTION "The initialization technique that the cable modem is instructed to use when performing change over operation. By default this object is initialized with all the defined bits having a value of '1'." ::= { docsLoadBalChgOverGroup 4 } docsLoadBalChgOverCmd OBJECT-TYPE SYNTAX INTEGER { any(1), dcc(2), ucc(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "The change over command that the CMTS is instructed use when performing change over operation. The any(1) value indicates that the CMTS is to use its own algorithm to determine the appropriate command." DEFVAL { any } ::= { docsLoadBalChgOverGroup 5 } docsLoadBalChgOverCommit OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "The command to execute the DCC/UCC operation when set to true(1). The following are reasons for rejecting an SNMP SET to this object: - The MAC address in docsLoadBalChgOverMacAddr is not an existing MAC address in docsIfCmtsMacToCmEntry. - docsLoadBalChgOverCmd is ucc(3) and docsLoadBalChgOverUpChannelId is '-1', - docsLoadBalChgOverUpChannelId is '-1' and docsLoadBalChgOverDownFrequency is '0'. - DCC/UCC operation is currently being executed for the cable modem, on which the new command is committed, specifically if the value of docsLoadBalChgOverStatusValue is one of: messageSent(1), modemDeparting(4), waitToSendMessage(6). - An UCC operation is committed for a non-existing upstream channel ID or the corresponding ifOperStatus is down(2). - A DCC operation is committed for an invalid or non-existing downstream frequency, or the corresponding ifOperStatus is down(2). In those cases, the SET is rejected with an error code 'commitFailed'. After processing the SNMP SET the information in docsLoadBalChgOverGroup is updated in a corresponding entry in docsLoadBalChgOverStatusEntry. Reading this object always returns false(2)." REFERENCE "Data-Over-Cable Service Interface Specifications: Radio Frequency Interface Specification SP-RFIv2.0-I04-030730, Sections C.4.1, 11.4.5.1." DEFVAL {false} ::= { docsLoadBalChgOverGroup 6 } docsLoadBalChgOverLastCommit OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when docsLoadBalChgOverCommit was last set to true. Zero if never set." ::= { docsLoadBalChgOverGroup 7 } -- ---------------------------------------------------------------------- -- CMTS Cable Modem channel change operation Status table and related -- objects. -- This table is an AUGMENT of docsIfCmtsCmstatusTable -- A CMTS operator may perform downstream/upstream load balancing -- or failure recovery using docsLoadBalChgOverTable. -- ---------------------------------------------------------------------- docsLoadBalChgOverStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalChgOverStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of CMTS operation entries to reports the status of cable modems instructed to move to a new downstream and/or upstream channel. Using the docsLoadBalChgOverGroup objects. An entry in this table is created or updated for the entry with docsIfCmtsCmStatusIndex that correspond to the cable modem MAC address of the Load Balancing operation. docsLoadBalChgOverCommit to true(1)." ::= { docsLoadBalChgOverObjects 2 } docsLoadBalChgOverStatusEntry OBJECT-TYPE SYNTAX DocsLoadBalChgOverStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A CMTS operation entry to instruct a cable modem to move to a new downstream frequency and/or upstream channel. An operator can use this to initiate an operation in CMTS to instruct the selected cable modem to move to a new downstream frequency and/or upstream channel." INDEX { docsIfCmtsCmStatusIndex } ::= { docsLoadBalChgOverStatusTable 1 } DocsLoadBalChgOverStatusEntry ::= SEQUENCE { docsLoadBalChgOverStatusMacAddr MacAddress, docsLoadBalChgOverStatusDownFreq Integer32, docsLoadBalChgOverStatusUpChnId Integer32, docsLoadBalChgOverStatusInitTech ChannelChgInitTechMap, docsLoadBalChgOverStatusCmd INTEGER, docsLoadBalChgOverStatusValue INTEGER, docsLoadBalChgOverStatusUpdate TimeStamp } docsLoadBalChgOverStatusMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The mac address set in docsLoadBalChgOverMacAddress." ::= { docsLoadBalChgOverStatusEntry 1 } docsLoadBalChgOverStatusDownFreq OBJECT-TYPE SYNTAX Integer32 (0..1000000000) UNITS "hertz" MAX-ACCESS read-only STATUS current DESCRIPTION "The Downstream frequency set in docsLoadBalChgOverDownFrequency." DEFVAL { 0 } ::= { docsLoadBalChgOverStatusEntry 2 } docsLoadBalChgOverStatusUpChnId OBJECT-TYPE SYNTAX Integer32 (-1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The upstream channel ID set in docsLoadBalChgOverUpChannelId." DEFVAL { -1 } ::= { docsLoadBalChgOverStatusEntry 3 } docsLoadBalChgOverStatusInitTech OBJECT-TYPE SYNTAX ChannelChgInitTechMap MAX-ACCESS read-only STATUS current DESCRIPTION "The initialization technique set in docsLoadBalChgOverInitTech." ::= { docsLoadBalChgOverStatusEntry 4 } docsLoadBalChgOverStatusCmd OBJECT-TYPE SYNTAX INTEGER { any(1), dcc(2), ucc(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The load balancing command set in docsLoadBalChgOverCmd." DEFVAL { any } ::= { docsLoadBalChgOverStatusEntry 5 } -- May use a textual convention to report this value -- since is repeated for two objects docsLoadBalChgOverStatusValue OBJECT-TYPE SYNTAX INTEGER { messageSent(1), noOpNeeded(2), modemDeparting(3), waitToSendMessage(4), cmOperationRejected(5), cmtsOperationRejected(6), timeOutT13(7), timeOutT15(8), rejectinit(9), success(10) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the specified DCC/UCC operation. The enumerations are: messageSent(1): The CMTS has sent change over request message to the cable modem. noOpNeed(2): A operation was requested in which neither the DS Frequency nor the Upstream Channel ID was changed. An active value in this entry's row status indicates that no CMTS operation is required. modemDeparting(3): The cable modem has responded with a change over response of either a DCC-RSP with a confirmation code of depart(180) or a UCC-RSP. waitToSendMessage(4): The specified operation is active and CMTS is waiting to send the channel change message with channel info to the cable modem. cmOperationRejected(5): Channel Change (such as DCC or UCC) operation was rejected by the cable modem. cmtsOperationRejected(6) Channel Change (such as DCC or UCC) operation was rejected by the Cable modem Termination System. timeOutT13(7): Failure due to no DCC-RSP with confirmation code depart(180) received prior to expiration of the T13 timer. timeOutT15(8): T15 timer timed out prior to the arrival of a bandwidth request, RNG-REQ message, or DCC-RSP message with confirmation code of arrive(181) from the cable modem. rejectInit(9): DCC operation rejected due to unsupported initialization tech requested. success(10): CMTS received an indication that the CM successfully completed the change over operation. e.g., If an initialization technique of re-initialize the MAC is used, success in indicated by the receipt of a DCC-RSP message with a confirmation code of depart(180). In all other cases, success is indicated by: (1) the CMTS received a DCC-RSP message with confirmation code of arrive(181) or (2) the CMTS internally confirms the presence of the CM on the new channel." REFERENCE "Data-Over-Cable Service Interface Specifications: Radio Frequency Interface Specification SP-RFIv2.0-I04-030730, Sections C.4.1, 11.4.5.1." DEFVAL { waitToSendMessage } ::= { docsLoadBalChgOverStatusEntry 6 } docsLoadBalChgOverStatusUpdate OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when docsLoadBalChgOverStatusValue was last updated." ::= { docsLoadBalChgOverStatusEntry 7 } -- ---------------------------------------------------------------------- -- Load balancing group is a cluster of downstream and associated -- upstream channels, among which modems that are registered -- on any of those channels, can be load balanced. -- -- There are two types of Load Balancing Groups, General Load Balancing -- Groups and Restricted Load Balancing Groups. A Restricted Load -- Balancing Group is associated with a specific, provisioned set of -- cable modems while General Load Balancing Groups are open for CMs -- which are not provisioned into a Restricted Load Balancing Group. -- ---------------------------------------------------------------------- docsLoadBalGrpTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalGrpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the attributes of the load balancing groups present in this CMTS." ::= { docsLoadBalGrpObjects 1 } docsLoadBalGrpEntry OBJECT-TYPE SYNTAX DocsLoadBalGrpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of attributes of load balancing group in the CMTS. It is index by a docsLoadBalGrpId which is unique within a CMTS. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalGrpId } ::= { docsLoadBalGrpTable 1 } DocsLoadBalGrpEntry ::= SEQUENCE { docsLoadBalGrpId Unsigned32, docsLoadBalGrpIsRestricted TruthValue, docsLoadBalGrpInitTech ChannelChgInitTechMap, docsLoadBalGrpDefaultPolicy Unsigned32, docsLoadBalGrpEnable TruthValue, docsLoadBalGrpChgOverSuccess Counter32, docsLoadBalGrpChgOverFails Counter32, docsLoadBalGrpStatus RowStatus } docsLoadBalGrpId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique index assigned to the load balancing group by the CMTS." ::= { docsLoadBalGrpEntry 1 } docsLoadBalGrpIsRestricted OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "A value true(1)Indicates type of load balancing group. A Restricted Load Balancing Group is associated to a specific provisioned set of cable modems. Restricted Load Balancing Group is used to accommodate a topology specific or provisioning specific restriction. Example such as a group that are reserved for business customers). Setting this object to true(1) means it is a Restricted Load Balancing type and setting it to false(2) means it is a General Load Balancing group type. This object should not be changed while its group ID is referenced by an active entry in docsLoadBalRestrictCmEntry." DEFVAL { false } ::= { docsLoadBalGrpEntry 2 } docsLoadBalGrpInitTech OBJECT-TYPE SYNTAX ChannelChgInitTechMap MAX-ACCESS read-create STATUS current DESCRIPTION "The initialization techniques that the CMTS can use when load balancing cable modems in the load balancing group. By default this object is initialized with all the defined bits having a value of '1'." ::= { docsLoadBalGrpEntry 3 } docsLoadBalGrpDefaultPolicy OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "Each Load Balancing Group has a default Load Balancing Policy. A policy is described by a set of conditions (rules) that govern the load balancing process for a cable modem. The CMTS assigns this Policy ID value to a cable modem associated with the group ID when the cable modem does not signal a Policy ID during registration. The Policy ID value is intended to be a numeric reference to a row entry in docsLoadBalPolicyEntry. However, It is not required to have an existing or active entry in docsLoadBalPolicyEntry when setting the value of docsLoadBalGrpDefaultPolicy, in which case it indicates no policy is associated with the load Balancing Group. The Policy ID of value 0 is reserved to indicate no policy is associated with the load balancing group." DEFVAL { 0 } ::= { docsLoadBalGrpEntry 4 } docsLoadBalGrpEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Setting this object to true(1) enables internal autonomous load balancing on this group. Setting it to false(2) disables the load balancing operation on this group." DEFVAL { true } ::= { docsLoadBalGrpEntry 5 } docsLoadBalGrpChgOverSuccess OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of successful load balancing change over operations initiated within this load balancing group." ::= { docsLoadBalGrpEntry 6 } docsLoadBalGrpChgOverFails OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of failed load balancing change over operations initiated within this load balancing group." ::= { docsLoadBalGrpEntry 7 } docsLoadBalGrpStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the status of the row in this table. Setting this object to 'destroy' or 'notInService' for a group ID entry already referenced by docsLoadBalChannelEntry, docsLoadBalChnPairsEntry or docsLoadBalRestrictCmEntry returns an error code inconsistentValue." ::= { docsLoadBalGrpEntry 8 } -- ---------------------------------------------------------------------- -- It contains all the upstream and downstream channels within the -- load balancing group. -- ---------------------------------------------------------------------- docsLoadBalChannelTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Lists all upstream and downstream channels associated with load balancing groups." ::= { docsLoadBalGrpObjects 2 } docsLoadBalChannelEntry OBJECT-TYPE SYNTAX DocsLoadBalChannelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Lists a specific upstream or downstream, within a load Balancing group. An entry in this table exists for each ifEntry with an ifType of docsCableDownstream(128) and docsCableUpstream(129) associated with the Load Balancing Group. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalGrpId, docsLoadBalChannelIfIndex } ::= { docsLoadBalChannelTable 1 } DocsLoadBalChannelEntry ::= SEQUENCE { docsLoadBalChannelIfIndex InterfaceIndex, docsLoadBalChannelStatus RowStatus } docsLoadBalChannelIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ifIndex of either the downstream or upstream." ::= { docsLoadBalChannelEntry 1 } docsLoadBalChannelStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the status of the rows in this table. Creating entries in this table requires an existing value for docsLoadBalGrpId in docsLoadBalGrpEntry and an existing value of docsLoadBalChannelIfIndex in ifEntry, otherwise is rejected with error 'noCreation'. Setting this object to 'destroy' or 'notInService for a a row entry that is being referenced by docsLoadBalChnPairsEntry is rejected with error code inconsistentValue." ::= { docsLoadBalChannelEntry 2 } -- ---------------------------------------------------------------------- -- docsLoadBalChnPairsTable is used to override the initialization -- techniques for specific channel pairs within a Load Balancing Group. -- ---------------------------------------------------------------------- docsLoadBalChnPairsTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalChnPairsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains pairs of upstream channels within a Load Balancing Group. Entries in this table are used to override the initialization techniques defined for the associated Load Balancing Group." ::= { docsLoadBalGrpObjects 3 } docsLoadBalChnPairsEntry OBJECT-TYPE SYNTAX DocsLoadBalChnPairsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in this table describes a channel pair for which an initialization technique override is needed. On a CMTS which supports logical upstream channels (ifType is equal to docsCableUpstreamChannel(205)), the entries in this table correspond to pairs of ifType 205. On a CMTS which only supports physical upstream channels (ifType is equal to docsCableUpstream(129)), the entries in this table correspond to pairs of ifType 129. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalGrpId, docsLoadBalChnPairsIfIndexDepart, docsLoadBalChnPairsIfIndexArrive } ::= { docsLoadBalChnPairsTable 1 } DocsLoadBalChnPairsEntry ::= SEQUENCE { docsLoadBalChnPairsIfIndexDepart InterfaceIndex, docsLoadBalChnPairsIfIndexArrive InterfaceIndex, docsLoadBalChnPairsOperStatus INTEGER, docsLoadBalChnPairsInitTech ChannelChgInitTechMap, docsLoadBalChnPairsRowStatus RowStatus } docsLoadBalChnPairsIfIndexDepart OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This index indicates the ifIndex of the upstream channel from which a cable modem would depart in a load balancing channel change operation." ::= { docsLoadBalChnPairsEntry 1 } docsLoadBalChnPairsIfIndexArrive OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This index indicates the ifIndex of the upstream channel on which a cable modem would arrive in a load balancing channel change operation." ::= { docsLoadBalChnPairsEntry 2 } docsLoadBalChnPairsOperStatus OBJECT-TYPE SYNTAX INTEGER { operational(1), notOperational(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Operational status of the channel pair. The value operational(1) indicates that ifOperStatus of both channels is up(1). The value notOperational(2) means that ifOperStatus of one or both is not up(1)." ::= { docsLoadBalChnPairsEntry 3 } docsLoadBalChnPairsInitTech OBJECT-TYPE SYNTAX ChannelChgInitTechMap MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies initialization technique for load balancing for the Depart/Arrive pair. By default this object's value is the initialization technique configured for the Load Balancing Group indicated by docsLoadBalGrpId." ::= { docsLoadBalChnPairsEntry 4 } docsLoadBalChnPairsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The object for conceptual rows creation. An attempt to create a row with values for docsLoadBalChnPairsIfIndexDepart or docsLoadBalChnPairsIfIndexArrive which are not a part of the Load Balancing Group (or for a 2.0 CMTS are not logical channels (ifType 205)) are rejected with a 'noCreation' error status reported. There is no restriction on settings columns in this table when the value of docsLoadBalChnPairsRowStatus is active(1)." ::= { docsLoadBalChnPairsEntry 5 } -- ---------------------------------------------------------------------- -- Restricted load balancing groups are defined to cater to a specific -- group of modems to accommodate a topology specific or provisioning -- specific restriction. -- Restricted load balancing groups shall be configured with the CM MAC -- addresses (or references to it). Such a group applies only to the -- modems configured in the group. -- ---------------------------------------------------------------------- docsLoadBalRestrictCmTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalRestrictCmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Lists all cable modems in each Restricted Load Balancing Groups." ::= { docsLoadBalGrpObjects 4 } docsLoadBalRestrictCmEntry OBJECT-TYPE SYNTAX DocsLoadBalRestrictCmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry of modem within a restricted load balancing group type. An entry represents a cable modem that is associated with the Restricted Load Balancing Group ID of a Restricted Load Balancing Group. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalGrpId, docsLoadBalRestrictCmIndex } ::= { docsLoadBalRestrictCmTable 1 } DocsLoadBalRestrictCmEntry ::= SEQUENCE { docsLoadBalRestrictCmIndex Unsigned32, docsLoadBalRestrictCmMACAddr MacAddress, docsLoadBalRestrictCmMacAddrMask OCTET STRING, docsLoadBalRestrictCmStatus RowStatus } docsLoadBalRestrictCmIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index that uniquely identifies an entry which represents restricted cable modem(s) within each Restricted Load Balancing Group." ::= { docsLoadBalRestrictCmEntry 1 } docsLoadBalRestrictCmMACAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-create STATUS current DESCRIPTION "Mac Address of the cable modem within the restricted load balancing group." ::= { docsLoadBalRestrictCmEntry 2 } docsLoadBalRestrictCmMacAddrMask OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 6)) MAX-ACCESS read-create STATUS current DESCRIPTION "A bit mask acting as a wild card to associate a set of modem MAC addresses to the same Group ID. Cable modem look up is performed first with entries containing this value not null, if several entries match, the largest consecutive bit match from MSB to LSB is used. Empty value is equivalent to the bit mask all in ones." DEFVAL { ''h } ::= { docsLoadBalRestrictCmEntry 3 } docsLoadBalRestrictCmStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the status of the rows in this table. The attempt to create an entry associated to a group ID with docsLoadBalGrpIsRestricted equal to false(2) returns an error 'noCreation'. There is no restriction on settings columns in this table any time." ::= { docsLoadBalRestrictCmEntry 4 } -- ---------------------------------------------------------------------- -- -- Load Balance policies allow control over the behavior of the autonomous -- load balancing process on a per cable modem basis. A load balancing -- policy is described by a set of conditions/rules that govern the -- autonomous load balancing process for the cable modem. -- -- ---------------------------------------------------------------------- docsLoadBalPolicyTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table describes the set of Load Balancing policies. Rows in this table might be referenced by rows in docsLoadBalGrpEntry." ::= { docsLoadBalPolicyObjects 1 } docsLoadBalPolicyEntry OBJECT-TYPE SYNTAX DocsLoadBalPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entries containing rules for policies. When a load balancing policy is defined by multiple rules, all the rules apply. Load balancing rules can be created to allow for specific vendor-defined load balancing actions. However there is a basic rule that the CMTS is required to support by configuring a pointer in docsLoadBalPolicyRulePtr to the table docsLoadBalBasicRuleTable. Vendor specific rules may be added by pointing the object docsLoadBalPolicyRulePtr to proprietary mib structures. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalPolicyId, docsLoadBalPolicyRuleId } ::= { docsLoadBalPolicyTable 1 } DocsLoadBalPolicyEntry ::= SEQUENCE { docsLoadBalPolicyId Unsigned32, docsLoadBalPolicyRuleId Unsigned32, docsLoadBalPolicyRulePtr RowPointer, docsLoadBalPolicyRowStatus RowStatus } docsLoadBalPolicyId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index identifying the Load Balancing Policy." ::= { docsLoadBalPolicyEntry 1 } docsLoadBalPolicyRuleId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index for the rules entries associated within a policy." ::= { docsLoadBalPolicyEntry 2 } docsLoadBalPolicyRulePtr OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "A pointer to an entry in a rule table. E.g., docsLoadBalBasicRuleEnable in docsLoadBalBasicRuleEntry. A value pointing to zeroDotZero, an inactive Row or a non-existing entry is treated as no rule defined for this policy entry." DEFVAL {zeroDotZero } ::= { docsLoadBalPolicyEntry 3} docsLoadBalPolicyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. There is no restriction on settings columns in this table when the value of docsLoadBalPolicyRowStatus is active(1). Setting this object to 'destroy' or 'notInService' for a row entry that is being referenced by docsLoadBalGrpDefaultPolicy in docsLoadBalGrpEntry returns an error code inconsistentValue." ::= { docsLoadBalPolicyEntry 5 } -- --------------------------------------------------------- -- docsLoadBalBasicRuleTable defines a DOCSIS required Policy -- Ruleset for Load Balancing. A Policy ID may have multiple -- rules, each rule pointing to ruleset structures like this -- table or a vendor defined one. -- --------------------------------------------------------- docsLoadBalBasicRuleTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalBasicRuleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "DOCSIS defined basic ruleset for load Balancing Policy. This table enables of disable load balancing for the groups pointing to this ruleset in the policy group." ::= { docsLoadBalPolicyObjects 2 } docsLoadBalBasicRuleEntry OBJECT-TYPE SYNTAX DocsLoadBalBasicRuleEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry of DOCSIS defined basic ruleset. The object docsLoadBalBasicRuleEnable is used for instantiating an entry in this table via a RowPointer. Entries in this table persist after CMTS initialization." INDEX { docsLoadBalBasicRuleId } ::= { docsLoadBalBasicRuleTable 1 } DocsLoadBalBasicRuleEntry ::= SEQUENCE { docsLoadBalBasicRuleId Unsigned32, docsLoadBalBasicRuleEnable INTEGER, docsLoadBalBasicRuleDisStart Unsigned32, docsLoadBalBasicRuleDisPeriod Unsigned32, docsLoadBalBasicRuleRowStatus RowStatus } docsLoadBalBasicRuleId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The unique index for this row." ::= { docsLoadBalBasicRuleEntry 1 } docsLoadBalBasicRuleEnable OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2), disabledPeriod(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "When using this ruleset, load balancing is enabled or disabled by the values enabled(1) and disabled(2) respectively. Additionally, a Load Balancing disabling period is defined in docsLoadBalBasicRuleDisStart and docsLoadBalBasicRuleDisPeriod if this object value is set to disabledPeriod(3)." ::= { docsLoadBalBasicRuleEntry 2 } docsLoadBalBasicRuleDisStart OBJECT-TYPE SYNTAX Unsigned32 (0..86400) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "if object docsLoadBalBasicRuleEnable is disablePeriod(3) Load Balancing is disabled starting at this object value time (seconds from 12 AM). Otherwise, this object has no meaning." DEFVAL { 0 } ::= { docsLoadBalBasicRuleEntry 3 } docsLoadBalBasicRuleDisPeriod OBJECT-TYPE SYNTAX Unsigned32 (0..86400) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "If object docsLoadBalBasicRuleEnable is disablePeriod(3) Load Balancing is disabled for the period of time defined between docsLoadBalBasicRuleDisStart and docsLoadBalBasicRuleDisStart plus the period of time of docsLoadBalBasicRuleDisPeriod. Otherwise, this object value has no meaning." DEFVAL { 0 } ::= { docsLoadBalBasicRuleEntry 4 } docsLoadBalBasicRuleRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is to create or delete rows in this table. There is no restriction for changing this row status or object's values in this table at any time." ::= { docsLoadBalBasicRuleEntry 5 } -- --------------------------------------------------------- -- This table AUGMENTS the docsIfCmtsCmStatusTable to provide -- the ability to associate the GroupId, PolicyId and Priority -- to a modem. -- Association of these attributes can also be done via the -- cable modem config file. -- --------------------------------------------------------- docsLoadBalCmtsCmStatusTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsLoadBalCmtsCmStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The list contains the load balancing attributes associated with the cable modem. " ::= { docsLoadBalSystem 4 } docsLoadBalCmtsCmStatusEntry OBJECT-TYPE SYNTAX DocsLoadBalCmtsCmStatusEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Additional objects for docsIfCmtsCmStatusTable entry that relate to load balancing " AUGMENTS { docsIfCmtsCmStatusEntry } ::= { docsLoadBalCmtsCmStatusTable 1 } DocsLoadBalCmtsCmStatusEntry ::= SEQUENCE { docsLoadBalCmtsCmStatusGroupId Unsigned32, docsLoadBalCmtsCmStatusPolicyId Unsigned32, docsLoadBalCmtsCmStatusPriority Unsigned32 } docsLoadBalCmtsCmStatusGroupId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The Group ID associated with this cable modem." ::= { docsLoadBalCmtsCmStatusEntry 1 } docsLoadBalCmtsCmStatusPolicyId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The Policy ID associated with this cable modem." ::= { docsLoadBalCmtsCmStatusEntry 2 } docsLoadBalCmtsCmStatusPriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The Priority associated with this cable modem." ::= { docsLoadBalCmtsCmStatusEntry 3 } -- --------------------------------------------------------- -- Conformance definitions -- --------------------------------------------------------- docsLoadBalConformance OBJECT IDENTIFIER ::= { docsLoadBalanceMib 2 } docsLoadBalCompliances OBJECT IDENTIFIER ::= { docsLoadBalConformance 1 } docsLoadBalGroups OBJECT IDENTIFIER ::= { docsLoadBalConformance 2 } docsLoadBalBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for DOCSIS load balancing systems." MODULE -- docsLoadBalancingMib MANDATORY-GROUPS { docsLoadBalSystemGroup, docsLoadBalParametersGroup, docsLoadBalPoliciesGroup, docsLoadBalBasicRuleGroup, docsLoadBalCmtsCmStatusGroup } ::= { docsLoadBalCompliances 1} docsLoadBalSystemGroup OBJECT-GROUP OBJECTS { docsLoadBalEnable, docsLoadBalChgOverMacAddress, docsLoadBalChgOverDownFrequency, docsLoadBalChgOverUpChannelId, docsLoadBalChgOverInitTech, docsLoadBalChgOverCmd, docsLoadBalChgOverCommit, docsLoadBalChgOverLastCommit, docsLoadBalChgOverStatusMacAddr, docsLoadBalChgOverStatusDownFreq, docsLoadBalChgOverStatusUpChnId, docsLoadBalChgOverStatusInitTech, docsLoadBalChgOverStatusCmd, docsLoadBalChgOverStatusValue, docsLoadBalChgOverStatusUpdate } STATUS current DESCRIPTION "A collection of objects providing system-wide parameters for load balancing." ::= { docsLoadBalGroups 1} docsLoadBalParametersGroup OBJECT-GROUP OBJECTS { docsLoadBalGrpIsRestricted, docsLoadBalGrpInitTech, docsLoadBalGrpDefaultPolicy, docsLoadBalGrpEnable, docsLoadBalGrpChgOverSuccess, docsLoadBalGrpChgOverFails, docsLoadBalGrpStatus, docsLoadBalChannelStatus, docsLoadBalChnPairsOperStatus, docsLoadBalChnPairsInitTech, docsLoadBalChnPairsRowStatus, docsLoadBalRestrictCmMACAddr, docsLoadBalRestrictCmMacAddrMask, docsLoadBalRestrictCmStatus } STATUS current DESCRIPTION "A collection of objects containing the load balancing parameters." ::= { docsLoadBalGroups 2} docsLoadBalPoliciesGroup OBJECT-GROUP OBJECTS { docsLoadBalPolicyRulePtr, docsLoadBalPolicyRowStatus } STATUS current DESCRIPTION "A collection of objects providing policies." ::= { docsLoadBalGroups 3} docsLoadBalBasicRuleGroup OBJECT-GROUP OBJECTS { docsLoadBalBasicRuleEnable, docsLoadBalBasicRuleDisStart, docsLoadBalBasicRuleDisPeriod, docsLoadBalBasicRuleRowStatus } STATUS current DESCRIPTION "DOCSIS defined basic Ruleset for load balancing policies." ::= { docsLoadBalGroups 4} docsLoadBalCmtsCmStatusGroup OBJECT-GROUP OBJECTS { docsLoadBalCmtsCmStatusGroupId, docsLoadBalCmtsCmStatusPolicyId, docsLoadBalCmtsCmStatusPriority } STATUS current DESCRIPTION "Cable mode status extension objects." ::= { docsLoadBalGroups 5} END