Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jul 2001 16:20:43 -0700
From:      Jag Johal <Jag@midstream.com>
To:        "'hackers@freebsd.org'" <hackers@freebsd.org>, Michael VanLoon <MichaelV@EDIFECS.COM>
Cc:        "'hackers@freebsd.org'" <hackers@freebsd.org>
Subject:   RE: Finding MAC address of interface - programming question
Message-ID:  <E68F4182B5EFBE42A503F10FCB75FEDE022FDB@EX1.midstream.com>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E68F4182B5EFBE42A503F10FCB75FEDE022FDB>