This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
We need to generate the 24 NIC part of a MAC address for a series of devices we are making. We could use some sort of database of allocated numbers and assign those as some sort of manual or automated step during production, but it is much more attractive to generate the NIC from each processor's UNIQUEID during device boot up.
We could just hash the full 128 bit UNIQUEID down to a 24 bit id and hope that it is sufficiently unique, but it would be nice to be able to extract parts of the 128 bit UNIQUEID that we know to be sufficiently unique and use just those bits.
Is the layout of the 128 UNIQUEID available or is this restricted knowledge, perhaps for security reasons?
Hello Peter,
The TM4C129 UNIQUEIDn is only guaranteed to be unique for all 128 bits, and we will not provide the layout (I don't even have it myself), sorry.
The hash idea wouldn't work well for you unfortunately because I don't think you can ensure all your hashes have no overlap, and you need the NIC to be unique for all devices. So you'd need to use a different means to handle this. I think in most cases once you have the OUI portion of the address you just need to fill in the NIC to be unique for each device. Do you have concerns about just using an incremental NIC for each product?
Thanks Ralph,
"layout not available" is pretty much what I expected to hear. Nice to have it explicit though and it may save other questers some time if they happen on this thread.
I agree about the hash and possibility for a collision. I'd expect fewer than 100,000 units built during the lifetime of the product we are developing, but I suspect Murphy and Occam would agree the risk isn't worth taking!
The hesitation about an incrementing NIC is that it effectively adds a production step and anything that makes production simpler makes it faster and more reliable. Each device will have a serial number so we'll probably end up generating a unique NIC from that and at least save spinning up tracking for used NICs as well as tracking used serial numbers.