Intel iavf: Return in the case of ADD/DEL ETH address
Checks
Commit Message
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
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.
> -----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
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
@@ -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.