OK, v3 posted to reflect these changes. Thanks. On Thu, Mar 26, 2015 at 9:42 AM, Savolainen, Petri (Nokia - FI/Espoo) < [email protected]> wrote:
> > > > -----Original Message----- > > From: [email protected] [mailto:lng-odp- > > [email protected]] On Behalf Of ext Bill Fischofer > > Sent: Wednesday, March 25, 2015 8:04 PM > > To: [email protected] > > Subject: [lng-odp] [RFC API-NEXT PATCHv2] api: pool/packet: proposed user > > metadata APIs > > > > Signed-off-by: Bill Fischofer <[email protected]> > > --- > > > > v2 changes: > > - Moved udata_size to odp_pool_param_t > > - Renamed odp_packet_udata() to odp_packet_user_metadata() > > - Removed odp_buffer_udata(). User metadata is for packets only > > > > RFC for proposed minimal API set for user metadata support > > based on today's discussions. Note that all initialization > > and management of user metadata contents is the responsibility of > > the ODP application. ODP APIs that copy system metadata will also > > copy any associated user metadata as part of that operation, but > > ODP will otherwise ignore these bytes. > > > > include/odp/api/packet.h | 12 ++++++++++++ > > include/odp/api/pool.h | 4 +++- > > 2 files changed, 15 insertions(+), 1 deletion(-) > > > > diff --git a/include/odp/api/packet.h b/include/odp/api/packet.h > > index a31c54d..28182cc 100644 > > --- a/include/odp/api/packet.h > > +++ b/include/odp/api/packet.h > > @@ -467,6 +467,18 @@ uint64_t odp_packet_user_u64(odp_packet_t pkt); > > void odp_packet_user_u64_set(odp_packet_t pkt, uint64_t ctx); > > > > /** > > + * Get address and size of user metadata associated with a packet > > + * > > + * @param pkt Packet handle > > + * @param udata_size[out] Number of bytes of user metadata available > > + * at the returned address. If supplied address > > + * is NULL on input, no size is returned. > > + * @return Address of the usermeta data for this packet > > + * or NULL if the packet has no user metadata. > > + */ > > +void *odp_packet_user_metadata(odp_packet_t pkt, uint32_t *udata_size); > > > We don't have to highlight "metadata". It can be just "user data". > > We have already, > odp_packet_user_ptr() > odp_packet_user_u64() > > ,odp_packet_user_data() fits better that convention. Two separate > functions for the address and size fits better the rest of the packet API. > Also application needs rarely to check the user data size since it's > constant (set in pool creation). So, I'd suggest to split into two > functions, > > void *odp_packet_user_data(odp_packet_t pkt); > uint32_t odp_packet_user_data_size(odp_packet_t pkt); > > > > + > > +/** > > * Layer 2 start pointer > > * > > * Returns pointer to the start of the layer 2 header. Optionally, > > outputs > > diff --git a/include/odp/api/pool.h b/include/odp/api/pool.h > > index 241b98a..47a50fe 100644 > > --- a/include/odp/api/pool.h > > +++ b/include/odp/api/pool.h > > @@ -82,7 +82,9 @@ typedef struct odp_pool_param_t { > > } tmo; > > }; > > > > - int type; /**< Pool type */ > > + int type; /**< Pool type */ > > + int udata_size; /**< User metadata size in bytes. Applicable > only > > + for type ODP_POOL_PACKET, ignored otherwise */ > > All packet pool parameters go under "struct pkt". > > -Petri > > > > } odp_pool_param_t; > > > > /** Packet pool*/ > > -- > > 2.1.0 > > > > _______________________________________________ > > lng-odp mailing list > > [email protected] > > http://lists.linaro.org/mailman/listinfo/lng-odp >
_______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
