Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2001 13:19:23 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Jag Johal <Jag@midstream.com>
Cc:        "'hackers@freebsd.org'" <hackers@freebsd.org>, Michael VanLoon <MichaelV@EDIFECS.COM>
Subject:   RE: Finding MAC address of interface - programming question
Message-ID:  <Pine.NEB.3.96L.1010802131754.72009E-100000@fledge.watson.org>
In-Reply-To: <E68F4182B5EFBE42A503F10FCB75FEDE022FDB@EX1.midstream.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I actually prefer the API call getifaddrs(3), which does much the same
thing, but hides the MIB management interface behind a fairly well-defined
API, which also does the memory management.  You can just pull out the
link layer addresses along with interface description. 

Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
robert@fledge.watson.org      NAI Labs, Safeport Network Services

On Tue, 31 Jul 2001, Jag Johal wrote:

> Use sysctl(3), basically, its something like this.
> mib[0] = CTL_NET;
> mib[1] = AF_ROUTE;
> mib[2] = 0;
> mib[3] = AF_INET;
> mib[4] = NET_RT_IFLIST;
> mib[5] = 0;
> 
> sysctl(mib, 6, buf, &len, NULL, 0);
> buf will contain for each interface, an if_msghdr followed by a sockaddr_dl,
> the sockaddr_dl will contain the interface name and mac addr. Following that
> will be a ifa_msghdr for each ip address on the interface. You may want to
> check out UNPv1. 
> 
> Jag
> 
> -----Original Message-----
> From: Chris Faulhaber [mailto:jedgar@fxp.org]
> Sent: Tuesday, July 31, 2001 3:56 PM
> To: Michael VanLoon
> Cc: 'hackers@freebsd.org'
> Subject: Re: Finding MAC address of interface - programming question
> 
> 
> On Tue, Jul 31, 2001 at 03:56:40PM -0700, Michael VanLoon wrote:
> > Please point me to a more appropriate forum if there is one.  I'm kinda
> out
> > of my depth on this question.  Pseudo code is fine. :-)
> > 
> > What I'm looking for is how to enumerate the network interfaces and get
> the
> > Ethernet MAC address of one programmatically.  Can anyone point me in the
> > right direction?
> > 
> 
> /usr/src/sbin/ifconfig
> 
> -- 
> Chris D. Faulhaber - jedgar@fxp.org - jedgar@FreeBSD.org
> --------------------------------------------------------
> FreeBSD: The Power To Serve   -   http://www.FreeBSD.org
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1010802131754.72009E-100000>