Dmitry Eremin-Solenikov(lumag) replied on github web page: include/odp/api/spec/pool.h line 11 @@ -172,7 +172,20 @@ int odp_pool_capability(odp_pool_capability_t *capa); typedef struct odp_pool_param_t { /** Pool type */ int type; - + /** Flag to indicate whether user is requesting for contiguous + memory for buffers or packets in pool. + If TRUE, then address range for buffers or packets + must be returned by API as addr_start & addr_len. + If FALSE, then filling these parameters is optional. + */ + odp_bool_t contig_mem;
Comment: Got confused between single-segment packet and linear space for packets, sorry. > Bill Fischofer(Bill-Fischofer-Linaro) wrote: > Yes the existing `seg_len` parameter is set to the minimum size segment that > the application requires. This can be set to be equal to `max_len` to require > single-segment packets. > > However @sachin-saxena mentioned at SFO17 that VPP can deal with > multi-segment packets, though I'm not sure how that works. >> Bill Fischofer(Bill-Fischofer-Linaro) wrote: >> VPP will not run on such platforms without modification. If the goal is to >> not modify VPP then an `odp_pool_capability()` output that says whether >> pools can present a linear interface. During Connect @psavol also mentioned >> that a separate API to get this info would be more appropriate than bending >> the input to `odp_pool_create()` to give output parameters. >> >> My personal preference would be something like: >> >> * `odp_pool_capability()` indicates whether pools can be created that >> provide linear addressing. >> >> * An option on `odp_pool_create()` to request a linear pool. >> >> * A new API (or an extension to the existing `odp_pool_info()` API) to get >> the mapping info that VPP needs. >> >> That would seem to be more consistent with overall ODP structure. >>> Dmitry Eremin-Solenikov(lumag) wrote: >>> What will happen for platforms where `odp_packet_t` is not mapped to the >>> virtual memory? >>>> Dmitry Eremin-Solenikov(lumag) wrote: >>>> Isn't setting `seg_len` enough? Maybe we should provide an updated >>>> definition for `seg_len` (e.g. in case `seg_len > max_len`, always use >>>> single segment). https://github.com/Linaro/odp/pull/200#discussion_r142586714 updated_at 2017-10-04 06:02:01