>Number: 157015 >Category: misc >Synopsis: bsnmpd does not create 64bit counters for interfaces without >link >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri May 13 20:00:19 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Kurt Lidl >Release: 8.2p1 >Organization: Cello Software LLC >Environment: FreeBSD extgw.fairview-park.com 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011 r...@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description: On a machine with 4 ethernet interfaces (two on-board, two on a single dual-port PCI card), I noticed the following. Interfaces fxp0, fxp1 are on the PCI card. Interfaces fxp2, fxp3 are on the motherboard. Interfaces fxp0, fxp2, fxp3 are plugged into ethernet switches. Interface fxp1 is not plugged into anything, but configured "UP". Using snmpwalk, I see the following: # snmpwalk -v2c -c XXX gatewayname 1.3.6.1.2.1.31.1.1.1 IF-MIB::ifName.1 = STRING: fxp0 IF-MIB::ifName.2 = STRING: fxp1 IF-MIB::ifName.3 = STRING: fxp2 IF-MIB::ifName.4 = STRING: fxp3 IF-MIB::ifName.5 = STRING: lo0 IF-MIB::ifInMulticastPkts.1 = Counter32: 2294 IF-MIB::ifInMulticastPkts.2 = Counter32: 0 IF-MIB::ifInMulticastPkts.3 = Counter32: 1486 IF-MIB::ifInMulticastPkts.4 = Counter32: 43 IF-MIB::ifInMulticastPkts.5 = Counter32: 0 IF-MIB::ifInBroadcastPkts.1 = Counter32: 0 IF-MIB::ifInBroadcastPkts.2 = Counter32: 0 IF-MIB::ifInBroadcastPkts.3 = Counter32: 0 IF-MIB::ifInBroadcastPkts.4 = Counter32: 0 IF-MIB::ifInBroadcastPkts.5 = Counter32: 0 IF-MIB::ifOutMulticastPkts.1 = Counter32: 0 IF-MIB::ifOutMulticastPkts.2 = Counter32: 0 IF-MIB::ifOutMulticastPkts.3 = Counter32: 9 IF-MIB::ifOutMulticastPkts.4 = Counter32: 0 IF-MIB::ifOutMulticastPkts.5 = Counter32: 0 IF-MIB::ifOutBroadcastPkts.1 = Counter32: 0 IF-MIB::ifOutBroadcastPkts.2 = Counter32: 0 IF-MIB::ifOutBroadcastPkts.3 = Counter32: 0 IF-MIB::ifOutBroadcastPkts.4 = Counter32: 0 IF-MIB::ifOutBroadcastPkts.5 = Counter32: 0 IF-MIB::ifHCInOctets.1 = Counter64: 766678 IF-MIB::ifHCInOctets.3 = Counter64: 22034061 IF-MIB::ifHCInOctets.4 = Counter64: 57896044 IF-MIB::ifHCInUcastPkts.1 = Counter64: 18446744073709551613 IF-MIB::ifHCInUcastPkts.3 = Counter64: 62323 IF-MIB::ifHCInUcastPkts.4 = Counter64: 65222 IF-MIB::ifHCInMulticastPkts.1 = Counter64: 2294 IF-MIB::ifHCInMulticastPkts.3 = Counter64: 1486 IF-MIB::ifHCInMulticastPkts.4 = Counter64: 43 IF-MIB::ifHCInBroadcastPkts.1 = Counter64: 0 IF-MIB::ifHCInBroadcastPkts.3 = Counter64: 0 IF-MIB::ifHCInBroadcastPkts.4 = Counter64: 0 IF-MIB::ifHCOutOctets.1 = Counter64: 0 IF-MIB::ifHCOutOctets.3 = Counter64: 58266640 IF-MIB::ifHCOutOctets.4 = Counter64: 20901937 IF-MIB::ifHCOutUcastPkts.1 = Counter64: 0 IF-MIB::ifHCOutUcastPkts.3 = Counter64: 71308 IF-MIB::ifHCOutUcastPkts.4 = Counter64: 53540 IF-MIB::ifHCOutMulticastPkts.1 = Counter64: 0 IF-MIB::ifHCOutMulticastPkts.3 = Counter64: 9 IF-MIB::ifHCOutMulticastPkts.4 = Counter64: 0 IF-MIB::ifHCOutBroadcastPkts.1 = Counter64: 0 IF-MIB::ifHCOutBroadcastPkts.3 = Counter64: 0 IF-MIB::ifHCOutBroadcastPkts.4 = Counter64: 0 IF-MIB::ifLinkUpDownTrapEnable.1 = INTEGER: enabled(1) IF-MIB::ifLinkUpDownTrapEnable.2 = INTEGER: enabled(1) IF-MIB::ifLinkUpDownTrapEnable.3 = INTEGER: enabled(1) IF-MIB::ifLinkUpDownTrapEnable.4 = INTEGER: enabled(1) IF-MIB::ifLinkUpDownTrapEnable.5 = INTEGER: disabled(2) IF-MIB::ifHighSpeed.1 = Gauge32: 100 IF-MIB::ifHighSpeed.2 = Gauge32: 0 IF-MIB::ifHighSpeed.3 = Gauge32: 100 IF-MIB::ifHighSpeed.4 = Gauge32: 100 IF-MIB::ifHighSpeed.5 = Gauge32: 0 IF-MIB::ifPromiscuousMode.1 = INTEGER: false(2) IF-MIB::ifPromiscuousMode.2 = INTEGER: false(2) IF-MIB::ifPromiscuousMode.3 = INTEGER: false(2) IF-MIB::ifPromiscuousMode.4 = INTEGER: false(2) IF-MIB::ifPromiscuousMode.5 = INTEGER: false(2) IF-MIB::ifConnectorPresent.1 = INTEGER: true(1) IF-MIB::ifConnectorPresent.2 = INTEGER: true(1) IF-MIB::ifConnectorPresent.3 = INTEGER: true(1) IF-MIB::ifConnectorPresent.4 = INTEGER: true(1) IF-MIB::ifConnectorPresent.5 = INTEGER: false(2) IF-MIB::ifAlias.1 = STRING: IF-MIB::ifAlias.2 = STRING: IF-MIB::ifAlias.3 = STRING: IF-MIB::ifAlias.4 = STRING: IF-MIB::ifAlias.5 = STRING: IF-MIB::ifCounterDiscontinuityTime.1 = Timeticks: (0) 0:00:00.00 IF-MIB::ifCounterDiscontinuityTime.2 = Timeticks: (0) 0:00:00.00 IF-MIB::ifCounterDiscontinuityTime.3 = Timeticks: (0) 0:00:00.00 IF-MIB::ifCounterDiscontinuityTime.4 = Timeticks: (0) 0:00:00.00 IF-MIB::ifCounterDiscontinuityTime.5 = Timeticks: (0) 0:00:00.00 As you can see, the .2 interface (== fxp1) doesn't have 64bit counters available. (And it looks like the .1 interface (== fxp0) doesn't have a valid ifHCInUcastPkts field either. The value 18446744073709551613 is suspiciously close to 16*1024^5, in fact, just 3 short of it. Given that the machine was just rebooted a few minutes before this snmpwalk was done, it's physically impossible to have received 16 quadrillion packets in that time frame. >How-To-Repeat: I suspect that if you boot a machine without link on some interface, start bnsmpd and try to do a snmpwalk using v2c, that you'll run into this same problem on any interface without link. >Fix: I suspect a bug in bsnmpd, but if one plugs in an ethernet cable between the interface and the switch, so the interface has link, the 64bit counter springs into existance... # snmpwalk -v2c -c XXX gatewayname 1.3.6.1.2.1.31.1.1.1.6 IF-MIB::ifHCInOctets.1 = Counter64: 1153385 IF-MIB::ifHCInOctets.2 = Counter64: 0 IF-MIB::ifHCInOctets.3 = Counter64: 45318695 IF-MIB::ifHCInOctets.4 = Counter64: 68312828 >Release-Note: >Audit-Trail: >Unformatted: _______________________________________________ freebsd-bugs@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"