Hello,

There is a problem with snmp v2 and MaxBytes calculation.  Here is
a typical example:

$ snmpget router public ifSpeed.200
interfaces.ifTable.ifEntry.ifSpeed.200 = Gauge: 512000

$ snmpget router public ifHighSpeed.200
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifHighSpeed.200 = Gauge: 1

cfgmaker uses ifHighSpeed value and therefore calculates MaxBytes
incorrectly.

Also according to

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_q_and_a_item09186a00800b69ac.shtml#QB

cfgmaker has to use 32 bits counters for interfaces that operate at
20 Mbps or less and I believe it has to use ifSpeed for MaxBytes
calculation instead of rounded up ifHighSpeed.

Here is my fix:

--- cfgmaker.orig       Tue Sep  2 16:50:52 2003
+++ cfgmaker    Tue Sep  2 17:02:39 2003
@@ -127,7 +127,12 @@
         for ( my $i=0; $i<=$#ifHighSpeed; $i++ ) {
                 my ($if,$value) = split /:/, $ifHighSpeed[$i], 2;
                 $value = $value * 1000000;  # highSpeed = contador * 10^6
-                if ( !$value ) {
+               #
+               # XXX Use ifSpeed for interfaces that operate at 20 Mbps
+               # or less.  A more correct solution is using ifHighSpeed
+               # for interfaces that have ifHCInOctets only.
+               #
+                if ( $value <= 20000000 ) {
                         ($if, $value) = split /:/, $ifSpeed[$i], 2;
                         #debug('base',"Speed: $if - $value");
                 }
%%%

Hope this is not a FAQ.

-- 
Maxim Konovalov, [EMAIL PROTECTED], [EMAIL PROTECTED]

--
Unsubscribe mailto:[EMAIL PROTECTED]
Archive     http://www.ee.ethz.ch/~slist/mrtg
FAQ         http://faq.mrtg.org    Homepage     http://www.mrtg.org
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

Reply via email to