Intel iavf: Return in the case of ADD/DEL ETH address

Message ID 1673615963-21216-2-git-send-email-vipinp@vmware.com (mailing list archive)
State Rejected, archived
Delegated to: Qi Zhang
Headers
Series Intel iavf: Return in the case of ADD/DEL ETH address |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS

Commit Message

Vipin P R Jan. 13, 2023, 1:19 p.m. UTC
  In case of i40vf, VIRTCHNL_OP_DEL_ETH_ADDR and VIRTCHNL_OP_ADD_ETH_ADDR are unsupported.
i40evf_execute_vf_cmd is invoked with these operations as part of i40evf_set_mc_addr_list()

The cases are not handled in i40evf_execute_vf_cmd() thus hitting the default case.
There is a retry logic of upto 200 times (2000 in iavf) with a delay of 10ms (1ms in iavf).
This results in a needless delay of 2s in the init phase for each VNIC.

The patch aims to rectify that delay.
In fe2a571c70cc397f2ad4e280f8d084148fea5d62, i40e_ethdev_vf.c was deleted. Hence adding this in iavf_vchnl.c.

Cc: stable@dpdk.org

Signed-off-by: Vipin P R <vipinp@vmware.com>
---
 drivers/net/iavf/iavf_vchnl.c | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Stephen Hemminger Jan. 16, 2023, 5:55 p.m. UTC | #1
On Fri, 13 Jan 2023 13:19:23 +0000
Vipin P R <vipinp@vmware.com> wrote:

> In case of i40vf, VIRTCHNL_OP_DEL_ETH_ADDR and VIRTCHNL_OP_ADD_ETH_ADDR are unsupported.
> i40evf_execute_vf_cmd is invoked with these operations as part of i40evf_set_mc_addr_list()
> 
> The cases are not handled in i40evf_execute_vf_cmd() thus hitting the default case.
> There is a retry logic of upto 200 times (2000 in iavf) with a delay of 10ms (1ms in iavf).
> This results in a needless delay of 2s in the init phase for each VNIC.
> 
> The patch aims to rectify that delay.
> In fe2a571c70cc397f2ad4e280f8d084148fea5d62, i40e_ethdev_vf.c was deleted. Hence adding this in iavf_vchnl.c.
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Vipin P R <vipinp@vmware.com>
> ---
>  drivers/net/iavf/iavf_vchnl.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Please run checkpatch, the DPDK style is to indent with tabs not spaces.
  
Qi Zhang Jan. 17, 2023, 1:54 a.m. UTC | #2
> -----Original Message-----
> From: Vipin P R <vipinp@vmware.com>
> Sent: Friday, January 13, 2023 9:19 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Vipin P R <vipinp@vmware.com>; stable@dpdk.org
> Subject: [PATCH] Intel iavf: Return in the case of ADD/DEL ETH address
> 
> In case of i40vf, VIRTCHNL_OP_DEL_ETH_ADDR and
> VIRTCHNL_OP_ADD_ETH_ADDR are unsupported.
> i40evf_execute_vf_cmd is invoked with these operations as part of
> i40evf_set_mc_addr_list()
> 
> The cases are not handled in i40evf_execute_vf_cmd() thus hitting the
> default case.
> There is a retry logic of upto 200 times (2000 in iavf) with a delay of 10ms (1ms
> in iavf).
> This results in a needless delay of 2s in the init phase for each VNIC.
> 

Sorry I didn't get this, why this is related with i40evf? I40evf PMD has been replaced by iavf PMD.
The iavf PMD works with both i40e and ice, does this will break ice's usage?

> The patch aims to rectify that delay.
> In fe2a571c70cc397f2ad4e280f8d084148fea5d62, i40e_ethdev_vf.c was
> deleted. Hence adding this in iavf_vchnl.c.
> 
> Cc: stable@dpdk.org
> 
> Signed-off-by: Vipin P R <vipinp@vmware.com>
> ---
>  drivers/net/iavf/iavf_vchnl.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index
> f92daf9..e2f65f5 100644
> --- a/drivers/net/iavf/iavf_vchnl.c
> +++ b/drivers/net/iavf/iavf_vchnl.c
> @@ -367,6 +367,14 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter,
> struct iavf_cmd_info *args,
>  		}
>  		_clear_cmd(vf);
>  		break;
> +
> +    case VIRTCHNL_OP_ADD_ETH_ADDR:
> +    case VIRTCHNL_OP_DEL_ETH_ADDR:
> +        PMD_DRV_LOG(WARNING, "OP_{ADD/DEL}_ETH_ADDR
> unsupported");
> +        err = 0;
> +        _clear_cmd(vf);
> +        break;
> +
>  	default:
>  		/* For other virtchnl ops in running time,
>  		 * wait for the cmd done flag.
> --
> 2.7.4
  
Qi Zhang Feb. 13, 2023, 1:31 a.m. UTC | #3
Please always apply text format in mailing list.

Sorry I have to reject this patch, as a device agnostic driver, iavf can't just simply assume kernel PF driver don't support VIRTCHNL_OP_DEL_ETH_ADDR and VIRTCHNL_OP_ADD_ETH_ADDR.
A better solution is to introduce some VF/PF negotiation during init or learning from runtime.(if get an unsupported error from PF after the first call)



From: Vipin P R <vipinp@vmware.com> 
Sent: Tuesday, February 7, 2023 6:43 PM
To: Zhang, Qi Z <qi.z.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
Cc: dev@dpdk.org; stable@dpdk.org
Subject: Re: [PATCH] Intel iavf: Return in the case of ADD/DEL ETH address
  

Patch

diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index f92daf9..e2f65f5 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -367,6 +367,14 @@  iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args,
 		}
 		_clear_cmd(vf);
 		break;
+
+    case VIRTCHNL_OP_ADD_ETH_ADDR:
+    case VIRTCHNL_OP_DEL_ETH_ADDR:
+        PMD_DRV_LOG(WARNING, "OP_{ADD/DEL}_ETH_ADDR unsupported");
+        err = 0;
+        _clear_cmd(vf);
+        break;
+
 	default:
 		/* For other virtchnl ops in running time,
 		 * wait for the cmd done flag.