From mboxrd@z Thu Jan 1 00:00:00 1970 From: Panu Matilainen Subject: Re: [PATCH v3 1/2] librte_pipeline: add support for packet redirection at action handlers Date: Thu, 3 Mar 2016 11:35:05 +0200 Message-ID: <56D80549.7070200@redhat.com> References: <1456757415-107819-1-git-send-email-jasvinder.singh@intel.com> <1456951307-35264-1-git-send-email-jasvinder.singh@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable To: Jasvinder Singh , dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 364C32B9E for ; Thu, 3 Mar 2016 10:35:08 +0100 (CET) In-Reply-To: <1456951307-35264-1-git-send-email-jasvinder.singh@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 e= ither > 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 maki= ng > use of these new API functions. This feature will be helpful to impleme= nt > functions such as exception handling (e.g. TTL =3D0), load balancing et= c. > > Signed-off-by: Jasvinder Singh > Acked-by: Cristian Dumitrescu > --- > 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: =3D=3D Build app/test-pipeline CC pipeline_stub.o /srv/work/repos/dpdk/app/test-pipeline/pipeline_stub.c: In function=20 =E2=80=98app_main_loop_worker_pipeline_stub=E2=80=99: /srv/work/repos/dpdk/app/test-pipeline/pipeline_stub.c:97:4: error:=20 unknown field =E2=80=98f_action_bulk=E2=80=99 specified in initializer .f_action_bulk =3D NULL, ^ /srv/work/repos/dpdk/mk/internal/rte.compile-pre.mk:126: recipe for=20 target 'pipeline_stub.o' failed Each individual commit needs to be buildable. Since its simply an=20 incompatible API change, I guess there's no other way than updating the=20 test app(s) in the same commit as the library. The other alternative=20 would be temporarily disabling the test app(s) in the previous commit=20 but that doesn't seem any better to me. - Panu -