Date: Sun, 18 Jun 2000 23:14:31 -0400 (EDT) From: Luoqi Chen <luoqi@watermarkgroup.com> To: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org, wpaul@FreeBSD.org Subject: Re: cvs commit: src/sys/sys sockio.h src/sys/net if.c src/sbin/ifconfig ifconfig.8 ifconfig.c Message-ID: <200006190314.e5J3EUg01383@lor.watermarkgroup.com>
next in thread | raw e-mail | index | archive | help
Just curious, why don't use the SIOCSIFADDR ioctl with AF_UNSPEC type address for this purpose? -lq > wpaul 2000/06/16 13:14:43 PDT > > Modified files: > sys/sys sockio.h > sys/net if.c > sbin/ifconfig ifconfig.8 ifconfig.c > Log: > Implement SIOCSIFLLADDR, which allows you to change the link-level > address on an interface. This basically allows you to do what my > little setmac module/utility does via ifconfig. This involves the > following changes: > > socket.h: define SIOCSIFLLADDR > if.c: add support for SIOCSIFLLADDR, which resets the values in > the arpcom struct and sockaddr_dl for the specified interface. > Note that if the interface is already up, we need to down/up > it in order to program the underlying hardware's receive filter. > ifconfig.c: add lladdr command > ifconfig.8: document lladdr command > > You can now force the MAC address on any ethernet interface to be > whatever you want. (The change is not sticky across reboots of course: > we don't actually reprogram the EEPROM or anything.) Actually, you > can reprogram the MAC address on other kinds of interfaces too; this > shouldn't be ethernet-specific (though at the moment it's limited to > 6 bytes of address data). > > Nobody ran up to me and said "this is the politically correct way to > do this!" so I don't want to hear any complaints from people who think > I could have done it more elegantly. Consider yourselves lucky I didn't > do it by having ifconfig tread all over /dev/kmem. > > Revision Changes Path > 1.15 +2 -1 src/sys/sys/sockio.h > 1.87 +31 -1 src/sys/net/if.c > 1.29 +11 -1 src/sbin/ifconfig/ifconfig.8 > 1.52 +27 -2 src/sbin/ifconfig/ifconfig.c > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200006190314.e5J3EUg01383>