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
RTE_RETA_GROUP_SIZE i.e. 64.

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
6WIND

Reply via email to