ethdev: force RSS offload rules again
authorFerruh Yigit <ferruh.yigit@intel.com>
Thu, 31 May 2018 13:22:45 +0000 (14:22 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 14 Jun 2018 17:27:50 +0000 (19:27 +0200)
PMDs should provide supported RSS hash functions via
dev_info.flow_type_rss_offloads variable.

There is a check in ethdev if requested RSS hash function is supported
by PMD or not.
This check has been relaxed in previous release to not return an error
when a non supported has function requested [1], this has been done to
not break the applications.

Adding the error return back.
PMDs need to provide correct list of supported hash functions and
applications need to take care this information before configuring
the RSS otherwise they will get an error from APIs:
rte_eth_dev_rss_hash_update()
rte_eth_dev_configure()

[1] commit af7551e2bfce ("ethdev: remove error return on RSS hash check")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_ethdev/rte_ethdev.c

index 66e3116..a9977df 100644 (file)
@@ -1194,6 +1194,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
                                    port_id,
                                    dev_conf->rx_adv_conf.rss_conf.rss_hf,
                                    dev_info.flow_type_rss_offloads);
+               return -EINVAL;
        }
 
        /*
@@ -2928,6 +2929,7 @@ rte_eth_dev_rss_hash_update(uint16_t port_id,
                                    port_id,
                                    rss_conf->rss_hf,
                                    dev_info.flow_type_rss_offloads);
+               return -EINVAL;
        }
        RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rss_hash_update, -ENOTSUP);
        return eth_err(port_id, (*dev->dev_ops->rss_hash_update)(dev,