1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

7 Commits

Author SHA1 Message Date
Benjamin Valentin
3b7351753b sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
Add functions to generate an EUI based on the netdev ID.
This will always return the same EUI for the same netdev, so it is
stable across netdev resets.
2020-08-18 11:45:45 +02:00
Martine Lenders
1f2c3f7547
Merge pull request #12604 from maribu/luid-doc
sys/luid: Added postcondition to luid_get()
2020-06-16 15:24:51 +02:00
Benjamin Valentin
e195e0269c sys/luid: provide luid_get_lb(), fix documentation
This does two things:

The documentation of `luid_get()` is wrong, or at least confusing.

It talks about

> an 8-bit incrementing counter value into the most significant byte

while the implementation does

    ((uint8_t *)buf)[0] ^= lastused++;	// 0 is LSB!

Now it could be argued that the intention was that the ID is supposed
to be used in Big Endian contexts and that was an omission, however
to keep everyone's sanity, let's keep it simple and just state that this
actually changes the LSB.

Also add a `luid_get_lb()` function that does the same, but modifies the
most significant byte - or the last byte if looking at the index.

This can then be used directly by e.g. #13743
2020-05-13 20:47:53 +02:00
Benjamin Valentin
38e94d09db sys/luid: provide luid_get_eui48() and luid_get_eui64()
The most common use case for luid is to generate those
addresses, so provide helper functions for it.
2019-11-04 21:08:23 +01:00
Marian Buschsieweke
1ba7e8fe22
sys/luid: Added postcondition to luid_get()
Stated the obvious in the doc: Altering the LUID returned by luid_get() breaks
the guarantee that it is locally unique, as it than could collide with other
LUIDs returned by luid_get().
2019-10-29 21:50:39 +01:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
Hauke Petersen
79a113d1ba sys/drivers: renamed uuid module to luid 2017-02-27 11:01:20 +01:00