net/iavf: fix adding multicast MAC address
[dpdk.git] / drivers / net / iavf / iavf_vchnl.c
index e369430..a2295f8 100644 (file)
@@ -842,10 +842,19 @@ iavf_config_promisc(struct iavf_adapter *adapter,
 
        err = iavf_execute_vf_cmd(adapter, &args);
 
-       if (err)
+       if (err) {
                PMD_DRV_LOG(ERR,
                            "fail to execute command CONFIG_PROMISCUOUS_MODE");
-       return err;
+
+               if (err == IAVF_NOT_SUPPORTED)
+                       return -ENOTSUP;
+
+               return -EAGAIN;
+       }
+
+       vf->promisc_unicast_enabled = enable_unicast;
+       vf->promisc_multicast_enabled = enable_multicast;
+       return 0;
 }
 
 int
@@ -1098,9 +1107,6 @@ iavf_add_del_mc_addr_list(struct iavf_adapter *adapter,
        if (mc_addrs == NULL || mc_addrs_num == 0)
                return 0;
 
-       if (mc_addrs_num > IAVF_NUM_MACADDR_MAX)
-               return -EINVAL;
-
        list = (struct virtchnl_ether_addr_list *)cmd_buffer;
        list->vsi_id = vf->vsi_res->vsi_id;
        list->num_elements = mc_addrs_num;