[mrtg] ifSpeed vs. ifHighSpeed (fwd)
Maxim Konovalov
maxim at macomnet.ru
Tue Sep 2 15:37:28 MEST 2003
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, maxim at macomnet.ru, maxim at FreeBSD.org
--
Unsubscribe mailto:mrtg-request at list.ee.ethz.ch?subject=unsubscribe
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
More information about the mrtg
mailing list