Thread (5 messages) 5 messages, 2 authors, 2017-03-05

Re: [PATCH] net/i40e: no more initial VF MAC address

From: Zhang, Qi Z <hidden>
Date: 2017-02-22 04:52:08

Hi Ferruh:
	Sorry to reply this late, I think I missed your email.
-----Original Message-----
From: Yigit, Ferruh
Sent: Saturday, January 21, 2017 1:39 AM
To: Zhang, Qi Z <redacted>; Wu, Jingjing <redacted>;
Zhang, Helin [off-list ref]
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH] net/i40e: no more initial VF MAC address

On 1/18/2017 1:45 AM, Qi Zhang wrote:
quoted
During PF initialization, PF will generate an initial mac address for
VFs, the purpose is to help VF keep a constant mac address between
startup/shutdown cycles.
I believe below does not provide permanent MAC address, PF assign a random
mac address to its VFs on each PF initialization.
Yes, this is for VF's startup /shutdown cycles only, but that's the original concern from customer.
quoted
Now this is not
necessary, since we already provide an API to set VF mac address from
PF side (rte_pmd_i40e_set_vf_addr).
rte_pmd_i40e_set_vf_mac_addr?
Exactly!
quoted
Application
can use this API to lock down VF's mac address.
As far as I can see how it was (before this patch):

1- During PF init, assign random MAC to VFs.
2- Application can overwrite VF MAC address with above API.
3- During VF init, if there is a valid MAC assigned by PF use it.
4- During VF init, if PF not assigned MAC, assign a random one.

So this patch removes above step 1.
Yes, we remove step 1 intentionally to align with kernel PF driver's behavior, 
because for kernel VF, during initialization, once it found PF already assigned a valid MAC, it cannot be changed from VF anymore
but if it is not a valid address, VF is given the permission to change it.
Overall even if application will explicitly assign a MAC to VF or not, VF will have
a valid MAC address. So patch looks good, just please reword commit log to
describe above.

Sure, I will update the commit log
quoted
This change also sync DPDK PF's behavior with kernel driver.

Signed-off-by: Qi Zhang <redacted>
---
 drivers/net/i40e/i40e_pf.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index ddfc140..4e05dca 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1053,7 +1053,6 @@ i40e_pf_host_init(struct rte_eth_dev *dev)
 		ret = i40e_pf_host_vf_reset(&pf->vfs[i], 0);
 		if (ret != I40E_SUCCESS)
 			goto fail;
-		eth_random_addr(pf->vfs[i].mac_addr.addr_bytes);
 	}

 	/* restore irq0 */
Regards
Qi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help