Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Oct 2006 17:44:55 +0200 (CEST)
From:      Harti Brandt <hartmut.brandt@dlr.de>
To:        Thomas <freebsdlists@bsdunix.ch>
Cc:        freebsd-net@freebsd.org
Subject:   Re: paket loss on freebsd router if (b)snmpd is running##SPAM
Message-ID:  <20061027173957.S27619@knop-beagle.kn.op.dlr.de>
In-Reply-To: <454226C7.10505@bsdunix.ch>
References:  <4541AB5C.2060009@bsdunix.ch> <20061027104553.D27619@knop-beagle.kn.op.dlr.de> <454226C7.10505@bsdunix.ch>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 27 Oct 2006, Thomas wrote:

T>Hello Harti
T>
T>Harti Brandt schrieb:
T>> On Fri, 27 Oct 2006, Thomas wrote:
T>> 
T>> T>Hello
T>> T>
T>> T>I use several 5.4 and 6.1 FBSD machines as router (with quagga). The
T>> T>average traffic is 300mbit/s (em interfaces with polling enabled). It
T>> T>works more or less.
T>> T>
T>> T>Problem:
T>> T>If bsnmpd is running and I'm doing a snmpwalk from a remote machine the
T>> T>router has some significant packet loss. We are talking about 3-15% of
T>> T>packet loss. It's a simple snmpwalk (ipRouteTable and the interfaces stats).
T>> 
T>> Does this happen also if you walk only the interface tables? What size is 
T>> your routing table?
T>
T>The routing table has approx. 200k entries. I've to correct my
T>statement. I don't walk over the RoutingTable.

Oh. That would be a nice test how good the RB-tree implementation of the 
routing table is :-)

T>It's only an interface table walk (IF-MIB). bsnmpd consumes approx.
T>6-10% cpu. I already have significant packet loss if bsnmpd is started.
T>
T>bsnmpd not running:
T>
T>ping www.switch.ch
T>
T>--- oreius.switch.ch ping statistics ---
T>44 packets transmitted, 44 packets received, 0% packet loss
T>round-trip min/avg/max/stddev = 6.825/7.425/8.007/0.252 ms
T>
T>zero packet loss.
T>
T>
T>netstat -w 1 shows no error.
T>
T>            input        (Total)           output
T>   packets  errs      bytes    packets  errs      bytes colls
T>     39877     0   34330807      38614     0   34087518     0
T>     45522     0   38730142      44124     0   38424881     0
T>     44671     0   38783909      43455     0   38604698     0
T>     43140     0   36939542      42059     0   36691583     0
T>     43428     0   36858817      42213     0   36700954     0
T>     43748     0   37994949      42687     0   37780190     0
T>     42698     0   36451927      41409     0   36270936     0
T>     38695     0   32184588      37119     0   31791417     0
T>
T>
T>
T>
T>bsnmpd started:
T>
T>ping www.switch.ch
T>--- oreius.switch.ch ping statistics ---
T>57 packets transmitted, 53 packets received, 7% packet loss
T>round-trip min/avg/max/stddev = 6.715/12.638/95.183/19.041 ms
T>
T>7% packet loss.
T>
T>
T>netstat shows some errors too.
T>netstat -w 1
T>            input        (Total)           output
T>   packets  errs      bytes    packets  errs      bytes colls
T>     33597     0   27508009      32433     0   27344720     0
T>     38204     0   32117848      36950     0   31852251     0
T>     39171     0   33870984      37999     0   33696346     0
T>     32160     0   26825650      31065     0   26591079     0
T>     26915   726   20902878      25771     0   20791170     0
T>     35167     0   29173014      33945     0   28904867     0
T>     33282   370   27478393      32140     0   27297079     0
T>     29738     0   23859586      28464     0   23524984     0
T>     38456   598   31559055      36881     0   31313396     0
T>     34738     0   28088584      33247     0   27743827     0
T>     38193   648   30854513      36657     0   30556948     0
T>
T>
T>A snmpwalk makes it a bit worse but not much. I already have packet loss
T>if bsnmpd is just started without any walks.

You mean, you have loss if it is just ideling around? The only thing 
bsnmpd does in this situation is polling the interface statistics, which 
is needed because the kernel has only 32-bit counters. Could you please 
check what the polling interval is? You find this in the BEGEMOT-MIB2-MIB. 
Something like

snmpwalk ... <host> begemotMib2

given that /usr/share/snmp/mibs is in your MIB path.

harti



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061027173957.S27619>