Date: Mon, 07 Feb 2000 21:29:55 -0800 From: "gbnaidu " <gbnaidu@my-Deja.com> To: "Garrett Wollman" <wollman@khavrinen.lcs.mit.edu> Cc: freebsd-net@FreeBSD.ORG Subject: Re: How to get outgoing interface... Message-ID: <FJAFCGAFOGHALBAA@my-deja.com>
next in thread | raw e-mail | index | archive | help
 
--
On Mon, 7 Feb 2000 11:42:26    Garrett Wollman wrote:
><<On Sun, 06 Feb 2000 21:17:21 -0800, "gbnaidu  " <gbnaidu@my-Deja.com> said:
>
>[Paragraph reformatted for legibility.  In the future, please press
>return at the end of each 72-character line.]
>
>> I am trying to dump the routing table using the sysctl system
>> call. I am able to get the destination address, gateway, mask all
>> these entries. But How do I get the outgoing interface for a
>> particular entry in the routing table?
>
>Keep on looking in the routing message.  A typical response will look
>like this:
>
>sockaddrs: <DST,GATEWAY,NETMASK,IFP,IFA>
> default anacreon default fxp0:0.a0.c9.3c.76.5c khavrinen
>
>You have found the first three sockaddrs in the message; the RTA_IFP
>sockaddr will tell you which interface is being used, and the RTA_IFA
>one will tell you the IP address configured on that interface.
>
>-GAWollman
I tried looking in to those structures(RTA_IFP)also. But the structure is NULL. This is how I defined:
        mib[0] = CTL_NET;
        mib[1] = AF_ROUTE;
        mib[2] = 0;
        mib[3] = family; /* AF_INET */
        mib[4] = NET_RT_DUMP;
        mib[5] = 0; /* Here do I need to 
                       set any flags? */
After calling sysctl, I am trying to read the structures by checking them whether they are null: rti_info contains all the returned sockaddr structrues by sysctl:
if ( (sa = rti_info[RTAX_DST]) != NULL) { process the destination address;
if ( (sa = rti_info[RTAX_GATEWAY]) != NULL)
Similarly I amtrying to get the name of the interface:
if ( (sa = rti_info[RTAX_IFP]) != NULL): here this condition fails.
Do I need to give any other information like flags(RTA_IFP) to mib[5]?
thank you
gb
--== Sent via Deja.com http://www.deja.com/ ==--
Share what you know. Learn what you don't.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FJAFCGAFOGHALBAA>
