...
I thought it was part of the ethernet spec that the
hardware
address couldn't be changed unless you're running a VMScluster.
...
There is another concept called Locally Administered Addresses. They apply
to all IEEE LAN technologies, so they may be a part of 802.1 or 2, not
802.3. An example of their use that I saw a lot was with IBM mainframes.
Remote controllers talked to the mainframe using the MAC layer. There was no
network of transport layer. So a remote communication controller that was
LAN attached would be configured with the MAC address of the NIC in the
host. Obviously, if that NIC blew up and you didn't want to spend a few
hours of mainframe downtime while you repaired the NIC you would resort to
that evil process known derisively here as "board-swapping". This would mean
that the host NIC now had a new MAC address and the configurations of all
the LAN attached controllers had to be changed. In a geographically
dispersed LAN it could be quite expensive to touch every box.
So, instead of using the burned in MAC address you would use a Locally
Administered address. The LAA bit is the second bit on the wire. Ethernet
puts the LSb of each byte on the wire first, so a LAA Ethernet address would
be one with the 2 bit on. Token Ring put the MSb on the wire first, so an
LAA address typically started with 0x40.
DEC might not have supported LAAs in any given environment, of course. But I
doubt if the 802.3 spec specifically exempts a VMSCluster. ;)
DEC was an early player in this area. After all, DIX Ethernet format refers
to DEC, Intel & Xerox. They did all manner of strange things. For example,
the first three bytes of a MAC address are the vendor code. DEC used 4, and
on a given adapter they might use any of the 4 possible variants of the MAC
address using the same low order 3 bytes but varying the high order 3 bytes
to any of their 4 vendor codes. This is one reason why Ethernet switches can
usually learn at least 4 MAC addresses per port.
Gil