Hi Thomas, Jerin, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Thomas Monjalon > Sent: Friday, June 28, 2019 2:10 PM > To: Jerin Jacob Kollanukkaran <jer...@marvell.com>; Anoob Joseph > <ano...@marvell.com> > Cc: dev@dpdk.org; Mattias Rönnblom <mattias.ronnb...@ericsson.com>; > Nikhil Rao <nikhil....@intel.com>; Erik Gabriel Carrillo > <erik.g.carri...@intel.com>; Abhinandan Gujjar > <abhinandan.guj...@intel.com>; Bruce Richardson > <bruce.richard...@intel.com>; Pablo de Lara > <pablo.de.lara.gua...@intel.com>; Narayana Prasad Raju Athreya > <pathr...@marvell.com>; Lukas Bartosik <lbarto...@marvell.com>; Pavan > Nikhilesh Bhagavatula <pbhagavat...@marvell.com>; Hemant Agrawal > <hemant.agra...@nxp.com>; Nipun Gupta <nipun.gu...@nxp.com>; Harry > van Haaren <harry.van.haa...@intel.com>; Liang Ma > <liang.j...@intel.com>; techbo...@dpdk.org > Subject: [EXT] Re: [dpdk-dev] [PATCH 00/39] adding eventmode helper > library > > External Email > > ---------------------------------------------------------------------- > 28/06/2019 05:37, Jerin Jacob Kollanukkaran: > > From: Anoob Joseph > > > From: Jerin Jacob Kollanukkaran > > > > From: Anoob Joseph > > > > > The helper library will be experimental while we add event-mode > > > > > support for other applications like l3fwd & ipsec-secgw. I > > > > > expect the helper library to be complete over the course of > > > > > those applications also using the helper library. > > You are doing a copy of l2fwd example to add event mode. > It was the decision from the techboard to not complicate the original l2fwd. > But it makes me nervous to see some code duplicated, especially if you plan > to do the same for l3fwd and ipsec-secgw. > We are not going to duplicate every examples. We should re-consider. >
[Anoob] For l3fwd & ipsec-secgw, the plan is to add eventmode in the original application itself. If you have concerns about code duplication in l2fwd-event, the changes can be added to l2fwd itself. Please advise on how to proceed. > > > > I have only concern about moving this as library inside eventdev > > > > that till we have mature version of helper library the eventdev > > > > library ABI will not stable(i.e .so file version needs to be > > > > incremented as when a change needed). Which align with Mattias > > > > thoughts for some other reason:. How about moving this code to > > > > 1) example/common or > > > > 2) to specific application itself, once at least two applications > > > > starts using it then move to Eventdev library. > > > > > > > > Thoughts? > > > > > > [Anoob] Either location is not a problem if there is a consensus. > > > Earlier the suggestion was to move it to library (when the patch was > > > submitted with changes added in app). > > If there is only one user, making it grow in the application looks to be the > best thing to do. > Should we use it in more applications before it is more mature? > If not, we could move the code in eventdev library when we will use it in > more examples. > [Anoob] The proposal with l2fwd-event was to present an easy enough example so that the APIs can be decided before moving onto complex examples. Additions to l3fwd & ipsec-secgw is in the pipeline. > > If there NO objections then lets move to example/common. > > If we really want to have this library standalone in examples, I suggest to > give > it a name and not use a "common" directory. > [Anoob] I would suggest to add the eventmode code in 'examples/utils'. What is being added here can be treated as a utility library. Almost all examples have duplicated code for the entire conf parsing, ethdev init etc. Anyone who would attempt a new application will have to duplicate lot of code. So a similar exercise with regular poll mode is also possible. As for build, we will have the following options, 1. From the examples/<example>/Makefile, build *helper*.o files ( '../utils/eventmode_helper.o') and prepare the binary. So each application will build its own version of *helper*.c +SRCS-y += ../utils/eventmode_helper.c 2. Make 'examples/utils' a separate library. This way, all applications can directly link without having to build separately. Please do suggest on which would be a good way to execute. Thanks, Anoob