Thread (17 messages) 17 messages, 2 authors, 2016-02-25

Re: [PATCH net-next 01/10] bnxt_en: Improve bnxt_vf_update_mac().

From: Michael Chan <michael.chan@broadcom.com>
Date: 2016-02-25 17:15:40

On Thu, Feb 25, 2016 at 9:09 AM, David Miller [off-list ref] wrote:
From: Michael Chan <michael.chan@broadcom.com>
Date: Thu, 25 Feb 2016 08:57:01 -0800
quoted
We are not registering an invalid MAC address.  We are just storing it in the
driver's VF data structure.  There are 2 cases:

1. VF comes up and the MAC address from firmware is 0.  The VF will
generate random MAC.  The stored MAC address in the VF datastructure is
0 so that ip set link eth0 address is allowed on the VF.
Who looks at this 0 MAC address in the "VF datastructure", the driver?
the VF driver.
Why does there need to be a 0 MAC address there to allow
->ndo_set_mac_address() to succeed on the VF at all?
0 means that the PF has not set it.  If the PF had set it, the datastructure
would contain the MAC address set by the PF.  The idea is that if the
PF has administered a MAC address, we won't allow the VF to change
it using ndo.
This MAC address management between VFs and PFs looks unnecessarily
convoluted and complicated.  I'd hate to have to actually be a user
configuring this stuff.
I agree it is complicated.  The default, if nobody does anything, is random
MAC.  But random MAC has disadvantages, so we allow some options
for the PF or VF users to change it.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help