On Wed, Aug 27, 2014 at 01:10:13PM +0100, Savolainen, Petri (NSN - FI/Espoo) 
wrote:
> 
> 
> > -----Original Message-----
> > From: ext Stuart Haslam [mailto:[email protected]]
> > Sent: Wednesday, August 27, 2014 2:58 PM
> > To: Savolainen, Petri (NSN - FI/Espoo)
> > Cc: ext Robbie King (robking); Victor Kamensky; [email protected]
> > Subject: Re: [lng-odp] [PATCHv3 2/4] Add helper include file with IPSec
> > headers
> > 
> > On Wed, Aug 27, 2014 at 08:48:23AM +0100, Savolainen, Petri (NSN -
> > FI/Espoo) wrote:
> > > Hi Victor,
> > >
> > > Some clarification on helpers. Helper files/structures are there so
> > > that examples (and other simple apps) can reuse typical building
> > > blocks of a networking app (e.g. protocol header structs and
> > > constants). A full featured, production quality, application would not
> > > use helper files, but use its own definitions. Helpers are delivered
> > > "as is", those will not include every possible protocol or protocol
> > > option, etc.
> > >
> > > There should not be many functions in helper files, and those in there
> > > are not expected to be HW accelerated (otherwise they should be under
> > > the normative ODP API). E.g. all applications running on Linux have to
> > > do process/thread creation, but Linux processes/threads won't be part
> > > of ODP API. Also e.g. IP protocol stack is not part of ODP: a real
> > > application would use some other project/product ported on top of ODP,
> > > a toy application may use helpers for simple IP stack implementation.
> > >
> > 
> > So helpers are really just part of the ODP test/example code, packaged
> > and delivered as a convenience, but with no guarantee of stability or
> > functionality. We definitely need to make this clearer than it currently
> > is. If they aren't part of the ODP API (which I agree they are not) then
> > they shouldn't be documented in the API reference manual. Perhaps they
> > should go into a separate helper manual, or none at all.
> > 
> > > We could use odp_helper_ prefix (in all helper definitions) to make
> > > the distinction clear. Also we could move everything related to tests
> > > under "test" directory:
> > >
> > > odp/test
> > >      |
> > >      +--api_test
> > >      +--example
> > >      +--helper
> > >
> > 
> > +1 from me, they should also build into a separate library.
> > 
> > Looking at what's in the helpers at the minute, perhaps some of
> > odp_packet_helper.h should be merged into odp_packet.h (why is
> > odp_packet_is_valid() a helper?), and odp_ring.h should at some
> > point move to being an internal header.
> > 
> 
> True, packet helper needs cleaning. About ring I'm not sure, do we
> think that rings can be HW accelerated? We have already HW accelerated
> queues.
> 
> -Petri

I think consensus is that rings can't be accelerated, so rings may be used
internally but the public API should be queues.

-- 
Stuart.


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to