Hi Pablo, The Chained mbufs feature in doc/guides/compressdevs/features/default.ini needs updating with this change. Also while you're updating it I think we wanted to rename By-Pass? To Pass-thru?
Fiona > -----Original Message----- > From: De Lara Guarch, Pablo > Sent: Wednesday, June 27, 2018 1:16 PM > To: Trahe, Fiona <fiona.tr...@intel.com>; ashish.gu...@caviumnetworks.com; > Daly, Lee > <lee.d...@intel.com> > Cc: dev@dpdk.org; De Lara Guarch, Pablo <pablo.de.lara.gua...@intel.com> > Subject: [PATCH v2 1/2] compressdev: replace mbuf scatter gather flag > > The current mbuf scatter gather feature flag is > too ambiguous, as it is not clear if input and/or output > buffers can be scatter gather mbufs or not. > > Therefore, three new flags will replace this flag: > - RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT > - RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT > - RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT > > Note that out-of-place flat buffers is supported by default > and in-place is not supported by the library. > > Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com> > --- > > Changes in v2: > - Fixed typos > - Rephrased comments > > doc/guides/rel_notes/release_18_08.rst | 6 ++++++ > lib/librte_compressdev/rte_comp.c | 8 ++++++-- > lib/librte_compressdev/rte_comp.h | 30 ++++++++++++++++++++---------- > 3 files changed, 32 insertions(+), 12 deletions(-) > > diff --git a/doc/guides/rel_notes/release_18_08.rst > b/doc/guides/rel_notes/release_18_08.rst > index bc0124295..18c8b4bd1 100644 > --- a/doc/guides/rel_notes/release_18_08.rst > +++ b/doc/guides/rel_notes/release_18_08.rst > @@ -60,6 +60,12 @@ API Changes > Also, make sure to start the actual text at the margin. > ========================================================= > > +* compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is > + replaced with the following more explicit flags: > + - ``RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT`` > + - ``RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT`` > + - ``RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT`` > + > > ABI Changes > ----------- > diff --git a/lib/librte_compressdev/rte_comp.c > b/lib/librte_compressdev/rte_comp.c > index d596ba872..ea7692ae7 100644 > --- a/lib/librte_compressdev/rte_comp.c > +++ b/lib/librte_compressdev/rte_comp.c > @@ -14,8 +14,12 @@ rte_comp_get_feature_name(uint64_t flag) > return "STATEFUL_COMPRESSION"; > case RTE_COMP_FF_STATEFUL_DECOMPRESSION: > return "STATEFUL_DECOMPRESSION"; > - case RTE_COMP_FF_MBUF_SCATTER_GATHER: > - return "MBUF_SCATTER_GATHER"; > + case RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT: > + return "OUT_OF_PLACE_SGL_IN_SGL_OUT"; > + case RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT: > + return "OUT_OF_PLACE_SGL_IN_FB_OUT"; > + case RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT: > + return "OUT_OF_PLACE_FB_IN_SGL_OUT"; > case RTE_COMP_FF_MULTI_PKT_CHECKSUM: > return "MULTI_PKT_CHECKSUM"; > case RTE_COMP_FF_ADLER32_CHECKSUM: > diff --git a/lib/librte_compressdev/rte_comp.h > b/lib/librte_compressdev/rte_comp.h > index 5b513c77e..f3742dafb 100644 > --- a/lib/librte_compressdev/rte_comp.h > +++ b/lib/librte_compressdev/rte_comp.h > @@ -30,23 +30,33 @@ extern "C" { > /**< Stateful compression is supported */ > #define RTE_COMP_FF_STATEFUL_DECOMPRESSION (1ULL << 1) > /**< Stateful decompression is supported */ > -#define RTE_COMP_FF_MBUF_SCATTER_GATHER (1ULL << 2) > -/**< Scatter-gather mbufs are supported */ > -#define RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 3) > +#define RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_SGL_OUT (1ULL << 2) > +/**< Out-of-place Scatter-gather (SGL) mbufs are > + * supported in input and output > + */ > +#define RTE_COMP_FF_OUT_OF_PLACE_SGL_IN_FB_OUT (1ULL << 3) > +/**< Out-of-place Scatter-gather (SGL) mbufs are supported > + * in input, combined with flat buffers (FB) in output > + */ > +#define RTE_COMP_FF_OUT_OF_PLACE_FB_IN_SGL_OUT (1ULL << 4) > +/**< Out-of-place Scatter-gather (SGL) mbufs are supported > + * in output, combined with flat buffers (FB) in input > + */ > +#define RTE_COMP_FF_ADLER32_CHECKSUM (1ULL << 5) > /**< Adler-32 Checksum is supported */ > -#define RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 4) > +#define RTE_COMP_FF_CRC32_CHECKSUM (1ULL << 6) > /**< CRC32 Checksum is supported */ > -#define RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 5) > +#define RTE_COMP_FF_CRC32_ADLER32_CHECKSUM (1ULL << 7) > /**< Adler-32/CRC32 Checksum is supported */ > -#define RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 6) > +#define RTE_COMP_FF_MULTI_PKT_CHECKSUM (1ULL << 8) > /**< Generation of checksum across multiple stateless packets is supported */ > -#define RTE_COMP_FF_SHA1_HASH (1ULL << 7) > +#define RTE_COMP_FF_SHA1_HASH (1ULL << 9) > /**< SHA1 Hash is supported */ > -#define RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 8) > +#define RTE_COMP_FF_SHA2_SHA256_HASH (1ULL << 10) > /**< SHA256 Hash of SHA2 family is supported */ > -#define RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 9) > +#define RTE_COMP_FF_NONCOMPRESSED_BLOCKS (1ULL << 11) > /**< Creation of non-compressed blocks using RTE_COMP_LEVEL_NONE is > supported */ > -#define RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 10) > +#define RTE_COMP_FF_SHAREABLE_PRIV_XFORM (1ULL << 12) > /**< Private xforms created by the PMD can be shared > * across multiple stateless operations. If not set, then app needs > * to create as many priv_xforms as it expects to have stateless > -- > 2.14.4