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@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
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;
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;
}
int