Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Dec 2008 21:10:03 +0100
From:      Hartmut Brandt <hartmut.brandt@dlr.de>
To:        Eugene Grosbein <eugen@kuzbass.ru>
Cc:        net@freebsd.org
Subject:   Re: bsnmpd & BGP full view
Message-ID:  <4953E89B.1060102@dlr.de>
In-Reply-To: <20081225193818.GA9210@svzserv.kemerovo.su>
References:  <20081225193818.GA9210@svzserv.kemerovo.su>

next in thread | previous in thread | raw e-mail | index | archive | help
Eugene Grosbein wrote:
> Hi!
>
> Is there a way to reduce bsnmpd's CPU & memory usage
> for BGP router using full view?
>
> I do not need to deal with routing table via SNMP.
> SNMP is needed to monitor interface byte counters only via mrtg.
>
> bsnmpd grows upto 18Mb for FreeBSD 6.4 and worse,
> it hogs CPU while bgpd obtains full view.
>   

Hmm. I just had a look and the version in 6.4 already has the optimized 
route table (you may confirm that: 
contrib/bsnmp/snmp_mibII/mibII_route.c should include sys/tree.h).
It takes 36 byte per route on a 32-bit machine and should take 52 byte 
on a 64-bit one. The only way to reduce memory consumption considerably 
that I can see is to use the kernel routing table directly, but this 
requires to
implement the GETNEXT operation in kernel.

In any case it should re-read the kernel table only every 10 minutes and 
in the mean time monitor the routing socket to update its copy of the 
table. If of course someone is doing a lot of updates on
the kernel table it will receive all these changes and apply them to its 
copy of the routing table. If the latter is a problem you could disable 
the routing socket interface and could just rely on the 10
minute re-reads. Between these re-reads you would not see changes to the 
routing table through SNMP.

BTW: how many routes do you have? When I introduced the optimized 
routing table I tested with 150k routes which was reported to be 
reasonable at that time.

harti




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