[dpdk-dev] [PATCH v2] hash table: add an iterator over conflicting entries

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Mon Aug 27 05:12:26 CEST 2018



-----Original Message-----
From: Michel Machado <michel at digirati.com.br> 
Sent: Friday, August 24, 2018 7:34 AM
To: Wang, Yipeng1 <yipeng1.wang at intel.com>; Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>; Fu, Qiaobin <qiaobinf at bu.edu>
Cc: dev at dpdk.org; Doucette, Cody, Joseph <doucette at bu.edu>; Wiles, Keith <keith.wiles at intel.com>; Gobriel, Sameh <sameh.gobriel at intel.com>; Tai, Charlie <charlie.tai at intel.com>; Stephen Hemminger <stephen at networkplumber.org>; nd <nd at arm.com>; Richardson, Bruce <bruce.richardson at intel.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] hash table: add an iterator over conflicting entries


On 08/23/2018 08:33 PM, Wang, Yipeng1 wrote:
> I think with Honnappa suggested "uint32_t* next", we may need a little 
> bit tricks to make it work with the extra linked list.
> The performance may not be optimal though comparing to your original approach.
> Is this important to your use case?

    It is. We are developing a DDoS protection system, and have chosen DPDK because it was the fastest framework in the evaluations we considered. We need to find the conflicting entries when a critical flow table of our system is overloaded due to an ongoing attack, so the more efficient we can evaluate the merits of an incoming flow against the conflicting flows already in the table, the higher the chances we find the flows that should be in the flow table.

    We've compromised with Honnappa under the understanding that once the underlying algorithm changes, there would be a review of the interface since even rte_hash_iterate() may be affected. I still think that the v2 we proposed is the best approach here because it isolates the interface from the underlying algorithm.

My only concern was to do with keeping the interfaces across APIs consistent. I am fine with changing 'uint32_t *next' as long as we change 'rte_hash_iterate' API as well.

[ ]'s
Michel Machado


More information about the dev mailing list