Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jun 1998 06:27:57 -0700 (PDT)
From:      Jim Shankland <jas@flyingfox.com>
To:        abial@nask.pl, freebsd-current@FreeBSD.ORG
Subject:   Re: Retrieving routing table via sysctl
Message-ID:  <199806301327.GAA09844@biggusdiskus.flyingfox.com>

next in thread | raw e-mail | index | archive | help
Andrzej Bialecki <abial@nask.pl> writes:

> There are sysctl's which are named appropriately, but what they return
> is a series of struct rt_msghdr, which doesn't contain the struct
> sockaddr of the route itself and of the gateway... (I'm speaking here
> about:
> 
> 	int mib[]={CTL_NET,PF_ROUTE,0,0,NET_RT_DUMP};
> )
> 
> I'd like to be able to do this _without_ resorting to kread and friends,
> so that it works on a stripped kernel.

The sockaddr's immediately follow the struct rt_msghdr; flags in the
struct rt_msghdr tell you which sockaddr's are present.  Beware:  the
sockaddr for a netmask is only 8 bytes long.  When in doubt, check
against the kernel source, and/or carefully eyeball several sets of
sample output.  This is not for the faint of heart, but it can be
made to work.

All the above is based on -stable; your -current mileage may vary.

Jim Shankland
Flying Fox Computer Systems, Inc.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



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