From owner-freebsd-net@FreeBSD.ORG  Tue Feb 14 08:39:05 2006
Return-Path: <owner-freebsd-net@FreeBSD.ORG>
X-Original-To: freebsd-net@freebsd.org
Delivered-To: freebsd-net@freebsd.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4A71616A420;
	Tue, 14 Feb 2006 08:39:05 +0000 (GMT)
	(envelope-from Hartmut.Brandt@dlr.de)
Received: from smtp-3.dlr.de (smtp-3.dlr.de [195.37.61.187])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 9862C43D48;
	Tue, 14 Feb 2006 08:39:04 +0000 (GMT)
	(envelope-from Hartmut.Brandt@dlr.de)
Received: from beagle.kn.op.dlr.de ([129.247.173.6]) by smtp-3.dlr.de over TLS
	secured channel with Microsoft SMTPSVC(6.0.3790.211); 
	Tue, 14 Feb 2006 09:39:00 +0100
Date: Tue, 14 Feb 2006 09:39:00 +0100 (CET)
From: Harti Brandt <hartmut.brandt@dlr.de>
X-X-Sender: brandt_h@beagle.kn.op.dlr.de
To: Anders Nordby <anders@FreeBSD.org>
In-Reply-To: <20060214083010.GB41864@totem.fix.no>
Message-ID: <20060214093513.F5083@beagle.kn.op.dlr.de>
References: <20060206092443.GA61116@totem.fix.no>
	<20060207141131.GU877@FreeBSD.org>
	<20060213173008.GA14643@totem.fix.no>
	<20060214090531.X5083@beagle.kn.op.dlr.de>
	<20060214083010.GB41864@totem.fix.no>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-OriginalArrivalTime: 14 Feb 2006 08:39:00.0220 (UTC)
	FILETIME=[1A1ABBC0:01C63142]
Cc: freebsd-net@freebsd.org, Gleb Smirnoff <glebius@FreeBSD.org>,
	kuriyama@freebsd.org, demon@freebsd.org
Subject: Re: 64-bit SNMP counters for FreeBSD && graphing bandwidth usage
X-BeenThere: freebsd-net@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: Harti Brandt <harti@freebsd.org>
List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net>
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Feb 2006 08:39:05 -0000

On Tue, 14 Feb 2006, Anders Nordby wrote:

AN>On Tue, Feb 14, 2006 at 09:07:42AM +0100, Harti Brandt wrote:
AN>>>It seems ifHCInOctets and ifHCOutOctets are missing. How come? Do I need
AN>>>to use SNMP v3? Another query tool?
AN>> 10 bits/seconds seems utterly wrong for bge interfaces :-) The HC counters 
AN>> appear only for speeds >= 20Mbit/sec according to the RFC.
AN>
AN>I have two servers running bsnmpd in FreeBSD 6.0-RELEASE here now. Both
AN>have bge gigabit interfaces. 
AN>
AN>1) A HP Proliant DL 380 G4 (FreeBSD/i386), with (forced) 100baseTX
AN>full-duplex link:
AN>
AN># ifconfig bge0
AN>bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
AN>        options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
AN>        inet X.X.X.X netmask 0xfffffff0 broadcast 80.91.38.111
AN>        ether 00:14:c2:61:5c:95
AN>        media: Ethernet 100baseTX <full-duplex>
AN>        status: active
AN># snmpwalk -v 2c -c XXXXXX localhost:163
AN>ifMIB.ifMIBObjects.ifXTable.ifXEntry
AN>IF-MIB::ifName.1 = STRING: bge0
AN>IF-MIB::ifName.2 = STRING: bge1
AN>IF-MIB::ifName.3 = STRING: lo0
AN>IF-MIB::ifInMulticastPkts.1 = Counter32: 3430507
AN>IF-MIB::ifInMulticastPkts.2 = Counter32: 0
AN>IF-MIB::ifInMulticastPkts.3 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.1 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.2 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.3 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.1 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.2 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.3 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.1 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.2 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.3 = Counter32: 0
AN>IF-MIB::ifLinkUpDownTrapEnable.1 = INTEGER: enabled(1)
AN>IF-MIB::ifLinkUpDownTrapEnable.2 = INTEGER: enabled(1)
AN>IF-MIB::ifLinkUpDownTrapEnable.3 = INTEGER: disabled(2)
AN>IF-MIB::ifHighSpeed.1 = Gauge32: 10
AN>IF-MIB::ifHighSpeed.2 = Gauge32: 10
AN>IF-MIB::ifHighSpeed.3 = Gauge32: 0
AN>IF-MIB::ifPromiscuousMode.1 = INTEGER: false(2)
AN>IF-MIB::ifPromiscuousMode.2 = INTEGER: false(2)
AN>IF-MIB::ifPromiscuousMode.3 = INTEGER: false(2)
AN>IF-MIB::ifConnectorPresent.1 = INTEGER: true(1)
AN>IF-MIB::ifConnectorPresent.2 = INTEGER: true(1)
AN>IF-MIB::ifConnectorPresent.3 = INTEGER: false(2)
AN>IF-MIB::ifAlias.1 = STRING: 
AN>IF-MIB::ifAlias.2 = STRING: 
AN>IF-MIB::ifAlias.3 = STRING: 
AN>IF-MIB::ifCounterDiscontinuityTime.1 = Timeticks: (0) 0:00:00.00
AN>IF-MIB::ifCounterDiscontinuityTime.2 = Timeticks: (0) 0:00:00.00
AN>IF-MIB::ifCounterDiscontinuityTime.3 = Timeticks: (0) 0:00:00.00
AN>
AN>2) A HP Proliant DL 385 G1 (FreeBSD/amd64), with gigabit link:
AN>
AN># ifconfig bge0
AN>bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
AN>        options=1a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
AN>        inet X.X.X.X netmask 0xffffffe0 broadcast 80.91.39.159
AN>        ether 00:13:21:b3:01:f6
AN>        media: Ethernet autoselect (1000baseTX <full-duplex>)
AN>        status: active
AN># snmpwalk -v 2c -c XXXXXX localhost:163
AN>ifMIB.ifMIBObjects.ifXTable.ifXEntry
AN>IF-MIB::ifName.1 = STRING: bge0
AN>IF-MIB::ifName.2 = STRING: bge1
AN>IF-MIB::ifName.3 = STRING: lo0
AN>IF-MIB::ifInMulticastPkts.1 = Counter32: 13303
AN>IF-MIB::ifInMulticastPkts.2 = Counter32: 0
AN>IF-MIB::ifInMulticastPkts.3 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.1 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.2 = Counter32: 0
AN>IF-MIB::ifInBroadcastPkts.3 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.1 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.2 = Counter32: 0
AN>IF-MIB::ifOutMulticastPkts.3 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.1 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.2 = Counter32: 0
AN>IF-MIB::ifOutBroadcastPkts.3 = Counter32: 0
AN>IF-MIB::ifLinkUpDownTrapEnable.1 = INTEGER: enabled(1)
AN>IF-MIB::ifLinkUpDownTrapEnable.2 = INTEGER: enabled(1)
AN>IF-MIB::ifLinkUpDownTrapEnable.3 = INTEGER: disabled(2)
AN>IF-MIB::ifHighSpeed.1 = Gauge32: 10
AN>IF-MIB::ifHighSpeed.2 = Gauge32: 10
AN>IF-MIB::ifHighSpeed.3 = Gauge32: 0
AN>IF-MIB::ifPromiscuousMode.1 = INTEGER: false(2)
AN>IF-MIB::ifPromiscuousMode.2 = INTEGER: false(2)
AN>IF-MIB::ifPromiscuousMode.3 = INTEGER: false(2)
AN>IF-MIB::ifConnectorPresent.1 = INTEGER: true(1)
AN>IF-MIB::ifConnectorPresent.2 = INTEGER: true(1)
AN>IF-MIB::ifConnectorPresent.3 = INTEGER: false(2)
AN>IF-MIB::ifAlias.1 = STRING: 
AN>IF-MIB::ifAlias.2 = STRING: 
AN>IF-MIB::ifAlias.3 = STRING: 
AN>IF-MIB::ifCounterDiscontinuityTime.1 = Timeticks: (0) 0:00:00.00
AN>IF-MIB::ifCounterDiscontinuityTime.2 = Timeticks: (0) 0:00:00.00
AN>IF-MIB::ifCounterDiscontinuityTime.3 = Timeticks: (0) 0:00:00.00
AN>
AN>I changed port to 163 cause I am actually using net-snmp snmpd on port
AN>161 still. Anyway, it seems bsnmpd insists these are 10 mbps interfaces?
AN>Why so?

The driver reports a speed of 10Mbits/sec. ifHighSpeed is ifi_baudrate 
divided by 10^6 (and rounded). This is the default set by ether_ifattach() 
if the driver did not set another value. It seems that bge never sets that 
value so you end up with the default. This looks like a bug.

harti