[dpdk-dev] [PATCH] kni: check code of allmulticast mode switch

Thomas Monjalon thomas at monjalon.net
Thu Jun 24 09:45:54 CEST 2021


Waiting for review

23/04/2021 10:12, Min Hu (Connor):
> From: Chengwen Feng <fengchengwen at huawei.com>
> 
> Some drivers may return errcode when switch allmulticast mode, so it's
> necessary to check the return code.
> 
> Fixes: b34801d1aa2e ("kni: support allmulticast mode set")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> ---
>  lib/kni/rte_kni.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/kni/rte_kni.c b/lib/kni/rte_kni.c
> index 9dae6a8..aa9b5b7 100644
> --- a/lib/kni/rte_kni.c
> +++ b/lib/kni/rte_kni.c
> @@ -514,6 +514,8 @@ kni_config_promiscusity(uint16_t port_id, uint8_t to_on)
>  static int
>  kni_config_allmulticast(uint16_t port_id, uint8_t to_on)
>  {
> +	int ret;
> +
>  	if (!rte_eth_dev_is_valid_port(port_id)) {
>  		RTE_LOG(ERR, KNI, "Invalid port id %d\n", port_id);
>  		return -EINVAL;
> @@ -523,11 +525,16 @@ kni_config_allmulticast(uint16_t port_id, uint8_t to_on)
>  		port_id, to_on);
>  
>  	if (to_on)
> -		rte_eth_allmulticast_enable(port_id);
> +		ret = rte_eth_allmulticast_enable(port_id);
>  	else
> -		rte_eth_allmulticast_disable(port_id);
> +		ret = rte_eth_allmulticast_disable(port_id);
> +	if (ret != 0)
> +		RTE_LOG(ERR, KNI,
> +			"Failed to %s allmulticast mode for port %u: %s\n",
> +			to_on ? "enable" : "disable", port_id,
> +			rte_strerror(-ret));
>  
> -	return 0;
> +	return ret;
>  }







More information about the dev mailing list