Reading the Routing Tables

Dominic Mitchell dom at happygiraffe.net
Mon Jan 15 09:15:39 GMT 2001


On Sun, Jan 14, 2001 at 04:44:14PM +0000, Roger Hardiman wrote:
> Hi all
> 
> I need to read the IP Routing Table into a userland program
> but it seems I can only read it (from kvm) if I'm root or
> my application is set-user-id and owned by root.
> 
> This is a bit of a problem.
> 
> I need to read the Routing Table in the OpenH323 libraries
> for the H323 VideoPhone Proxy I'm porting.
> 
> But I don't want the library or the proxy to be owned by root if
> possible.
> 
> Linux seems to get around this by reading from /proc/net/route
> but we don't have in FreeBSD.
> 
> Do any of the programmers our there have any ideas?

Could you just read it in from a pipe to "netstat -rn"?  Alternatively,
you write a small program, setgid kmem, which does print out the routing
details (in a more readily usable format than netstat).

Looking at my copy of "Unix Network Programming", there should be a
sysctl to dump the routing table, under net.route.dump.  However, that's
certainly not in my copy of FreeBSD (4.2-STABLE).  It may be worth
looking back through the CVS logs to find that sysctl and add it back
in...

-Dom




More information about the Ukfreebsd mailing list