These experimental API's in mbuf should be changed to officially supported. Stephen Hemminger (2): mbuf: take experimental of mbuf copy and bulk free mbuf: remove experimental from dynamic field support lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/rte_mbuf_dyn.h | 9 --------- lib/mbuf/version.map | 22 +++++++++++----------- 3 files changed, 11 insertions(+), 22 deletions(-) -- 2.30.2
These two functions were added in 20.11 as experimental. Time to promote the to supported status. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index a555f216aeeb..7722b36ee44b 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1426,7 +1426,6 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m) * @param count * Array size. */ -__rte_experimental void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count); /** @@ -1470,7 +1469,6 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp); * - The pointer to the new "clone" mbuf on success. * - NULL if allocation fails. */ -__rte_experimental struct rte_mbuf * rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp, uint32_t offset, uint32_t length); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 29654330eb04..940b04096520 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -22,7 +22,9 @@ DPDK_22 { rte_mbuf_set_user_mempool_ops; rte_mbuf_user_mempool_ops; rte_pktmbuf_clone; + rte_pktmbuf_copy; rte_pktmbuf_dump; + rte_pktmbuf_free_bulk; rte_pktmbuf_init; rte_pktmbuf_pool_create; rte_pktmbuf_pool_create_by_ops; @@ -44,8 +46,6 @@ EXPERIMENTAL { rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; - rte_pktmbuf_copy; - rte_pktmbuf_free_bulk; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
These functions to register dynamic fields were added in 20.11 and should be promoted to supported. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf_dyn.h | 9 --------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/lib/mbuf/rte_mbuf_dyn.h b/lib/mbuf/rte_mbuf_dyn.h index 13f06d8ed25b..fc12687bef21 100644 --- a/lib/mbuf/rte_mbuf_dyn.h +++ b/lib/mbuf/rte_mbuf_dyn.h @@ -118,7 +118,6 @@ struct rte_mbuf_dynflag { * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); /** @@ -143,7 +142,6 @@ int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, size_t offset); @@ -160,7 +158,6 @@ int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, * Possible values for rte_errno: * - ENOENT: no dynamic field matches this name. */ -__rte_experimental int rte_mbuf_dynfield_lookup(const char *name, struct rte_mbuf_dynfield *params); @@ -183,7 +180,6 @@ int rte_mbuf_dynfield_lookup(const char *name, * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); /** @@ -208,7 +204,6 @@ int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, unsigned int bitnum); @@ -225,7 +220,6 @@ int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, * Possible values for rte_errno: * - ENOENT: no dynamic flag matches this name. */ -__rte_experimental int rte_mbuf_dynflag_lookup(const char *name, struct rte_mbuf_dynflag *params); @@ -240,7 +234,6 @@ int rte_mbuf_dynflag_lookup(const char *name, * @param out * The stream where the status is displayed. */ -__rte_experimental void rte_mbuf_dyn_dump(FILE *out); /* @@ -295,7 +288,6 @@ typedef uint64_t rte_mbuf_timestamp_t; * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); /** @@ -332,7 +324,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag); #ifdef __cplusplus diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 940b04096520..b63e28a8cc4d 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,15 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_dyn_dump; + rte_mbuf_dyn_rx_timestamp_register; + rte_mbuf_dyn_tx_timestamp_register; + rte_mbuf_dynfield_lookup; + rte_mbuf_dynfield_register; + rte_mbuf_dynfield_register_offset; + rte_mbuf_dynflag_lookup; + rte_mbuf_dynflag_register; + rte_mbuf_dynflag_register_bitnum; rte_mbuf_platform_mempool_ops; rte_mbuf_sanity_check; rte_mbuf_set_platform_mempool_ops; @@ -37,15 +46,6 @@ EXPERIMENTAL { global: rte_mbuf_check; - rte_mbuf_dynfield_lookup; - rte_mbuf_dynfield_register; - rte_mbuf_dynfield_register_offset; - rte_mbuf_dynflag_lookup; - rte_mbuf_dynflag_register; - rte_mbuf_dynflag_register_bitnum; - rte_mbuf_dyn_dump; - rte_mbuf_dyn_rx_timestamp_register; - rte_mbuf_dyn_tx_timestamp_register; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
These experimental API's in mbuf should be changed to officially supported. v2 changes: update comment in dynamic field functions fix rte_experimental in rte_mbuf_tx_offload Stephen Hemminger (3): mbuf: take experimental of mbuf copy and bulk free mbuf: remove experimental from dynamic field support mbuf: mark function rte_mbuf_tx_offload with __rte_expermental lib/mbuf/rte_mbuf.h | 5 ++--- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 22 +++++++++++----------- 3 files changed, 13 insertions(+), 29 deletions(-) -- 2.30.2
These two functions were added in 20.11 as experimental. Time to promote the to supported status. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index a555f216aeeb..7722b36ee44b 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1426,7 +1426,6 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m) * @param count * Array size. */ -__rte_experimental void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count); /** @@ -1470,7 +1469,6 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp); * - The pointer to the new "clone" mbuf on success. * - NULL if allocation fails. */ -__rte_experimental struct rte_mbuf * rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp, uint32_t offset, uint32_t length); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 29654330eb04..940b04096520 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -22,7 +22,9 @@ DPDK_22 { rte_mbuf_set_user_mempool_ops; rte_mbuf_user_mempool_ops; rte_pktmbuf_clone; + rte_pktmbuf_copy; rte_pktmbuf_dump; + rte_pktmbuf_free_bulk; rte_pktmbuf_init; rte_pktmbuf_pool_create; rte_pktmbuf_pool_create_by_ops; @@ -44,8 +46,6 @@ EXPERIMENTAL { rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; - rte_pktmbuf_copy; - rte_pktmbuf_free_bulk; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
These functions to register dynamic fields were added in 20.11 and should be promoted to supported. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/lib/mbuf/rte_mbuf_dyn.h b/lib/mbuf/rte_mbuf_dyn.h index 13f06d8ed25b..fb03cf1dcf90 100644 --- a/lib/mbuf/rte_mbuf_dyn.h +++ b/lib/mbuf/rte_mbuf_dyn.h @@ -118,7 +118,6 @@ struct rte_mbuf_dynflag { * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); /** @@ -143,7 +142,6 @@ int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, size_t offset); @@ -160,7 +158,6 @@ int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, * Possible values for rte_errno: * - ENOENT: no dynamic field matches this name. */ -__rte_experimental int rte_mbuf_dynfield_lookup(const char *name, struct rte_mbuf_dynfield *params); @@ -183,7 +180,6 @@ int rte_mbuf_dynfield_lookup(const char *name, * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); /** @@ -208,7 +204,6 @@ int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, unsigned int bitnum); @@ -225,7 +220,6 @@ int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, * Possible values for rte_errno: * - ENOENT: no dynamic flag matches this name. */ -__rte_experimental int rte_mbuf_dynflag_lookup(const char *name, struct rte_mbuf_dynflag *params); @@ -240,7 +234,6 @@ int rte_mbuf_dynflag_lookup(const char *name, * @param out * The stream where the status is displayed. */ -__rte_experimental void rte_mbuf_dyn_dump(FILE *out); /* @@ -277,9 +270,6 @@ typedef uint64_t rte_mbuf_timestamp_t; #define RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME "rte_dynflag_rx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Rx timestamp. * * @param field_offset @@ -295,7 +285,6 @@ typedef uint64_t rte_mbuf_timestamp_t; * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); /** @@ -314,9 +303,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); #define RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME "rte_dynflag_tx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Tx timestamp. * * @param field_offset @@ -332,7 +318,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag); #ifdef __cplusplus diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 940b04096520..b63e28a8cc4d 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,15 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_dyn_dump; + rte_mbuf_dyn_rx_timestamp_register; + rte_mbuf_dyn_tx_timestamp_register; + rte_mbuf_dynfield_lookup; + rte_mbuf_dynfield_register; + rte_mbuf_dynfield_register_offset; + rte_mbuf_dynflag_lookup; + rte_mbuf_dynflag_register; + rte_mbuf_dynflag_register_bitnum; rte_mbuf_platform_mempool_ops; rte_mbuf_sanity_check; rte_mbuf_set_platform_mempool_ops; @@ -37,15 +46,6 @@ EXPERIMENTAL { global: rte_mbuf_check; - rte_mbuf_dynfield_lookup; - rte_mbuf_dynfield_register; - rte_mbuf_dynfield_register_offset; - rte_mbuf_dynflag_lookup; - rte_mbuf_dynflag_register; - rte_mbuf_dynflag_register_bitnum; - rte_mbuf_dyn_dump; - rte_mbuf_dyn_rx_timestamp_register; - rte_mbuf_dyn_tx_timestamp_register; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
The comment says the function is Experimental but the attribute was never set? Also, fix the docbook comment format. Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value") Cc: konstantin.ananyev@intel.com Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index 7722b36ee44b..627790fe26e7 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail return 0; } -/* +/** * @warning * @b EXPERIMENTAL: This API may change without prior notice. * @@ -1797,6 +1797,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail * @return * raw tx_offload value. */ +__rte_experimental static __rte_always_inline uint64_t rte_mbuf_tx_offload(uint64_t il2, uint64_t il3, uint64_t il4, uint64_t tso, uint64_t ol3, uint64_t ol2, uint64_t unused) -- 2.30.2
These experimental API's in mbuf should be changed to officially supported. v3 - add rte_mbuf_check Stephen Hemminger (4): mbuf: take experimental of mbuf copy and bulk free mbuf: remove experimental from dynamic field support mbuf: mark function rte_mbuf_tx_offload with __rte_expermental mbuf: make rte_mbuf_check part of stable API lib/mbuf/rte_mbuf.h | 6 ++---- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 31 deletions(-) -- 2.30.2
These two functions were added in 20.11 as experimental. Time to promote the to stable status. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index a555f216aeeb..7722b36ee44b 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1426,7 +1426,6 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m) * @param count * Array size. */ -__rte_experimental void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count); /** @@ -1470,7 +1469,6 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp); * - The pointer to the new "clone" mbuf on success. * - NULL if allocation fails. */ -__rte_experimental struct rte_mbuf * rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp, uint32_t offset, uint32_t length); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 29654330eb04..940b04096520 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -22,7 +22,9 @@ DPDK_22 { rte_mbuf_set_user_mempool_ops; rte_mbuf_user_mempool_ops; rte_pktmbuf_clone; + rte_pktmbuf_copy; rte_pktmbuf_dump; + rte_pktmbuf_free_bulk; rte_pktmbuf_init; rte_pktmbuf_pool_create; rte_pktmbuf_pool_create_by_ops; @@ -44,8 +46,6 @@ EXPERIMENTAL { rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; - rte_pktmbuf_copy; - rte_pktmbuf_free_bulk; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
These functions to register dynamic fields were added in 20.11 and should be promoted to stable. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/lib/mbuf/rte_mbuf_dyn.h b/lib/mbuf/rte_mbuf_dyn.h index 13f06d8ed25b..fb03cf1dcf90 100644 --- a/lib/mbuf/rte_mbuf_dyn.h +++ b/lib/mbuf/rte_mbuf_dyn.h @@ -118,7 +118,6 @@ struct rte_mbuf_dynflag { * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); /** @@ -143,7 +142,6 @@ int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, size_t offset); @@ -160,7 +158,6 @@ int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, * Possible values for rte_errno: * - ENOENT: no dynamic field matches this name. */ -__rte_experimental int rte_mbuf_dynfield_lookup(const char *name, struct rte_mbuf_dynfield *params); @@ -183,7 +180,6 @@ int rte_mbuf_dynfield_lookup(const char *name, * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); /** @@ -208,7 +204,6 @@ int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, unsigned int bitnum); @@ -225,7 +220,6 @@ int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, * Possible values for rte_errno: * - ENOENT: no dynamic flag matches this name. */ -__rte_experimental int rte_mbuf_dynflag_lookup(const char *name, struct rte_mbuf_dynflag *params); @@ -240,7 +234,6 @@ int rte_mbuf_dynflag_lookup(const char *name, * @param out * The stream where the status is displayed. */ -__rte_experimental void rte_mbuf_dyn_dump(FILE *out); /* @@ -277,9 +270,6 @@ typedef uint64_t rte_mbuf_timestamp_t; #define RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME "rte_dynflag_rx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Rx timestamp. * * @param field_offset @@ -295,7 +285,6 @@ typedef uint64_t rte_mbuf_timestamp_t; * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); /** @@ -314,9 +303,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); #define RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME "rte_dynflag_tx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Tx timestamp. * * @param field_offset @@ -332,7 +318,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag); #ifdef __cplusplus diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 940b04096520..b63e28a8cc4d 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,15 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_dyn_dump; + rte_mbuf_dyn_rx_timestamp_register; + rte_mbuf_dyn_tx_timestamp_register; + rte_mbuf_dynfield_lookup; + rte_mbuf_dynfield_register; + rte_mbuf_dynfield_register_offset; + rte_mbuf_dynflag_lookup; + rte_mbuf_dynflag_register; + rte_mbuf_dynflag_register_bitnum; rte_mbuf_platform_mempool_ops; rte_mbuf_sanity_check; rte_mbuf_set_platform_mempool_ops; @@ -37,15 +46,6 @@ EXPERIMENTAL { global: rte_mbuf_check; - rte_mbuf_dynfield_lookup; - rte_mbuf_dynfield_register; - rte_mbuf_dynfield_register_offset; - rte_mbuf_dynflag_lookup; - rte_mbuf_dynflag_register; - rte_mbuf_dynflag_register_bitnum; - rte_mbuf_dyn_dump; - rte_mbuf_dyn_rx_timestamp_register; - rte_mbuf_dyn_tx_timestamp_register; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
This function should be made stable now. Also, fix the docbook comment format. Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value") Cc: konstantin.ananyev@intel.com Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index 7722b36ee44b..627790fe26e7 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail return 0; } -/* +/** * @warning * @b EXPERIMENTAL: This API may change without prior notice. * @@ -1797,6 +1797,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail * @return * raw tx_offload value. */ +__rte_experimental static __rte_always_inline uint64_t rte_mbuf_tx_offload(uint64_t il2, uint64_t il3, uint64_t il4, uint64_t tso, uint64_t ol3, uint64_t ol2, uint64_t unused) -- 2.30.2
This one has been in for required time period. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 1 - lib/mbuf/version.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index 627790fe26e7..c70330f09dd8 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -536,7 +536,6 @@ rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header); * - -1 if a problem is detected, reason then points to a string describing * the reason why the mbuf is deemed invalid. */ -__rte_experimental int rte_mbuf_check(const struct rte_mbuf *m, int is_header, const char **reason); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index b63e28a8cc4d..2745c2b77cc9 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,7 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_check; rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; @@ -45,7 +46,6 @@ DPDK_22 { EXPERIMENTAL { global: - rte_mbuf_check; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> These two functions were added in 20.11 as experimental.
> Time to promote the to stable status.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> These functions to register dynamic fields were added in 20.11
> and should be promoted to stable.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
On 8/31/21 10:35 PM, Stephen Hemminger wrote: > This function should be made stable now. > > Also, fix the docbook comment format. > > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value") > Cc: konstantin.ananyev@intel.com > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> I'm not sure that it is correct to have promotion with Fixes tag. It will require extra care on backporting to stable. Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > --- > lib/mbuf/rte_mbuf.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h > index 7722b36ee44b..627790fe26e7 100644 > --- a/lib/mbuf/rte_mbuf.h > +++ b/lib/mbuf/rte_mbuf.h > @@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > return 0; > } > > -/* > +/** > * @warning > * @b EXPERIMENTAL: This API may change without prior notice. The warning must be removed. > * > @@ -1797,6 +1797,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > * @return > * raw tx_offload value. > */ > +__rte_experimental > static __rte_always_inline uint64_t > rte_mbuf_tx_offload(uint64_t il2, uint64_t il3, uint64_t il4, uint64_t tso, > uint64_t ol3, uint64_t ol2, uint64_t unused) >
On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> This one has been in for required time period.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Experimental warning should be removed from the description.
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
On 9/1/21 9:46 AM, Andrew Rybchenko wrote: > On 8/31/21 10:35 PM, Stephen Hemminger wrote: >> This one has been in for required time period. >> >> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > > Experimental warning should be removed from the description. Apologies, there is no experimental warning in the function description. > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> >
On Wed, 1 Sep 2021 09:45:22 +0300
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> wrote:
> On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> > This function should be made stable now.
> >
> > Also, fix the docbook comment format.
> >
> > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")
> > Cc: konstantin.ananyev@intel.com
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> I'm not sure that it is correct to have promotion with
> Fixes tag. It will require extra care on backporting to
> stable.
>
I would not recommend bothering with backport of docbook
only fix.
On Wed, Sep 01, 2021 at 09:42:27AM +0300, Andrew Rybchenko wrote:
> On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> > These two functions were added in 20.11 as experimental.
> > Time to promote the to stable status.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
On Wed, Sep 01, 2021 at 09:43:00AM +0300, Andrew Rybchenko wrote:
> On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> > These functions to register dynamic fields were added in 20.11
> > and should be promoted to stable.
> >
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
On Wed, Sep 01, 2021 at 09:45:22AM +0300, Andrew Rybchenko wrote: > On 8/31/21 10:35 PM, Stephen Hemminger wrote: > > This function should be made stable now. > > > > Also, fix the docbook comment format. > > > > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value") > > Cc: konstantin.ananyev@intel.com > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > > I'm not sure that it is correct to have promotion with > Fixes tag. It will require extra care on backporting to > stable. > > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > > > --- > > lib/mbuf/rte_mbuf.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h > > index 7722b36ee44b..627790fe26e7 100644 > > --- a/lib/mbuf/rte_mbuf.h > > +++ b/lib/mbuf/rte_mbuf.h > > @@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > > return 0; > > } > > > > -/* > > +/** > > * @warning > > * @b EXPERIMENTAL: This API may change without prior notice. > > The warning must be removed. Just to highligth this comment from Andrew. > > > * > > @@ -1797,6 +1797,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > > * @return > > * raw tx_offload value. > > */ > > +__rte_experimental > > static __rte_always_inline uint64_t > > rte_mbuf_tx_offload(uint64_t il2, uint64_t il3, uint64_t il4, uint64_t tso, > > uint64_t ol3, uint64_t ol2, uint64_t unused) > > >
On Wed, Sep 01, 2021 at 09:49:06AM +0300, Andrew Rybchenko wrote:
> On 9/1/21 9:46 AM, Andrew Rybchenko wrote:
> > On 8/31/21 10:35 PM, Stephen Hemminger wrote:
> >> This one has been in for required time period.
> >>
> >> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> >
> > Experimental warning should be removed from the description.
>
> Apologies, there is no experimental warning in the function
> description.
>
> > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
On Tue, Aug 31, 2021 at 9:35 PM Stephen Hemminger <stephen@networkplumber.org> wrote: > > This function should be made stable now. > > Also, fix the docbook comment format. > > Fixes: 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value") > Cc: konstantin.ananyev@intel.com > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > --- > lib/mbuf/rte_mbuf.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h > index 7722b36ee44b..627790fe26e7 100644 > --- a/lib/mbuf/rte_mbuf.h > +++ b/lib/mbuf/rte_mbuf.h > @@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > return 0; > } > > -/* > +/** > * @warning > * @b EXPERIMENTAL: This API may change without prior notice. > * > @@ -1797,6 +1797,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail > * @return > * raw tx_offload value. > */ > +__rte_experimental From title and description, I would expect we remove __rte_experimental tag, not add one. Can you clarify the intention? > static __rte_always_inline uint64_t > rte_mbuf_tx_offload(uint64_t il2, uint64_t il3, uint64_t il4, uint64_t tso, > uint64_t ol3, uint64_t ol2, uint64_t unused) > -- > 2.30.2 > -- David Marchand
These are all functions that have been around since at least 19.05 v4 - fix the tx_offload patch add the mbuf_to_priv patch Stephen Hemminger (5): mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's mbuf: make rte_mbuf_dynfield API's stable mbuf: make rte_mbuf_check part of stable API mbuf: make rte_mbuf_tx_offload as stable mbuf: mark rte_mbuf_to_priv as stable lib/mbuf/rte_mbuf.h | 9 +-------- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 35 deletions(-) -- 2.30.2
These two functions were added in 20.11 as experimental. Time to promote the to stable status. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Olivier Matz <olivier.matz@6wind.com> --- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index a555f216aeeb..7722b36ee44b 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1426,7 +1426,6 @@ static inline void rte_pktmbuf_free(struct rte_mbuf *m) * @param count * Array size. */ -__rte_experimental void rte_pktmbuf_free_bulk(struct rte_mbuf **mbufs, unsigned int count); /** @@ -1470,7 +1469,6 @@ rte_pktmbuf_clone(struct rte_mbuf *md, struct rte_mempool *mp); * - The pointer to the new "clone" mbuf on success. * - NULL if allocation fails. */ -__rte_experimental struct rte_mbuf * rte_pktmbuf_copy(const struct rte_mbuf *m, struct rte_mempool *mp, uint32_t offset, uint32_t length); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 29654330eb04..940b04096520 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -22,7 +22,9 @@ DPDK_22 { rte_mbuf_set_user_mempool_ops; rte_mbuf_user_mempool_ops; rte_pktmbuf_clone; + rte_pktmbuf_copy; rte_pktmbuf_dump; + rte_pktmbuf_free_bulk; rte_pktmbuf_init; rte_pktmbuf_pool_create; rte_pktmbuf_pool_create_by_ops; @@ -44,8 +46,6 @@ EXPERIMENTAL { rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; - rte_pktmbuf_copy; - rte_pktmbuf_free_bulk; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
These functions to register dynamic fields were added in 20.11 and should be promoted to stable. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Olivier Matz <olivier.matz@6wind.com> --- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-) diff --git a/lib/mbuf/rte_mbuf_dyn.h b/lib/mbuf/rte_mbuf_dyn.h index 13f06d8ed25b..fb03cf1dcf90 100644 --- a/lib/mbuf/rte_mbuf_dyn.h +++ b/lib/mbuf/rte_mbuf_dyn.h @@ -118,7 +118,6 @@ struct rte_mbuf_dynflag { * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); /** @@ -143,7 +142,6 @@ int rte_mbuf_dynfield_register(const struct rte_mbuf_dynfield *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name does not ends with \0. */ -__rte_experimental int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, size_t offset); @@ -160,7 +158,6 @@ int rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params, * Possible values for rte_errno: * - ENOENT: no dynamic field matches this name. */ -__rte_experimental int rte_mbuf_dynfield_lookup(const char *name, struct rte_mbuf_dynfield *params); @@ -183,7 +180,6 @@ int rte_mbuf_dynfield_lookup(const char *name, * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); /** @@ -208,7 +204,6 @@ int rte_mbuf_dynflag_register(const struct rte_mbuf_dynflag *params); * - ENOMEM: allocation failure. * - ENAMETOOLONG: name is longer than RTE_MBUF_DYN_NAMESIZE - 1. */ -__rte_experimental int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, unsigned int bitnum); @@ -225,7 +220,6 @@ int rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params, * Possible values for rte_errno: * - ENOENT: no dynamic flag matches this name. */ -__rte_experimental int rte_mbuf_dynflag_lookup(const char *name, struct rte_mbuf_dynflag *params); @@ -240,7 +234,6 @@ int rte_mbuf_dynflag_lookup(const char *name, * @param out * The stream where the status is displayed. */ -__rte_experimental void rte_mbuf_dyn_dump(FILE *out); /* @@ -277,9 +270,6 @@ typedef uint64_t rte_mbuf_timestamp_t; #define RTE_MBUF_DYNFLAG_RX_TIMESTAMP_NAME "rte_dynflag_rx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Rx timestamp. * * @param field_offset @@ -295,7 +285,6 @@ typedef uint64_t rte_mbuf_timestamp_t; * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); /** @@ -314,9 +303,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); #define RTE_MBUF_DYNFLAG_TX_TIMESTAMP_NAME "rte_dynflag_tx_timestamp" /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Register dynamic mbuf field and flag for Tx timestamp. * * @param field_offset @@ -332,7 +318,6 @@ int rte_mbuf_dyn_rx_timestamp_register(int *field_offset, uint64_t *rx_flag); * - ENOENT: no more field or flag available. * - ENOMEM: allocation failure. */ -__rte_experimental int rte_mbuf_dyn_tx_timestamp_register(int *field_offset, uint64_t *tx_flag); #ifdef __cplusplus diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index 940b04096520..b63e28a8cc4d 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,15 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_dyn_dump; + rte_mbuf_dyn_rx_timestamp_register; + rte_mbuf_dyn_tx_timestamp_register; + rte_mbuf_dynfield_lookup; + rte_mbuf_dynfield_register; + rte_mbuf_dynfield_register_offset; + rte_mbuf_dynflag_lookup; + rte_mbuf_dynflag_register; + rte_mbuf_dynflag_register_bitnum; rte_mbuf_platform_mempool_ops; rte_mbuf_sanity_check; rte_mbuf_set_platform_mempool_ops; @@ -37,15 +46,6 @@ EXPERIMENTAL { global: rte_mbuf_check; - rte_mbuf_dynfield_lookup; - rte_mbuf_dynfield_register; - rte_mbuf_dynfield_register_offset; - rte_mbuf_dynflag_lookup; - rte_mbuf_dynflag_register; - rte_mbuf_dynflag_register_bitnum; - rte_mbuf_dyn_dump; - rte_mbuf_dyn_rx_timestamp_register; - rte_mbuf_dyn_tx_timestamp_register; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
This one has been in for required time period. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Olivier Matz <olivier.matz@6wind.com> --- lib/mbuf/rte_mbuf.h | 1 - lib/mbuf/version.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index 7722b36ee44b..ff6739ccc2a2 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -536,7 +536,6 @@ rte_mbuf_sanity_check(const struct rte_mbuf *m, int is_header); * - -1 if a problem is detected, reason then points to a string describing * the reason why the mbuf is deemed invalid. */ -__rte_experimental int rte_mbuf_check(const struct rte_mbuf *m, int is_header, const char **reason); diff --git a/lib/mbuf/version.map b/lib/mbuf/version.map index b63e28a8cc4d..2745c2b77cc9 100644 --- a/lib/mbuf/version.map +++ b/lib/mbuf/version.map @@ -16,6 +16,7 @@ DPDK_22 { rte_get_tx_ol_flag_list; rte_get_tx_ol_flag_name; rte_mbuf_best_mempool_ops; + rte_mbuf_check; rte_mbuf_dyn_dump; rte_mbuf_dyn_rx_timestamp_register; rte_mbuf_dyn_tx_timestamp_register; @@ -45,7 +46,6 @@ DPDK_22 { EXPERIMENTAL { global: - rte_mbuf_check; rte_pktmbuf_pool_create_extbuf; }; -- 2.30.2
This function should be made stable now. Cc: konstantin.ananyev@intel.com Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- lib/mbuf/rte_mbuf.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index ff6739ccc2a2..6913b6d6f3ff 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -1772,10 +1772,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail return 0; } -/* - * @warning - * @b EXPERIMENTAL: This API may change without prior notice. - * +/** * For given input values generate raw tx_offload value. * Note that it is caller responsibility to make sure that input parameters * don't exceed maximum bit-field values. -- 2.30.2
This inline function was added in 18.08 Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/mbuf/rte_mbuf.h | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h index 6913b6d6f3ff..aa8a048934ad 100644 --- a/lib/mbuf/rte_mbuf.h +++ b/lib/mbuf/rte_mbuf.h @@ -272,7 +272,6 @@ rte_mbuf_to_baddr(struct rte_mbuf *md) * @return * The starting address of the private data area of the given mbuf. */ -__rte_experimental static inline void * rte_mbuf_to_priv(struct rte_mbuf *m) { -- 2.30.2
On Mon, Oct 04, 2021 at 12:33:01PM -0700, Stephen Hemminger wrote:
> This function should be made stable now.
>
> Cc: konstantin.ananyev@intel.com
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
On Mon, Oct 04, 2021 at 12:33:02PM -0700, Stephen Hemminger wrote: > This inline function was added in 18.08 > > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > --- > lib/mbuf/rte_mbuf.h | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/lib/mbuf/rte_mbuf.h b/lib/mbuf/rte_mbuf.h > index 6913b6d6f3ff..aa8a048934ad 100644 > --- a/lib/mbuf/rte_mbuf.h > +++ b/lib/mbuf/rte_mbuf.h > @@ -272,7 +272,6 @@ rte_mbuf_to_baddr(struct rte_mbuf *md) > * @return > * The starting address of the private data area of the given mbuf. > */ > -__rte_experimental > static inline void * > rte_mbuf_to_priv(struct rte_mbuf *m) > { > -- > 2.30.2 > This one is already in David's patch sent few days ago, I think we can skip it https://patchwork.dpdk.org/project/dpdk/patch/20211002141614.14784-1-david.marchand@redhat.com/
> On Mon, Oct 04, 2021 at 12:33:01PM -0700, Stephen Hemminger wrote:
> > This function should be made stable now.
> >
> > Cc: konstantin.ananyev@intel.com
> > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> > Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
On Mon, Oct 4, 2021 at 9:33 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> These are all functions that have been around since at least 19.05
>
> v4 - fix the tx_offload patch
> add the mbuf_to_priv patch
>
> Stephen Hemminger (5):
> mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
> mbuf: make rte_mbuf_dynfield API's stable
> mbuf: make rte_mbuf_check part of stable API
> mbuf: make rte_mbuf_tx_offload as stable
> mbuf: mark rte_mbuf_to_priv as stable
>
> lib/mbuf/rte_mbuf.h | 9 +--------
> lib/mbuf/rte_mbuf_dyn.h | 15 ---------------
> lib/mbuf/version.map | 24 ++++++++++++------------
> 3 files changed, 13 insertions(+), 35 deletions(-)
Series applied, thanks.
--
David Marchand