svn commit: r346052 - head/sys/dev/usb/net

John Baldwin jhb at FreeBSD.org
Tue Sep 3 14:07:10 UTC 2019


On 4/9/19 9:17 AM, Ian Lepore wrote:
> On Tue, 2019-04-09 at 09:11 -0700, John Baldwin wrote:
>> On 4/9/19 6:54 AM, Ganbold Tsagaankhuu wrote:
>>> Author: ganbold
>>> Date: Tue Apr  9 13:54:08 2019
>>> New Revision: 346052
>>> URL: https://svnweb.freebsd.org/changeset/base/346052
>>>
>>> Log:
>>>   In some cases like NanoPI R1, its second USB ethernet
>>>   RTL8152 (chip version URE_CHIP_VER_4C10) doesn't
>>>   have hardwired MAC address, in other words, it is all zeros.
>>>   This commit fixes it by setting random MAC address
>>>   when MAC address is all zeros.
>>>   
>>>   Reviewed by:	kevlo
>>>   Differential Revision:	https://reviews.freebsd.org/D19856
>>
>> It would be best to not use a purely random mac address and to use
>> the
>> function kevans@ added recently.  That function generates a MAC
>> address
>> from the FreeBSD OUI using a cryptographic hash so you get a
>> stable address across boots on a given host.
>>
> 
> How could that possibly work?  If it's not random, you can't have two
> such devices on the same network.  If it is random, it's not stable
> from one boot to the next.

It uses the UUID and interface name as input into the hash.  The UUID
is per-host.  In this particular use case, the first USB device will
have a varying MAC address which is an input into the UUID.  Though,
the other option this driver could use for this specific case would be
to just take the first MAC address and +1 to get the second one.

-- 
John Baldwin




More information about the svn-src-all mailing list