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>