[dpdk-dev] RSS API discussion

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Fri Oct 16 17:28:10 CEST 2015

On Fri, Oct 16, 2015 at 01:40:00PM +0000, Lu, Wenzhuo wrote:
> Hi Nélio,
> > Hi Wenzhuo,
> > 
> > We should discuss about this API for a future release of DPDK because this one
> > lacks in flexibility.  Some other NICs have indirection tables with a
> > different/configurable size, and the current API does not help to manage it.
> > 
> > For ConnectX-4 I have made a lot of hacks to avoid changing the DPDK API,
> > "[dpdk-dev] [PATCH 0/3] Add RETA configuration to MLX5".
> > http://dpdk.org/ml/archives/dev/2015-October/024681.html
> > 
> > From a user point of view, to update the RETA table, the API expects the user to
> > know the size of it to update or query.  With your patchset, Intel have two
> > indirection table sizes now, with Mellanox ConnectX-4, I fixed to the size of 512
> > entries because it is not fixed by default.
> > 
> > How about discussing this in a separate thread?
> Sure, I changed the tittle.
> But I'm afraid I don't catch up with you. I have 2 questions, 1, Why the reta size cannot be predict on  Mellanox ConnectX-4? 2, I don't understand the meaning when you say the reta size is not fixed by default on Mellanox ConnectX-4.
> Would you like to give more details of the Mellanox ConnectX-4's behavior? It'll be helpful to understand this problem.

On Connexct-4 we can configure the indirection table size with any power
of two up to 512 entries.

The current API only expects RETA tables size to be a multiple of

To handle any kind of NICs, a simple array of N (RETA table size)
elements with the data, instead of something in multiple of 64 would be
easier to use, something like:

 struct rte_eth_rss_reta_entry {
 	uint16_t idx; /* index to query/update. */
 	uint16_t reta; /* redirection value. */

We should update the API to take an array of such entries plus its size.
It would also make update and query easier.

Nélio Laranjeiro

More information about the dev mailing list