mbuf: unmark experimental API's
cover mbuf: unmark experimental API's
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(-)
Signature · 1 line
2.30.2
PATCH 1/2 mbuf: take experimental of mbuf copy and bulk free
These two functions were added in 20.11 as experimental. Time to promote the to supported status.
--- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-)
lib/mbuf/rte_mbuf.h +0 -2
@@ -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);
lib/mbuf/version.map +2 -2
@@ -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; };
Signature · 1 line
2.30.2
PATCH 2/2 mbuf: remove experimental from dynamic field support
In reply to Stephen HemmingerThese functions to register dynamic fields were added in 20.11 and should be promoted to supported.
--- lib/mbuf/rte_mbuf_dyn.h | 9 --------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 18 deletions(-)
lib/mbuf/rte_mbuf_dyn.h +0 -9
@@ -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
lib/mbuf/version.map +9 -9
@@ -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; };
Signature · 1 line
2.30.2
v2 cover mbuf: experimental tag changes
In reply to Stephen HemmingerThese 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(-)
Signature · 1 line
2.30.2
PATCH v2 1/3 mbuf: take experimental of mbuf copy and bulk free
These two functions were added in 20.11 as experimental. Time to promote the to supported status.
--- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-)
lib/mbuf/rte_mbuf.h +0 -2
@@ -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);
lib/mbuf/version.map +2 -2
@@ -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; };
Signature · 1 line
2.30.2
PATCH v2 2/3 mbuf: remove experimental from dynamic field support
In reply to Stephen HemmingerThese functions to register dynamic fields were added in 20.11 and should be promoted to supported.
--- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-)
lib/mbuf/rte_mbuf_dyn.h +0 -15
@@ -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
lib/mbuf/version.map +9 -9
@@ -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; };
Signature · 1 line
2.30.2
PATCH v2 3/3 mbuf: mark function rte_mbuf_tx_offload with __rte_expermental
In reply to Stephen HemmingerThe comment says the function is Experimental but the attribute was never set?
Also, fix the docbook comment format.
--- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +2 -1
@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 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_trte_mbuf_tx_offload (uint64_t il2,uint64_t il3,uint64_t il4,uint64_t tso,uint64_t ol3,uint64_t ol2,uint64_t unused)
Signature · 1 line
2.30.2
v3 cover mbuf: promote experimental API's to stable
In reply to Stephen HemmingerThese 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(-)
Signature · 1 line
2.30.2
PATCH v3 1/4 mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
These two functions were added in 20.11 as experimental. Time to promote the to stable status.
--- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-)
lib/mbuf/rte_mbuf.h +0 -2
@@ -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);
lib/mbuf/version.map +2 -2
@@ -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; };
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
Quoted 4 lines · Stephen Hemminger
These two functions were added in 20.11 as experimental. Time to promote the to stable status.
Signed-off-by Stephen Hemminger <[email protected]>
Olivier Matz
Acked-byRe: [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
Quoted 7 lines · Andrew Rybchenko
Quoted 4 lines · Stephen Hemminger
These two functions were added in 20.11 as experimental. Time to promote the to stable status.
Signed-off-by Stephen Hemminger <[email protected]>Acked-by Andrew Rybchenko <[email protected]>
PATCH v3 2/4 mbuf: make rte_mbuf_dynfield API's stable
In reply to Stephen HemmingerThese functions to register dynamic fields were added in 20.11 and should be promoted to stable.
--- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-)
lib/mbuf/rte_mbuf_dyn.h +0 -15
@@ -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
lib/mbuf/version.map +9 -9
@@ -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; };
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable
Quoted 4 lines · Stephen Hemminger
These functions to register dynamic fields were added in 20.11 and should be promoted to stable.
Signed-off-by Stephen Hemminger <[email protected]>
Olivier Matz
Acked-byRe: [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable
Quoted 7 lines · Andrew Rybchenko
Quoted 4 lines · Stephen Hemminger
These functions to register dynamic fields were added in 20.11 and should be promoted to stable.
Signed-off-by Stephen Hemminger <[email protected]>Acked-by Andrew Rybchenko <[email protected]>
PATCH v3 3/4 mbuf: make rte_mbuf_tx_offload as stable
In reply to Stephen HemmingerThis function should be made stable now.
Also, fix the docbook comment format.
--- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +2 -1
@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 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_trte_mbuf_tx_offload (uint64_t il2,uint64_t il3,uint64_t il4,uint64_t tso,uint64_t ol3,uint64_t ol2,uint64_t unused)
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
Quoted 7 lines · Stephen Hemminger
This function should be made stable now.
Also, fix the docbook comment format.
Fixes 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")Signed-off-by Stephen Hemminger <[email protected]>
I'm not sure that it is correct to have promotion with Fixes tag. It will require extra care on backporting to stable.
Quoted 9 lines
--- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)lib/mbuf/rte_mbuf.h +0
-0
lib/mbuf/rte_mbuf.h static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail · line 1778
Quoted 7 lines
lib/mbuf/rte_mbuf.h +1
-1@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 0 ; } -/* +/** * @warning * @b EXPERIMENTAL: This API may change without prior notice.
The warning must be removed.
Quoted 10 lines
lib/mbuf/rte_mbuf.h +1
-0* @@ -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_trte_mbuf_tx_offload (uint64_t il2,uint64_t il3,uint64_t il4,uint64_t tso,uint64_t ol3,uint64_t ol2,uint64_t unused)
Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
Quoted 5 lines · On Wed, 1 Sep 2021 09:45:22 +0300 Andrew Rybchenko…
Quoted 4 lines · Stephen Hemminger
This function should be made stable now.
Also, fix the docbook comment format.
Quoted 8 lines
Quoted 3 lines
Fixes 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")Signed-off-by Stephen Hemminger <[email protected]>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.
Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
In reply to Andrew RybchenkoQuoted 27 lines · Andrew Rybchenko
Quoted 7 lines · Stephen Hemminger
This function should be made stable now.
Also, fix the docbook comment format.
Fixes 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")Signed-off-by Stephen Hemminger <[email protected]>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 <[email protected]>Quoted 12 lines
--- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)lib/mbuf/rte_mbuf.h +0
-0@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 0 ; }
Quoted 6 lines
lib/mbuf/rte_mbuf.h static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail · line 1778
Quoted 4 lines
lib/mbuf/rte_mbuf.h +1
-1-/* +/** * @warning * @b EXPERIMENTAL: This API may change without prior notice. The warning must be removed.
Just to highligth this comment from Andrew.
Quoted 12 lines
Quoted 11 lines
lib/mbuf/rte_mbuf.h +1
-0* @@ -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_trte_mbuf_tx_offload (uint64_t il2,uint64_t il3,uint64_t il4,uint64_t tso,uint64_t ol3,uint64_t ol2,uint64_t unused)
Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
In reply to Stephen HemmingerQuoted 26 lines · Stephen Hemminger
This function should be made stable now.
Also, fix the docbook comment format.
Fixes 8d9c2c3a1f01 ("mbuf: add function to generate raw Tx offload value")Signed-off-by Stephen Hemminger <[email protected]>--- lib/mbuf/rte_mbuf.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)lib/mbuf/rte_mbuf.h +1
-1@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 0 ; } -/* +/** * @warning * @b EXPERIMENTAL: This API may change without prior notice. *
lib/mbuf/rte_mbuf.h static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail · line 1800
Quoted 4 lines
lib/mbuf/rte_mbuf.h +1
-0@@ -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?
Quoted 6 lines
lib/mbuf/rte_mbuf.h +0
-1static __rte_always_inline uint64_trte_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
Signature · 1 line
David Marchand
PATCH v3 4/4 mbuf: make rte_mbuf_check part of stable API
In reply to Stephen HemmingerThis one has been in for required time period.
--- lib/mbuf/rte_mbuf.h | 1 - lib/mbuf/version.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-)
lib/mbuf/rte_mbuf.h +0 -1
@@ -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);
lib/mbuf/version.map +1 -1
@@ -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; };
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
Quoted 3 lines · Stephen Hemminger
This one has been in for required time period.
Signed-off-by Stephen Hemminger <[email protected]>
Experimental warning should be removed from the description.
Re: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
Quoted 6 lines · Andrew Rybchenko
Quoted 3 lines · Stephen Hemminger
This one has been in for required time period.
Signed-off-by Stephen Hemminger <[email protected]>Experimental warning should be removed from the description.
Apologies, there is no experimental warning in the function description.
Quoted 2 lines
Acked-by Andrew Rybchenko <[email protected]>
Olivier Matz
Acked-byRe: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
Quoted 12 lines · Andrew Rybchenko
Quoted 6 lines · Andrew Rybchenko
Quoted 3 lines · Stephen Hemminger
This one has been in for required time period.
Signed-off-by Stephen Hemminger <[email protected]>Experimental warning should be removed from the description.
Apologies, there is no experimental warning in the function description.
Quoted 1 line
Acked-by Andrew Rybchenko <[email protected]>
v4 cover mbuf: promote experimental API's to stable
In reply to Stephen HemmingerThese 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(-)
Signature · 1 line
2.30.2
PATCH v4 1/5 mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
These two functions were added in 20.11 as experimental. Time to promote the to stable status.
--- lib/mbuf/rte_mbuf.h | 2 -- lib/mbuf/version.map | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-)
lib/mbuf/rte_mbuf.h +0 -2
@@ -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);
lib/mbuf/version.map +2 -2
@@ -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; };
Signature · 1 line
2.30.2
PATCH v4 2/5 mbuf: make rte_mbuf_dynfield API's stable
In reply to Stephen HemmingerThese functions to register dynamic fields were added in 20.11 and should be promoted to stable.
--- lib/mbuf/rte_mbuf_dyn.h | 15 --------------- lib/mbuf/version.map | 18 +++++++++--------- 2 files changed, 9 insertions(+), 24 deletions(-)
lib/mbuf/rte_mbuf_dyn.h +0 -15
@@ -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
lib/mbuf/version.map +9 -9
@@ -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; };
Signature · 1 line
2.30.2
PATCH v4 3/5 mbuf: make rte_mbuf_check part of stable API
In reply to Stephen HemmingerThis one has been in for required time period.
--- lib/mbuf/rte_mbuf.h | 1 - lib/mbuf/version.map | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-)
lib/mbuf/rte_mbuf.h +0 -1
@@ -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);
lib/mbuf/version.map +1 -1
@@ -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; };
Signature · 1 line
2.30.2
PATCH v4 4/5 mbuf: make rte_mbuf_tx_offload as stable
In reply to Stephen HemmingerThis function should be made stable now.
--- lib/mbuf/rte_mbuf.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
lib/mbuf/rte_mbuf.h +1 -4
@@ -1772,10 +1772,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tailreturn 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.
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable
Quoted 5 lines · Stephen Hemminger
This function should be made stable now.
Signed-off-by Stephen Hemminger <[email protected]>Acked-by Andrew Rybchenko <[email protected]>
Ananyev, Konstantin
Acked-byRe: [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable
Quoted 10 lines · Stephen Hemminger
Quoted 5 lines
This function should be made stable now.
Signed-off-by Stephen Hemminger <[email protected]>Acked-by Andrew Rybchenko <[email protected]>Acked-by Olivier Matz <[email protected]>
PATCH v4 5/5 mbuf: mark rte_mbuf_to_priv as stable
In reply to Stephen HemmingerThis inline function was added in 18.08
--- lib/mbuf/rte_mbuf.h | 1 - 1 file changed, 1 deletion(-)
lib/mbuf/rte_mbuf.h +0 -1
@@ -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) {
Signature · 1 line
2.30.2
Re: [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv as stable
Quoted 22 lines · Stephen Hemminger
This inline function was added in 18.08
Signed-off-by Stephen Hemminger <[email protected]>--- lib/mbuf/rte_mbuf.h | 1 - 1 file changed, 1 deletion(-)lib/mbuf/rte_mbuf.h +0
-1@@ -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) {Signature · 1 line
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/[email protected]/
Re: [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable
In reply to Stephen HemmingerQuoted 13 lines · Stephen Hemminger
These are all functions that have been around since at least 19.05
v4 - fix the
tx_offloadpatch
add thembuf_to_privpatchStephen Hemminger (5):
mbuf: makerte_pktmbuf_free_bulkandrte_pktmbuf_copystable API's
mbuf: makerte_mbuf_dynfieldAPI's stable
mbuf: makerte_mbuf_checkpart of stable API
mbuf: makerte_mbuf_tx_offloadas stable
mbuf: markrte_mbuf_to_privas stable
Quoted 4 lines
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.
Signature · 1 line
David Marchand