[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <41cbd649-6896-9284-694d-316c10ca17ea@marvell.com>
Date: Fri, 8 May 2020 16:22:40 +0300
From: Igor Russkikh <irusskikh@...vell.com>
To: Andrew Lunn <andrew@...n.ch>
CC: Jakub Kicinski <kuba@...nel.org>, <netdev@...r.kernel.org>,
"David S . Miller" <davem@...emloft.net>,
Mark Starovoytov <mstarovoitov@...vell.com>
Subject: Re: [EXT] Re: [PATCH net-next 7/7] net: atlantic: unify
get_mac_permanent
>>> Right, but why do you have your own mac generation rather than using
>>> eth_hw_addr_random(). You need to set NET_ADDR_RANDOM for example,
>>> just use standard helpers, please.
>>
>> We want this still be an Aquantia vendor id MAC, not a fully random mac.
>> Thats why the logic below randomizes only low three octets.
>
> Hi Igor
>
> How safe is that? It reduces the available pool space by 22
> bits. It greatly increases the likelihood of a collision.
>>>> + get_random_bytes(&rnd, sizeof(unsigned int));
>>>> + l = 0xE300 0000U | (0xFFFFU & rnd) | (0x00 << 16);
>>>> + h = 0x8001300EU;
>
> Is this Marvell/Aquantias OUI? Are you setting the locally
> administered bit? You probably should be, since this is local, not
> issued with a guarantee of being unique.
Yes, thats Aquantia's ID: 300EE3
Honestly, the subject of the discussion are only adapters with zeroed, not
burned MACs. In production there could not exist such adapters. We do have
this code mainly to cover engineering samples some of which comes unflashed.
So overall, I feel its abit overkill to care about collisions.
But we still like to see our engineering samples to have our OUI for ease of
scripting and maintenance.
Regards,
Igor
Powered by blists - more mailing lists