[dpdk-stable] [PATCH] net/failsafe: report valid RSS RETA size

Gaëtan Rivet grive at u256.net
Wed May 27 23:35:25 CEST 2020


On 27/05/20 18:30 +0300, Andrew Rybchenko wrote:
> On 5/27/20 6:07 PM, Gaëtan Rivet wrote:
> > On 27/05/20 15:34 +0100, Andrew Rybchenko wrote:
> >> From: Ian Dolzhansky <ian.dolzhansky at oktetlabs.ru>
> >>
> >> Failsafe driver has been indicating zero for RSS redirection table size
> >> after device info reporting had been reworked. Report proper value.
> >>
> >> Fixes: 4586be3743d4 ("net/failsafe: fix reported device info")
> >> Cc: Stephen Hemminger <sthemmin at microsoft.com>
> >> Cc: stable at dpdk.org
> >>
> >> Signed-off-by: Ian Dolzhansky <ian.dolzhansky at oktetlabs.ru>
> >> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
> >> ---
> >>  drivers/net/failsafe/failsafe_ops.c | 8 ++++++++
> >>  1 file changed, 8 insertions(+)
> >>
> >> diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c
> >> index e046cfe6aa..45da9378c3 100644
> >> --- a/drivers/net/failsafe/failsafe_ops.c
> >> +++ b/drivers/net/failsafe/failsafe_ops.c
> >> @@ -1068,6 +1068,13 @@ fs_dev_merge_info(struct rte_eth_dev_info *info,
> >>  	info->rx_queue_offload_capa &= sinfo->rx_queue_offload_capa;
> >>  	info->tx_queue_offload_capa &= sinfo->tx_queue_offload_capa;
> >>  	info->flow_type_rss_offloads &= sinfo->flow_type_rss_offloads;
> >> +
> >> +	/*
> >> +	 * RETA size is a GCD of RETA sizes indicated by sub-devices.
> >> +	 * Each of these sizes is a power of 2, so use the lower one.
> >> +	 */
> >> +	info->reta_size = RTE_MIN(info->reta_size, sinfo->reta_size);
> >> +
> >>  	info->hash_key_size = RTE_MIN(info->hash_key_size,
> >>  				      sinfo->hash_key_size);
> >>  
> >> @@ -1128,6 +1135,7 @@ fs_dev_infos_get(struct rte_eth_dev *dev,
> >>  	infos->max_hash_mac_addrs = UINT32_MAX;
> >>  	infos->max_vfs = UINT16_MAX;
> >>  	infos->max_vmdq_pools = UINT16_MAX;
> >> +	infos->reta_size = UINT16_MAX;
> >>  	infos->hash_key_size = UINT8_MAX;
> >>  
> >>  	/*
> >> -- 
> >> 2.17.1
> >>
> > 
> > Hello Andrew, Ian,
> > 
> > The reta_size info is linked to being able to update the RSS RETA.
> > 
> > I don't think it is a bug for the moment to report 0, as long as
> > failsafe does not support RETA update. Now, the reta_update ops could be
> > quickly implemented in failsafe, but that should be a new feature.
> > 
> > Did you hit an issue with it?
> 
> Hello Gaetan,
> 
> in our case reta_size is required for RSS testing even if there
> is no reta update and query API to estimate where a packet
> should be delivered. It assumes that default reta spreads over
> all Rx queue evenly. I.e. we need reta size and number of Rx
> queues to built default reta.
> 
> May be it is really very testing specific, but IMO logical
> anyway.
> 
> Andrew.

Alright, given the size of the change there is no reason not to add it
if it can improve consistency.

I think the patch is fine otherwise, I'm just not sure it should be
marked as a bug fix, but backporting won't be hard.

Thanks,

Acked-by: Gaetan Rivet <grive at u256.net>

-- 
Gaëtan


More information about the stable mailing list