64-bit SNMP counters for FreeBSD && graphing bandwidth usage

Gleb Smirnoff glebius at FreeBSD.org
Mon Feb 13 11:14:12 PST 2006

On Mon, Feb 13, 2006 at 06:30:08PM +0100, Anders Nordby wrote:
A> On Tue, Feb 07, 2006 at 05:11:31PM +0300, Gleb Smirnoff wrote:
A> >> Is there any way to have 64-bit SNMP counters in FreeBSD? Especially for
A> >> ifInOctets/ifOutOctets. It seems the built-in bsnmpd only has
A> >> Counter32, and net-snmpd the same (--enable-mfd-rewrites, which is
A> >> supposed to help, seems to only work in Linux).
A> > Extended counters live in a separate subtree and bsnmpd supports them:
A> > 
A> >> snmpwalk -v 2c host community ifMIB.ifMIBObjects.ifXTable.ifXEntry

Actually, I've misinformed you. On 32-bit platforms HC counters exist,
but overflow as bad as old 32 bit counters. The fix has been committed
by Harti today to HEAD (BEGEMOT vendor branch).

A> Running FreeBSD 6.0-RELEASE and using net-snmp 5.2.2 to walk the tree, I
A> get:

bsnmpd doesn't create HC MIB branch for interfaces with slow speed.
Are your interfaces negotiated to 10 Mbit/s?

A> # snmpwalk -v 2c -c XXXYYY localhost
A> ifMIB.ifMIBObjects.ifXTable.ifXEntry
A> IF-MIB::ifName.1 = STRING: bge0
A> IF-MIB::ifName.2 = STRING: bge1
A> IF-MIB::ifName.3 = STRING: lo0
A> IF-MIB::ifInMulticastPkts.1 = Counter32: 3430126
A> IF-MIB::ifInMulticastPkts.2 = Counter32: 0
A> IF-MIB::ifInMulticastPkts.3 = Counter32: 0
A> IF-MIB::ifInBroadcastPkts.1 = Counter32: 0
A> IF-MIB::ifInBroadcastPkts.2 = Counter32: 0
A> IF-MIB::ifInBroadcastPkts.3 = Counter32: 0
A> IF-MIB::ifOutMulticastPkts.1 = Counter32: 0
A> IF-MIB::ifOutMulticastPkts.2 = Counter32: 0
A> IF-MIB::ifOutMulticastPkts.3 = Counter32: 0
A> IF-MIB::ifOutBroadcastPkts.1 = Counter32: 0
A> IF-MIB::ifOutBroadcastPkts.2 = Counter32: 0
A> IF-MIB::ifOutBroadcastPkts.3 = Counter32: 0
A> IF-MIB::ifLinkUpDownTrapEnable.1 = INTEGER: enabled(1)
A> IF-MIB::ifLinkUpDownTrapEnable.2 = INTEGER: enabled(1)
A> IF-MIB::ifLinkUpDownTrapEnable.3 = INTEGER: disabled(2)
A> IF-MIB::ifHighSpeed.1 = Gauge32: 10
A> IF-MIB::ifHighSpeed.2 = Gauge32: 10
A> IF-MIB::ifHighSpeed.3 = Gauge32: 0
A> IF-MIB::ifPromiscuousMode.1 = INTEGER: false(2)
A> IF-MIB::ifPromiscuousMode.2 = INTEGER: false(2)
A> IF-MIB::ifPromiscuousMode.3 = INTEGER: false(2)
A> IF-MIB::ifConnectorPresent.1 = INTEGER: true(1)
A> IF-MIB::ifConnectorPresent.2 = INTEGER: true(1)
A> IF-MIB::ifConnectorPresent.3 = INTEGER: false(2)
A> IF-MIB::ifAlias.1 = STRING: 
A> IF-MIB::ifAlias.2 = STRING: 
A> IF-MIB::ifAlias.3 = STRING: 
A> IF-MIB::ifCounterDiscontinuityTime.1 = Timeticks: (0) 0:00:00.00
A> IF-MIB::ifCounterDiscontinuityTime.2 = Timeticks: (0) 0:00:00.00
A> IF-MIB::ifCounterDiscontinuityTime.3 = Timeticks: (0) 0:00:00.00
A> It seems ifHCInOctets and ifHCOutOctets are missing. How come? Do I need
A> to use SNMP v3? Another query tool?

Totus tuus, Glebius.

More information about the freebsd-net mailing list