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>
