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

Michel Machado michel at digirati.com.br
Mon Aug 27 20:27:01 CEST 2018


On 08/26/2018 11:12 PM, Honnappa Nagarahalli wrote:
> 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.

    We'll patch rte_hash_iterate() as well in v3.

[ ]'s
Michel Machado


More information about the dev mailing list