Determining counts or size of routing table? (netstat performance?)

Mykel Mykel at
Sat Nov 29 12:55:26 PST 2008

Got a few 6.x machines running OpenBGPd with a few BGP full-feeds and a
handful of peers... I'd like to determine the size of the FIB/kernel
routing table. OpenBGPd does not give me this data, and on my
duallie-Xeon 2.8s, it takes quite a while to use netstat & wc to count.

I'm not looking for exact numbers, just something I can poll via NetSNMP
and plot in cacti...

I looked though netstat, route, sysctl, vmstat, even pored over an
snmpwalk... can't find anything.
Been asking around, and the only suggestion I've received was to write a
daemon that dumps the table and then monitors the changes, but I'm not a
programmer, nor could I find any tool in ports that might assist in this.

I'd be happy with almost any metric that gives me some absolute
reference as to how big my routing table is so I can get some nice
pretty graphs done up. Not pounding the system every 60-300 seconds
would be very nice.

Any suggestions? Or does everyone just pipe netstat? Is there a MIB for
sysctl or NetSNMP I'm missing?


[root at jigsaw ~]# time route -vnd flush | wc -l

real    0m6.681s
user    0m3.910s
sys    0m2.351s
[root at jigsaw ~]# time netstat -rnf inet | wc -l

real    0m12.982s
user    0m2.713s
sys    0m9.609s
[root at jigsaw ~]#

More information about the freebsd-net mailing list