[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