[dpdk-dev] [PATCH v3 1/2] librte_pipeline: add support for packet redirection at action handlers

Singh, Jasvinder jasvinder.singh at intel.com
Thu Mar 3 10:58:37 CET 2016



> -----Original Message-----
> From: Panu Matilainen [mailto:pmatilai at redhat.com]
> Sent: Thursday, March 3, 2016 9:35 AM
> To: Singh, Jasvinder <jasvinder.singh at intel.com>; dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 1/2] librte_pipeline: add support for
> packet redirection at action handlers
> 
> On 03/02/2016 10:41 PM, Jasvinder Singh wrote:
> > Currently, there is no mechanism that allows the pipeline ports
> > (in/out) and table action handlers to override the default forwarding
> > decision (as previously configured per input port or in the table
> > entry). Therefore, new pipeline API functions have been added which
> > allows action handlers to hijack packets and remove them from the
> > pipeline processing, and then either drop them or send them out of the
> > pipeline on any output port. The port
> > (in/out) and table action handler prototypes have been changed for
> > making use of these new API functions. This feature will be helpful to
> > implement functions such as exception handling (e.g. TTL =0), load
> balancing etc.
> >
> > Signed-off-by: Jasvinder Singh <jasvinder.singh at intel.com>
> > Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
> > ---
> > v3
> > * improved comments in "rte_pipeline.h"
> >
> > v2
> > * rebased on master
> >
> >   doc/guides/rel_notes/deprecation.rst         |   5 -
> >   doc/guides/rel_notes/release_16_04.rst       |   6 +-
> >   lib/librte_pipeline/Makefile                 |   4 +-
> >   lib/librte_pipeline/rte_pipeline.c           | 461 ++++++++++++++-------------
> >   lib/librte_pipeline/rte_pipeline.h           | 174 ++++++----
> >   lib/librte_pipeline/rte_pipeline_version.map |   8 +
> >   6 files changed, 362 insertions(+), 296 deletions(-)
> >
> [...]
> 
> This causes a build failure:
> 
> == Build app/test-pipeline
>    CC pipeline_stub.o
> /srv/work/repos/dpdk/app/test-pipeline/pipeline_stub.c: In function
> ‘app_main_loop_worker_pipeline_stub’:
> /srv/work/repos/dpdk/app/test-pipeline/pipeline_stub.c:97:4: error:
> unknown field ‘f_action_bulk’ specified in initializer
>      .f_action_bulk = NULL,
>      ^
> /srv/work/repos/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for
> target 'pipeline_stub.o' failed
> 
> Each individual commit needs to be buildable. Since its simply an
> incompatible API change, I guess there's no other way than updating the test
> app(s) in the same commit as the library. The other alternative would be
> temporarily disabling the test app(s) in the previous commit but that doesn't
> seem any better to me.
> 
I would prefer first suggestion to merge both commits (library and app) into one (library + app) so that all the build dependency could be resolved.

Thanks, 
Jasvinder


More information about the dev mailing list