MAC Addresses: down-converting EUI-64 to EUI-48?

Go To Last Post
2 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm using an AT24MAC602 serial EEPROM with a built in factory programmed by Atmel EUI-64.  Unfortunately the application needs IPv4 not IPv6 so I need to down-convert the 64-bit EUI to a 48-bit one.  How is it done?

 

Up-converting is easy.  Take the first 24-bits of the 48-bit EUI from the AT24MAC402, insert 0xfffe or 0xffff, and append the last 24-bits of the 48-bit EUI.  Now it's a 64-bit EUI.  The Atmel Xplained boards are the AT24MAC402 48-bit chip.

 

What about the reverse with Atmel's AT24MAC602?  Obviously if the middle bytes are 0xfffe or 0xffff just chop them out and concatenate.  Unfortunately the ATMAC602 chips I have are returning 0x0000 in the middle bytes.  If I just chop them out is the shorter 48-bit EUI still globally unique?

This topic has a solution.

Last Edited: Fri. Jan 4, 2019 - 04:29 PM
This reply has been marked as the solution. 
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So we reached out to our local Atmel/Microchip rep.  Their answer is NO, shortening a EUI-64 down to a EUI-48 when the middle bytes are something other than 0xffff or 0xfffe can cause a collision.  Global uniqueness is lost.  At least that's the answer with Atmel AT24MAC chips.

 

Example:

 

EUI-64 #1 from AT24MAC602:  fc:c2:3d:00:00:12:34:56

EUI-64 #2 from AT24MAC602:  fc:c2:3d:00:01:12:34:56

 

Both of these EUI-64 numbers will down convert to EUI-48 fc:c2:3d:12:34:56, a 2-to-1 mapping in this case.