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