So, while working with the xM, I noticed that every time you would
bring the smsc95xx usb0 interface up, you'd get a new MAC address. Not
that annoying, except when you have IPv6 addresses created by said MAC
address. Setting the MAC doesn't work, since you have to bring the
interface down to change the address...and when you bring it up, a new
random MAC is generated.
I've attached a very ugly (it's been years since I did any kernel
coding) that does (hopefully) two things:
1) Assign a local MAC address based on the die id of the processor.
2) Only generates a random MAC address once if things go poorly.
I need to split (1) and (2) out, since (2) really is an upstream
kernel bug. (1) is just a hack for us to get a realistic, constant
MAC. I've tested it, and (1) seems to work.
Please flame away. I like to beat this into shape for proper submittal
to the right people.