freebsd-src/sys/net
Bill Paul b106252c19 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.
2000-06-16 20:14:43 +00:00
..
bpf_compat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bpf_filter.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
bpf.c Don't panic if ifpromisc() returnes ENXIO, it's probably just an pccard 2000-06-01 21:57:13 +00:00
bpf.h The advent of if_detach, allowing interface removal at runtime, makes it 2000-03-19 05:42:34 +00:00
bpfdesc.h Introduce a new bd_seesent flag to the BPF descriptor, indicating whether or 2000-03-18 06:30:42 +00:00
bridge.c Don't try to apply ipfw filtering to non-IP packets. 2000-06-02 22:47:53 +00:00
bridge.h Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
bsd_comp.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ethernet.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
fddi.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
hostcache.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
hostcache.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_arp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_atm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_atmsubr.c remove "register" specifiers to supress compiler warning. 2000-04-26 02:40:33 +00:00
if_disc.c udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_dl.h The "sdl_family" field in a "struct sockaddr_dl" will be equal 2000-03-01 02:46:25 +00:00
if_ef.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_ethersubr.c Do not perform any opeartion with mbuf after it placed into 2000-06-14 05:56:53 +00:00
if_faith.c Remove #if NGIF > 0 and #if NFAITH > 0 as config already checks this. 2000-01-29 18:10:39 +00:00
if_fddisubr.c Do not perform any opeartion with mbuf after it placed into 2000-06-14 05:56:53 +00:00
if_gif.c IPv6 6to4 support. 2000-03-11 11:17:24 +00:00
if_gif.h udp IPv6 support, IPv6/IPv4 tunneling support in kernel, 1999-12-07 17:39:16 +00:00
if_ieee80211.h Awi driver, ported from NetBSD from Atsushi Once-san. 2000-04-06 02:48:48 +00:00
if_iso88025subr.c Do not perform any opeartion with mbuf after it placed into 2000-06-14 05:56:53 +00:00
if_llc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_loop.c fix KASSERT usage 2000-06-02 19:06:33 +00:00
if_media.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_media.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_mib.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_mib.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_ppp.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_ppp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_pppvar.h Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
if_sl.c Unused include: #include "sl.h" - NSL is no longer used. 2000-06-10 11:21:30 +00:00
if_slvar.h Make sl(4) SLIP devices dynamically expansible. Yay! =) 2000-05-30 13:47:03 +00:00
if_sppp.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
if_spppsubr.c * Use sys/sys/random.h rather than a i386 specific one. 2000-04-24 17:30:08 +00:00
if_tun.c Track if_i{bytes,packets,errors}. 2000-02-16 04:04:36 +00:00
if_tun.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_tunvar.h Implement TUN[GS]IFHEAD ioctls. Passing a non-zero int to TUNSIFHEAD 2000-01-23 01:47:12 +00:00
if_types.h KAME related header files additions and merges. 1999-11-05 14:41:39 +00:00
if_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_vlan_var.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
if_vlan.c Move code to handle BPF and bridging for incoming Ethernet packets out 2000-05-14 02:18:43 +00:00
if.c Implement SIOCSIFLLADDR, which allows you to change the link-level 2000-06-16 20:14:43 +00:00
if.h Add support for offloading IP/TCP/UDP checksums to NIC hardware which 2000-03-27 19:14:27 +00:00
intrq.c Fix this so LINT compiles. There is no way this could have worked if 2000-01-29 16:13:08 +00:00
intrq.h Redo the intrq.c idea as 2000-01-27 23:37:39 +00:00
iso88025.h o Replace most magic numbers related to token ring with #defines 2000-03-19 21:34:39 +00:00
net_osdep.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
net_osdep.h KAME netinet6 basic part(no IPsec,no V6 Multicast Forwarding, no UDP/TCP 1999-11-22 02:45:11 +00:00
netisr.h Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
pfil.9 patch from Alexey Zelkin 2000-05-11 00:44:35 +00:00
pfil.c Add pfil(9) subroutines and manpage from NetBSD. 2000-05-10 13:37:51 +00:00
pfil.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
pfkeyv2.h cosmetic change: sort function prototypes 2000-01-15 05:06:14 +00:00
ppp_comp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_deflate.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_defs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ppp_tty.c Remove some #if NFOO > 0 that are always true because of config rules. 2000-01-29 16:56:24 +00:00
radix.c A couple months ago, Kirk and I were doing a walkthrough of the radix-tree 2000-04-23 04:00:00 +00:00
radix.h A couple months ago, Kirk and I were doing a walkthrough of the radix-tree 2000-04-23 04:00:00 +00:00
raw_cb.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
raw_cb.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
raw_usrreq.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
route.c A couple months ago, Kirk and I were doing a walkthrough of the radix-tree 2000-04-23 04:00:00 +00:00
route.h Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
rtsock.c Clean up some loose ends in the network code, including the X.25 and ISO 2000-02-13 03:32:07 +00:00
slcompress.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
slcompress.h Pass me the pointy hat. 2000-04-04 09:20:53 +00:00
slip.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
zlib.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
zlib.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00