net/mlx5: share Rx queue indirection table code
[dpdk.git] / drivers / net / iavf / iavf_ethdev.c
index 28ca3fa..8e1d8a8 100644 (file)
@@ -286,7 +286,7 @@ iavf_init_rxq(struct rte_eth_dev *dev, struct iavf_rx_queue *rxq)
 
        rxq->max_pkt_len = max_pkt_len;
        if ((dev_data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) ||
-           (rxq->max_pkt_len + 2 * IAVF_VLAN_TAG_SIZE) > buf_size) {
+           rxq->max_pkt_len > buf_size) {
                dev_data->scattered_rx = 1;
        }
        IAVF_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
@@ -690,6 +690,8 @@ iavf_dev_promiscuous_enable(struct rte_eth_dev *dev)
        ret = iavf_config_promisc(adapter, true, vf->promisc_multicast_enabled);
        if (!ret)
                vf->promisc_unicast_enabled = true;
+       else if (ret == IAVF_NOT_SUPPORTED)
+               ret = -ENOTSUP;
        else
                ret = -EAGAIN;
 
@@ -711,6 +713,8 @@ iavf_dev_promiscuous_disable(struct rte_eth_dev *dev)
                                  vf->promisc_multicast_enabled);
        if (!ret)
                vf->promisc_unicast_enabled = false;
+       else if (ret == IAVF_NOT_SUPPORTED)
+               ret = -ENOTSUP;
        else
                ret = -EAGAIN;
 
@@ -731,6 +735,8 @@ iavf_dev_allmulticast_enable(struct rte_eth_dev *dev)
        ret = iavf_config_promisc(adapter, vf->promisc_unicast_enabled, true);
        if (!ret)
                vf->promisc_multicast_enabled = true;
+       else if (ret == IAVF_NOT_SUPPORTED)
+               ret = -ENOTSUP;
        else
                ret = -EAGAIN;
 
@@ -751,6 +757,8 @@ iavf_dev_allmulticast_disable(struct rte_eth_dev *dev)
        ret = iavf_config_promisc(adapter, vf->promisc_unicast_enabled, false);
        if (!ret)
                vf->promisc_multicast_enabled = false;
+       else if (ret == IAVF_NOT_SUPPORTED)
+               ret = -ENOTSUP;
        else
                ret = -EAGAIN;
 
@@ -1012,9 +1020,6 @@ iavf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
        old_addr = (struct rte_ether_addr *)hw->mac.addr;
        perm_addr = (struct rte_ether_addr *)hw->mac.perm_addr;
 
-       if (rte_is_same_ether_addr(mac_addr, old_addr))
-               return 0;
-
        /* If the MAC address is configured by host, skip the setting */
        if (rte_is_valid_assigned_ether_addr(perm_addr))
                return -EPERM;