kni: check error code of allmulticast mode switch
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>
This commit is contained in:
parent
e6cbfd9bf3
commit
b1f4933ef3
@ -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;
|
||||
}
|
||||
|
||||
int
|
||||
|
Loading…
x
Reference in New Issue
Block a user