Hi N?lio, > -----Original Message----- > From: N?lio Laranjeiro [mailto:nelio.laranjeiro at 6wind.com] > Sent: Friday, October 16, 2015 11:28 PM > To: Lu, Wenzhuo > Cc: dev at dpdk.org; Adrien Mazarguil; Olga Shern > Subject: Re: RSS API discussion > > 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. Agree. We should not limit the RETA table size to be multiple of 64 in RTE. Every NIC should check the RETA table size for itself. I think the only reason the API is realized like this is that we only support Intel NICs before. We'd better change this API in the future release for the sake of all kinds of NICs.
> > -- > N?lio Laranjeiro > 6WIND