if_ate handles the bytes of the MAC address in a "wrong" order

Björn König bkoenig at alpha-tierchen.de
Sat Jun 9 07:00:46 UTC 2007


Bernd schrieb:

> Ethernet is little endian.
> 0x01 is the first byte to be transmitted and it is done in 1000000
> order.
> For my understanding 0x01 is the _least_ significant byte.

If we would talk about a big 48-bit number with little endianess I would
agree with you that 0x01 is the least significant byte. However, a MAC
address is not a 48-bit number, it's rather a 48-bit address consisting of
six 8-bit numbers, so I think it's inappropriate and confusing to talk
about a most and least significant byte for the purpose of endianess.

I'd like to stick to IEEE802 and call the bytes from left to right: first,
second, third, ... and the sixth byte is the last. In my opinion the first
bytes in transmission have a higher significance than the last bytes,
because stations can already make decisions upon the first bytes. That's
the reason why Atmel (among many others) call the first byte the most
significant byte.

Regards
Björn



More information about the freebsd-arm mailing list