bsnmpd & BGP full view

Hartmut Brandt hartmut.brandt at dlr.de
Thu Dec 25 20:23:42 UTC 2008


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



More information about the freebsd-net mailing list