diff options
author | marcel <marcel@FreeBSD.org> | 2013-07-24 18:13:43 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2013-07-24 18:13:43 +0000 |
commit | 13d997511f0f5b090e9ce6689f7b17489cffbf8a (patch) | |
tree | 44464173466a2395b829f312156094dfb041bb22 /sys/kern/kern_uuid.c | |
parent | 25bd9fd1d513c6c9301ea825a2a8a8570567c74c (diff) | |
download | FreeBSD-src-13d997511f0f5b090e9ce6689f7b17489cffbf8a.zip FreeBSD-src-13d997511f0f5b090e9ce6689f7b17489cffbf8a.tar.gz |
Further restrict the MAC addresses that we use for UUID generation
to those that are universally administered. While it is possible to
add locally administered MAC addresses, it's unclear whether those
are (expected) to be more unique than random multicast MAC addresses
or not.
With many U-Boot configurations assigning fixed and non-official MAC
addresses to ethernet ports and without setting the 'X' flag, this
change may have very little value in the embedded (development)
space. Uniqueness of the universally administered addresses is non-
existent on the (H/W) bench and questionable under the (S/W) desk.
In short: this change is aimed at production environments...
Diffstat (limited to 'sys/kern/kern_uuid.c')
-rw-r--r-- | sys/kern/kern_uuid.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_uuid.c b/sys/kern/kern_uuid.c index a739428..fd4027b 100644 --- a/sys/kern/kern_uuid.c +++ b/sys/kern/kern_uuid.c @@ -203,10 +203,10 @@ uuid_ether_add(const uint8_t *addr) int i, sum; /* - * Validate input. No multicast addresses and no addresses that - * are all zeroes. + * Validate input. No multicast (flag 0x1), no locally administered + * (flag 0x2) and no 'all-zeroes' addresses. */ - if (addr[0] & 0x01) + if (addr[0] & 0x03) return (EINVAL); sum = 0; for (i = 0; i < UUID_NODE_LEN; i++) |