Various Management Information Base (MIB) variables are not accessible. In other words, such MIB variables do not return a value. The MIB variable ccsFlapMacAddr does not return a value when you walk this variable. To "walk a variable" means to use the MIB browser to retrieve the value of a MIB.
This document describes how to use the ccsFlapUpstreamIfIndex MIB variable as a workaround to the ccsFlapMacAddr MIB variable to poll the MAC address of a cable modem that flaps. A cable modem is said to flap when the cable modem is intermittently online, and therefore the PC behind the cable modem loses internet connectivity.
This document solves the problem where the ccsFlapMacAddr MIB variable does not return a value.
There are no specific requirements for this document.
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
If you poll ccsFlapMacAddr, this MIB variable does not return a value. By definition, this MIB variable identifies the MAC address for cable modems that flap. Notice that the Object Identifier (OID) for this MIB variable is .1.3.6.1.4.1.9.9.114.1.1.5.1.1. This output shows what this variable returns:
skyshark# snmpwalk 172.16.30.20 .1.3.6.1.4.1.9.9.114.1.1.5.1.1 no MIB objects contained under subtree.
You expect the MAC address of the cable interface of the cable modem, which identifies a flap-list entry for a flapping cable modem.
You cannot poll the MAC addresses of flapping cable modems because ACCESS to this MIB variable is set to not-accesible. As a result, the code uses the values only internally and the specification does not allow the variable to report anything when you poll it.
The complete definition of this MIB variable reads:
.1.3.6.1.4.1.9.9.114.1.1.5.1.1 ccsFlapMacAddr OBJECT-TYPE -- FROM CISCO-CABLE-SPECTRUM-MIB -- TEXTUAL CONVENTION MacAddress SYNTAX OCTET STRING (6) DISPLAY-HINT "1x:" MAX-ACCESS not-accessible !--- MAX-ACCESS is set to not-accessible. !--- As a result, the variable does not return any value. STATUS Current DESCRIPTION "MAC address of the Cable Modem's Cable interface. Identifies a flap-list entry for a flapping Cable Modem." ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) ciscoMgmt(9) ciscoCableSpectrumMIB(114) ciscoCableSpectrumMIBObjects(1) ccsFlapObjects(1) ccsFlapTable(5) ccsFlapEntry(1) 1 }
In order to verify this, walk the whole CiscoCableSpectrumMIB whose OID is .1.3.6.1.4.1.9.9.114. This MIB variable contains the definition of ccsFlapMacAddr.
skyshark#snmpwalk 172.16.30.20 .1.3.6.1.4.1.9.9.114 9.9.114.1.1.1.0 : INTEGER: 100 9.9.114.1.1.2.0 : Unsigned32: 4 9.9.114.1.1.3.0 : INTEGER: 10080 9.9.114.1.1.4.0 : INTEGER: 180 9.9.114.1.1.5.1.2.0.1.100.255.228.181 : INTEGER: 14 !--- Evidently, the variable jumps from 9.9.114.1.1.4.0 to !--- 9.9.114.1.1.5.1.2, and skips 9.9.114.1.1.5.1.1. 9.9.114.1.1.5.1.2.0.48.150.249.101.241 : INTEGER: 14
This output does not show the OID .1.3.6.1.4.1.9.9.114.1.1.5.1.1. Therefore, ensure that you look at the definitions of the MIBs to find out why you do not get any value.
Note: This output uses a Cisco uBR7114 Cable Modem that runs Cisco IOS® Software Release 12.1(5)EC1.
In some situations, even though the MAX-ACCESS of MIB variable is set to non-accessible, values are returned when you poll the MIB variable. In these circumstances, the code does not adhere to the specifications of that MIB variable. In such cases, you must make changes in the code to comply with the MIB definition.
In order to work around this limitation, you can use other entries defined in the ccsFlapEntry MIB variable. Some of the defined entries are ccsFlapUpstreamIfIndex, ccsFlapDownstreamIfIndex, and ccsFlapPowerAdjustments, among others.
Any of these MIB variables include the MAC address of the flapping cable modems in the report of their values.
For example, use ccsFlapUpstreamIfIndex, which identifies the upstream that the flapping cable modem uses. The OID of this MIB variable is 1.3.6.1.4.1.9.9.114.1.1.5.1.2. If you walk this MIB variable, here is the result you get:
skyshark#snmpwalk 172.16.30.40 public .1.3.6.1.4.1.9.9.114.1.1.5.1.2 enterprises.9.9.114.1.1.5.1.2.0.1.100.255.228.181 = 4 enterprises.9.9.114.1.1.5.1.2.0.48.150.249.101.241 = 4
These numbers indicate the MAC addresses of all flapping cable modems through the MIB variable ccsFlapUpstreamIfIndex instead of ccsFlapMacAddr. In order to identify the MAC addresses of the cable modems that flap, look at the last six numbers on the OID. These numbers are the decimal representation of the MAC address. For example in 0.1.100.255.228.181 each number corresponds to the hexadecimal values, as this table lists:
Decimal | Hexadecimal |
---|---|
0 | 00 |
1 | 01 |
100 | 64 |
255 | FF |
228 | E4 |
181 | B5 |
From this conversion table, you can infer that 0.1.100.255.228.181 corresponds to a MAC address of 0001.64ff.e4b5. In the same way, 0.48.150.249.101.241 corresponds to 0030.96f9.65f1.
You can confirm this through several show commands on the CMTS. In order to locate the MAC addresses of cable modems that flap, issue the show cable flap-list command.
uBR7114#show cable flap-list MAC Address Upstream Ins Hit Miss CRC P-Adj Flap Time 0001.64ff.e4b5 Cable1/0/U0 3696 39969 61741 0 *48336 52844 Jan 25 12:17:57 0030.96f9.65f1 Cable1/0/U0 4447 8456 11967 0 *3369 7830 Jan 25 12:19:23