Subject: Re: Changing the physical address of an interface
To: Matt Thomas <matt@lkg.dec.com>
From: Eric Varsanyi <ewv@boom.bsdi.com>
List: tech-net
Date: 07/05/1996 13:10:40
>To me, it makes the most sense to the SIOCSIFADDR, SIOCAIFADDR,
>and SIOCDIFADDR ioctls to do this inc combination with the AF_LINK
>sockaddr.  One problem is that the AF_LINK sockaddr is 8 bytes 
>larger than the default sockaddr.  Which means that the current
>ifreq/ifaliasreq are too small to be useful.  Unless we increase
>the default size of the sockaddr padding from 14 bytes to 22 bytes.
>With IPv6 having 24 byte sockaddrs and the increasing use of
>sockaddr_dl's (arp), increasing the size of struct sockaddr would
>be prudent thing to do.
>
>If that's not possible, I suppose we could just use AF_UNSPEC and
>load the address in the first N bytes of sa_data.
>
>SIOCSIFADDR would set the primary address of interface.
>SIOCAIFADDR would add a secondary address to the interface.
>SIOCDIFADDR would delete a secondary address or restore the primary
>address to the ROM address.

We are considering doing exactly this in a future release, although
probably just the simple SIOCSIFADDR (is there really a need for
multiple mac addresses? how would ethersubr decide which one to
use when sending -- protocol?).

-Eric