Hello,

Recently I started using SNMPv2 queries to talk to some of my routers
by passing --snmp-options=:::::2 to cfgmaker (2.10.15), and while this
works well for many interfaces, on some I'm getting speeds that are
too high.  It looks like cfgmaker is being too trusting of the value
it gets from ifHighSpeed.

Currently the two speed tables are walked to determine the interface
speed, and then later on IsCounterBroken() checks ifHCInOctets to
determine if SNMPv2 counters are valid.  It looks as though
ifHCInOctets ought to be checked during the selection of either
ifSpeed or ifHighSpeed for the interface speed.  This looks like a
substantial change to the logic, so I'm just reporting the bug rather
than hacking together a patch that breaks something else.

In the following example Serial3/0.1 (20) is a T1 which cfgmaker
reports the max speed as 250kBytes/s.  If I go back to using SNMPv1
queries, cfgmaker gets it right and reports 193kBytes/s.

A proper fix would be appreciated!

--Larry

$ cfgmaker \
    --output=test.cfg \
    --global 'WorkDir: /var/www/html/mrtg' \
    --global 'WithPeak[_]: wmy' \
    --global 'options[_]: growright' \
    --global 'forks: 2' \
    --ifdesc=descr \
    --ifref=ip \
    --subdirs=HOSTNAME \
    --snmp-options=:::::2 \
    [EMAIL PROTECTED]
--base: Get Device Info on [EMAIL PROTECTED]:::::2
--base: Vendor Id: cisco
--base: Populating confcache
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se4/0 --> 1
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Fa0/0 --> 2
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Fa1/0 --> 3
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/0 --> 4
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/1 --> 5
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/2 --> 6
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/3 --> 7
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/4 --> 8
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/5 --> 9
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/6 --> 10
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Et2/7 --> 11
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/0 --> 12
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/1 --> 13
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/2 --> 14
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/3 --> 15
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Fa5/0 --> 16
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Fa5/1 --> 17
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Nu0 --> 18
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Lo0 --> 19
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/0.1 --> 20
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/1.1 --> 21
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/2.1 --> 22
--snpo: confcache [EMAIL PROTECTED]:::::2 Name Se3/3.1 --> 23
[...]
--base: Get Interface Info
--base: Walking ifIndex
--base: Walking ifType
--base: Walking ifAdminStatus
--base: Walking ifOperStatus
--base: Walking ifAlias
--base: Walking vmVlan
--base: Walking ifSpeed
--base: Walking ifHighSpeed
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.1 -> 44 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.1 -> 0
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.2 -> 100 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.2 -> 
166401502101
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.3 -> 100 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.3 -> 50289942
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.4 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.4 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.5 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.5 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.6 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.6 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.7 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.7 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.8 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.8 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.9 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.9 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.10 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.10 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.11 -> 10 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.11 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.12 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.12 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.13 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.13 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.14 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.14 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.15 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.15 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.16 -> 100 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.16 -> 9102888686
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.17 -> 100 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.17 -> 0
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.18 -> 10000 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.18 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.19 -> 8000 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.19 -> 0
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.20 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.20 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.21 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.21 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.22 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.22 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHighSpeed.23 -> 2 Mb/s
--base: snmpget [EMAIL PROTECTED]:::::2:v4only for ifHCInOctets.23 ->
--base: check for HighspeedCounters failed ... Dropping back to V1
--base: Writing test.cfg

-- 
Larry Fahnoe, Fahnoe Technology Consulting, [EMAIL PROTECTED]
952/925-0744      Minneapolis, Minnesota       www.FahnoeTech.com 

--
Unsubscribe mailto:[EMAIL PROTECTED]
Help        mailto:[EMAIL PROTECTED]
Archive     http://www.ee.ethz.ch/~slist/mrtg-developers

Reply via email to