On 4/27/20 3:34 PM, Lijun Ou wrote: > When rte api checks the Rx RSS distribution is enable but the RSS > hash is disabled, it will return an error. > > Signed-off-by: Lijun Ou <ouli...@huawei.com> > --- > lib/librte_ethdev/rte_ethdev.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c > index 0854ef8..07734c4 100644 > --- a/lib/librte_ethdev/rte_ethdev.c > +++ b/lib/librte_ethdev/rte_ethdev.c > @@ -1411,6 +1411,17 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t > nb_rx_q, uint16_t nb_tx_q, > goto rollback; > } > > + /* Check if Rx RSS distribution is enable but RSS hash is disabled. */ > + if (((dev_conf->rxmode.mq_mode & ETH_MQ_RX_RSS_FLAG) != 0) && > + !(dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_RSS_HASH)) { > + RTE_ETHDEV_LOG(ERR, > + "Ethdev port_id=%u config valid Rx mq_mode with RSS but > %s offload is no-requested\n", > + port_id, > + rte_eth_dev_rx_offload_name(DEV_RX_OFFLOAD_RSS_HASH)); > + ret = -EINVAL; > + goto rollback; > + } > + > /* > * Setup new number of RX/TX queues and reconfigure device. > */
NACK. It is perfectly fine to do distribution, but do not need RSS hash information. - ETH_MQ_RX_RSS_FLAG controls RSS hash calculation and distribution - DEV_RX_OFFLOAD_RSS_HASH controls delivery of the hash value itself from HW to SW