[dpdk-dev] [PATCH v17 04/10] drivers/net: update Rx RSS hash offload capabilities

Ferruh Yigit ferruh.yigit at intel.com
Thu Nov 14 13:52:18 CET 2019


On 11/13/2019 6:02 PM, Ferruh Yigit wrote:
> On 11/11/2019 1:19 PM, pbhagavatula at marvell.com wrote:
>> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
>> index 30c0379d4..8c1caac18 100644
>> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
>> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
>> @@ -2402,6 +2402,9 @@ ixgbe_dev_configure(struct rte_eth_dev *dev)
>>  	int ret;
>>  
>>  	PMD_INIT_FUNC_TRACE();
>> +
>> +	dev->data->dev_conf.rxmode.offloads |= DEV_RX_OFFLOAD_RSS_HASH;
>> +
> 
> Hi Pavan, Andrew, Jerin,
> 
> This is causing trouble when device is re-configured with its existing data,
> because of the check in the ethdev [1].
> 
> This is for the case device configuration get, a few thing changed and
> re-configured case, this is what is done in bonding and it is failing now.
> 
> Do you have any suggestion for the solution?
> 
> We can set this offload in PMDs only if 'ETH_MQ_RX_RSS_FLAG' set but same thing
> still can caught us, if the initial configuration was with 'ETH_MQ_RX_RSS_FLAG'
> but reconfigure is not.
> 
> Or we can relax the check in 'rte_eth_dev_configure()' to log but not return error?
> 

No update? I think we should fix this before rc3!

> 
> 
> [1]
> 
>  @@ -1305,6 +1306,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 disabled but RSS hash is enabled. */
>  +	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 invalid Rx mq_mode without RSS  but %s offload is
> requested",
>  +			port_id,
>  +			rte_eth_dev_rx_offload_name(DEV_RX_OFFLOAD_RSS_HASH));
>  +		ret = -EINVAL;
>  +		goto rollback;
>  +	}
> 



More information about the dev mailing list