summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_uuid.c
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2013-07-24 18:13:43 +0000
committermarcel <marcel@FreeBSD.org>2013-07-24 18:13:43 +0000
commit13d997511f0f5b090e9ce6689f7b17489cffbf8a (patch)
tree44464173466a2395b829f312156094dfb041bb22 /sys/kern/kern_uuid.c
parent25bd9fd1d513c6c9301ea825a2a8a8570567c74c (diff)
downloadFreeBSD-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.c6
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++)
OpenPOWER on IntegriCloud