Traditionally MAC addresses were used to generate the interface identifier. A 48-bit MAC address is turned into a 64-bit EUI1-64 address by inserting FF-FE in the middle, then the 7th most significant bit is inverted. The bit is inverted to specify that the address is now “universally unique”. As compared to normal EUI-64 generation, when this EUI-64 is used to form an IPv6 address, it is modified: the meaning of the Universal/Local bit (the 7th most significant bit of the EUI-64, starting from 1) is inverted, so that a 1 now means Universal.

Example

Using the MAC address 00-0C-29-0C-47-D5, with the network prefix 2001:db8:1:2::/64:

  1. Insert FF-FE into the middle to create the EUI-64 (00-0C-29-FF-FE-0C-47-D5)
  2. Flip the 7th most significant bit to create the modified EUI-64 (02-0C-29-FF-FE-0C-47-D5 the hex character containing the flipped bit has been bolded)
  3. Finally prefix it with the network prefix (2001:db8:1:2:020c:29ff:fe0c:47d5)

  1. Extended Unique Identifier ↩︎