Giuseppe Larosa Tue, 01/13/2009 - 02:37

Hello Tomazs,

the EUI-64 builds a 64bit field from a 48bits field the MAC address.

someone says it is for the following reason

The motivation for inverting the 'u' bit when forming the interface identifier is to make it easy for system administrators to hand configure local scope identifiers when hardware tokens are not available. This is expected to be case for serial links, tunnel end-points, etc. The alternative would have been for these to be of the form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1, ::2, etc

section 2.5.1 of RFC 2373

However, two bytes are added between the OUI and host part so the EUI-64 is a form of abstraction of the MAC address.

Hope to help


tomek0001 Tue, 01/13/2009 - 13:57


I saw that explanation also, but what I don't understand why the alternative would be 0200:0:0:1? Where is the last 1 coming from? and the 2 if you are not inverting it?


Giuseppe Larosa Wed, 01/14/2009 - 00:46

Hello Tomasz,

the sentences that are taken from the RFC2373 should have the following meaning:

0 0 0 1 1 2

|0 7 8 5 6 3|




(notice the position of u bit inside first byte of eui-64 if u bit is set first byte is 0x02)

if this spec were changed so that the u bit was used without inversion then to build a local scope 64 bits identifier for a serial interface (for an interface that hasn't its own MAC address) would require to set the u bit so:

0200:0:0:1 should be used instead of


for the host portion of a serial line

the final 1 comes from the fact that the address cannot be made of all zeros.

instead by using an inverted u u=1 means global u=0 means local.

Now, that the specification is made we need to use it.

The first remark is that we don't need to wast a /64 ipv6 prefix over a point-to-point serial link just to say something.

so when mapping a MAC address for a LAN interface they set the u bit and you need to think to your OUI bytes with a 2 in first byte.

I agree I would have been easier without setting it to recognize the MAC address.

Hope to help


thibaultm Wed, 04/14/2010 - 11:47

well with a MAC address, which is unique, the EUI-64 becomes unique as well, that is why the u (u for universal) bit can be set to 1, the eui-64 is really universal and unique.

It is usefull because it tells how the interface-id has been made, and that it is unique.

I think this is to be able to tell a difference with interface ID on non LAN interfaces that have more leeway to choose an interface ID from,

and for which no authority can ensure the 64 bits are unique  worldwide.

at least with EUI-64 we know it is unique

it is not a problem that it is different from the MAC address, EUI64 are not MAC addresses even if they can be deducted from them.

I hope it helps


This Discussion