From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 74BFAA0562; Wed, 1 Apr 2020 05:46:04 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E37231BE96; Wed, 1 Apr 2020 05:46:03 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 26BFB1BE91 for ; Wed, 1 Apr 2020 05:46:01 +0200 (CEST) IronPort-SDR: PccYb7VLUsvA2tKHkj/EH0N2o8gURMUDdXIeItXW7m6LdFaqquxDDbiFXEoERnKIdjcYStcVS0 QQkgNyRdGOkg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2020 20:46:01 -0700 IronPort-SDR: 5M5JFMPXRs97vXiXn2R66jG9miUw2Jqqnr9XQkNd5DR2ASFTCmLcz8RXfy/v7RNYbs6uKD7Wxe mAUB9pXt4+ZA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,330,1580803200"; d="scan'208";a="249278165" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.17]) by orsmga003.jf.intel.com with ESMTP; 31 Mar 2020 20:45:59 -0700 Date: Wed, 1 Apr 2020 11:42:33 +0800 From: Ye Xiaolong To: Guinan Sun Cc: dev@dpdk.org, Qi Zhang Message-ID: <20200401034233.GM29805@intel.com> References: <20200324043646.3224-1-guinanx.sun@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200324043646.3224-1-guinanx.sun@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH] net/i40e: enable VF to program MAC address X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 03/24, Guinan Sun wrote: >Due to the restriction of the flag I40E_FLAG_VF_MAC_BY_PF, >VF cannot program the MAC address. >In order to solve this inflexibility, the use of I40E_FLAG_VF_MAC_BY_PF >has been deleted in the code implementation to ensure that >VF can flexibly program the MAC address. > >Signed-off-by: Guinan Sun >--- > drivers/net/i40e/i40e_ethdev.h | 4 +--- > drivers/net/i40e/i40e_ethdev_vf.c | 8 +------- > 2 files changed, 2 insertions(+), 10 deletions(-) > >diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h >index aac89de91..8cabdba6a 100644 >--- a/drivers/net/i40e/i40e_ethdev.h >+++ b/drivers/net/i40e/i40e_ethdev.h >@@ -124,7 +124,6 @@ enum i40e_flxpld_layer_idx { > #define I40E_FLAG_FDIR (1ULL << 6) > #define I40E_FLAG_VXLAN (1ULL << 7) > #define I40E_FLAG_RSS_AQ_CAPABLE (1ULL << 8) >-#define I40E_FLAG_VF_MAC_BY_PF (1ULL << 9) > #define I40E_FLAG_ALL (I40E_FLAG_RSS | \ > I40E_FLAG_DCB | \ > I40E_FLAG_VMDQ | \ >@@ -133,8 +132,7 @@ enum i40e_flxpld_layer_idx { > I40E_FLAG_HEADER_SPLIT_ENABLED | \ > I40E_FLAG_FDIR | \ > I40E_FLAG_VXLAN | \ >- I40E_FLAG_RSS_AQ_CAPABLE | \ >- I40E_FLAG_VF_MAC_BY_PF) >+ I40E_FLAG_RSS_AQ_CAPABLE) > > #define I40E_RSS_OFFLOAD_ALL ( \ > ETH_RSS_FRAG_IPV4 | \ >diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c >index 244397e0e..bb5d28a44 100644 >--- a/drivers/net/i40e/i40e_ethdev_vf.c >+++ b/drivers/net/i40e/i40e_ethdev_vf.c >@@ -1309,10 +1309,8 @@ i40evf_init_vf(struct rte_eth_dev *dev) > vf->vsi.adapter = I40E_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); > > /* Store the MAC address configured by host, or generate random one */ >- if (rte_is_valid_assigned_ether_addr( >+ if (!rte_is_valid_assigned_ether_addr( > (struct rte_ether_addr *)hw->mac.addr)) >- vf->flags |= I40E_FLAG_VF_MAC_BY_PF; >- else > rte_eth_random_addr(hw->mac.addr); /* Generate a random one */ > > I40E_WRITE_REG(hw, I40E_VFINT_DYN_CTL01, >@@ -2780,7 +2778,6 @@ static int > i40evf_set_default_mac_addr(struct rte_eth_dev *dev, > struct rte_ether_addr *mac_addr) > { >- struct i40e_vf *vf = I40EVF_DEV_PRIVATE_TO_VF(dev->data->dev_private); > struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); > > if (!rte_is_valid_assigned_ether_addr(mac_addr)) { >@@ -2788,9 +2785,6 @@ i40evf_set_default_mac_addr(struct rte_eth_dev *dev, > return -EINVAL; > } > >- if (vf->flags & I40E_FLAG_VF_MAC_BY_PF) >- return -EPERM; >- > i40evf_del_mac_addr_by_addr(dev, (struct rte_ether_addr *)hw->mac.addr); > > if (i40evf_add_mac_addr(dev, mac_addr, 0, 0) != 0) >-- >2.17.1 > Acked-by: Xiaolong Ye Applied to dpdk-next-net-intel, Thanks.