Bill Fischofer(Bill-Fischofer-Linaro) 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: 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_r142575835 updated_at 2017-10-04 03:46:57