NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/58702: eqos(4) MAC address fallback is busted
The following reply was made to PR kern/58702; it has been noted by GNATS.
From: "David H. Gutteridge" <david%gutteridge.ca@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: kern/58702: eqos(4) MAC address fallback is busted
Date: Wed, 15 Jul 2026 21:02:44 -0400
The main (functional ordering/invalid logic) issue mentioned here was
addressed by mlelstv@ in dwc_eqos.c, r. 1.46. (But not pulled up to any
branches, yet.)
> Even if it were taken, why do we always set the low 16 bits to be
> 0x00f2, instead of setting the low 2 bits to be 0x2 (local=3D1,
> multicast=3D0)?
I wondered this as well; what I've found so far is that this is
consistent from when the first example entered our tree in 2014 onward.
That would be dwc_gmac.c, r. 1.29, though I may have missed an example.
Apparently no MAC OUI F2:00 assignment exists, so this could be a way
of making the randomization more obviously such.
(This is going by
https://github.com/Ringmast4r/OUI-Master-Database/blob/master/LISTS/kismet_=
manuf.txt
.)
Linux, on the other hand, does it as you describe.
https://github.com/torvalds/linux/blob/71dfdfb0209b43dfd6f494f84f5548e4cfd1=
8cb5/include/linux/etherdevice.h#L237
> Maybe we should have a random_mac_address routine so these magic
> constants don't get duplicated everywhere.
I counted seven drivers with code like this, often similar or the same,
but with some style variances. (When I added it to rtl8169.c, I didn't
realize there was that much duplication already.)
Separately, it may also make sense to add something to log that we're
generating a random MAC, as this may cause unexpected complications for
someone (IPv6 and SLAAC, network monitoring tools, insufficiently
random generation if a MAC is calculated before the entropy pool is
ready).
Dave
Home |
Main Index |
Thread Index |
Old Index