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>