>Was this not implemented in these drivers because the hardware
>doesn't support it, or just because the coders didn't get around
>to it?
The latter. Virtually all cards allow you to set the MAC address; the Tulip
and RTL8319 certainly do.
>If it's the latter, anyone wanna volunteer a patch? :)
Well, the API is a little sketchy at the moment. There is a dev->
set_mac_address method in the device structure, which is what ifconfig uses.
Currently this is initialised to `eth_mac_addr', which copies the new MAC
address into dev->dev_addr (so it will be used on outgoing frames) but doesn't
call the driver to actually reconfigure the receive filter.
The thing to do, probably, is have the driver override dev->set_mac_address to
point to a new function of its own which does both of these tasks. You can
copy eth_mac_addr's code; it's in drivers/net/net_init.c. The code to
actually change the hardware settings can be cribbed from the driver's `open'
method for both the cards you mentioned.
p.
|