On 9/22/2014 6:33 PM, Matthew Hall wrote: > On Tue, Sep 23, 2014 at 01:08:21AM +0000, Saha, Avik (AWS) wrote: >> I was wondering if there is way to use the rte_table_hash_lru without >> building a pipeline - Basically using the same hash table like functionality >> of add, delete and lookup without setting up a pipeline and connect it to >> ports etc. > I've been finding that rte_hash is designed only for some very specialized > purposes. It doesn't work well if you use unexpected sizes of keys or want > behavior that isn't precisely doing what the designers of the hash used it > for... it's not very general-purpose. Yes, it isn't very general purpose as of now (arbitrary key sizes, failure path on add if bucket is full etc.). It was designed to be a tuple matcher, albeit for a much different performance level than what we have driven the DPDK to at present.
That said, the structure of this is something that I expect that we will change to make much more flexible, and have a few ideas I'm exploring along that line. What would be helpful is start adding to that list of limitations from your perspective so that we can address as much of that with one patch set. > > I did try to point out one example of the issue but I didn't get much response > yet to my questions about its limitations and whether a more general-purpose > table was available, or at least some discussion what rte_hash is for and what > it's not for. > > Matthew. I missed the original email you refer to - I'll dig that up as well from the archives. Regards, -Venky