[dpdk-dev] Fwd: Sharing tables among pipelines

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Tue May 9 18:28:02 CEST 2017



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Singh, Jasvinder
> Sent: Monday, May 8, 2017 11:37 AM
> To: Nidhia Varghese <nidhiavarghese93 at gmail.com>; dev at dpdk.org;
> users at dpdk.org
> Subject: Re: [dpdk-dev] Fwd: Sharing tables among pipelines
> 
> Hi Nidhia,
> 
> 
> For my pipeline application, I want to share same table between two
> different pipeline. Is that possible? If yes, how can I do it?
> 

This is usually a bad idea due to the implications: locks required for each table record, performance penalty due to cache line ping-pong between cores.

See link below for a quick discussion:
http://www.dpdk.org/doc/guides/prog_guide/packet_framework.html#shared-data-structures

Usually we split the application-level table into several smaller tables that are sections of the big table and each one is handled by a different pipeline instance (of e.g. the flow classification pipeline type), with each instance potentially running on different CPU core; we make sure that packets reach the right pipeline instance through flow affinity schemes like RSS or SW steering.

> [Jasvinder] -  In the current ip pipeline application, we don’t have such
> illustration of sharing a table between two pipelines. Therefore, you need to
> tweak the code to implement it for your application.
> 
> Thanks,
> Jasvinder


More information about the dev mailing list