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
