Skip site navigation (1)Skip section navigation (2)
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>