DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's
@ 2021-08-25 15:52 Stephen Hemminger
  2021-08-25 15:52 ` [dpdk-dev] [PATCH 1/2] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
                   ` (3 more replies)
  0 siblings, 4 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 15:52 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 1/2] mbuf: take experimental of mbuf copy and bulk free
  2021-08-25 15:52 [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's Stephen Hemminger
@ 2021-08-25 15:52 ` Stephen Hemminger
  2021-08-25 15:52 ` [dpdk-dev] [PATCH 2/2] mbuf: remove experimental from dynamic field support Stephen Hemminger
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 15:52 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH 2/2] mbuf: remove experimental from dynamic field support
  2021-08-25 15:52 [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's Stephen Hemminger
  2021-08-25 15:52 ` [dpdk-dev] [PATCH 1/2] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
@ 2021-08-25 15:52 ` Stephen Hemminger
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
  3 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 15:52 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes
  2021-08-25 15:52 [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's Stephen Hemminger
  2021-08-25 15:52 ` [dpdk-dev] [PATCH 1/2] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
  2021-08-25 15:52 ` [dpdk-dev] [PATCH 2/2] mbuf: remove experimental from dynamic field support Stephen Hemminger
@ 2021-08-25 22:09 ` Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 1/3] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
                     ` (3 more replies)
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
  3 siblings, 4 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 22:09 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 1/3] mbuf: take experimental of mbuf copy and bulk free
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
@ 2021-08-25 22:09   ` Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 2/3] mbuf: remove experimental from dynamic field support Stephen Hemminger
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 22:09 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 2/3] mbuf: remove experimental from dynamic field support
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 1/3] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
@ 2021-08-25 22:09   ` Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 3/3] mbuf: mark function rte_mbuf_tx_offload with __rte_expermental Stephen Hemminger
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
  3 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 22:09 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v2 3/3] mbuf: mark function rte_mbuf_tx_offload with __rte_expermental
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 1/3] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 2/3] mbuf: remove experimental from dynamic field support Stephen Hemminger
@ 2021-08-25 22:09   ` Stephen Hemminger
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
  3 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-25 22:09 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, konstantin.ananyev

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
                     ` (2 preceding siblings ...)
  2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 3/3] mbuf: mark function rte_mbuf_tx_offload with __rte_expermental Stephen Hemminger
@ 2021-08-31 19:35   ` Stephen Hemminger
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
                       ` (3 more replies)
  3 siblings, 4 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-31 19:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
@ 2021-08-31 19:35     ` Stephen Hemminger
  2021-09-01  6:42       ` Andrew Rybchenko
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-31 19:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
@ 2021-08-31 19:35     ` Stephen Hemminger
  2021-09-01  6:43       ` Andrew Rybchenko
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
  3 siblings, 1 reply; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-31 19:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
@ 2021-08-31 19:35     ` Stephen Hemminger
  2021-09-01  6:45       ` Andrew Rybchenko
  2021-10-02  9:34       ` David Marchand
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
  3 siblings, 2 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-31 19:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, konstantin.ananyev

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
  2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
                       ` (2 preceding siblings ...)
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
@ 2021-08-31 19:35     ` Stephen Hemminger
  2021-09-01  6:46       ` Andrew Rybchenko
  3 siblings, 1 reply; 33+ messages in thread
From: Stephen Hemminger @ 2021-08-31 19:35 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
@ 2021-09-01  6:42       ` Andrew Rybchenko
  2021-09-16 11:55         ` Olivier Matz
  0 siblings, 1 reply; 33+ messages in thread
From: Andrew Rybchenko @ 2021-09-01  6:42 UTC (permalink / raw)
  To: Stephen Hemminger, dev

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>


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
@ 2021-09-01  6:43       ` Andrew Rybchenko
  2021-09-16 11:56         ` Olivier Matz
  0 siblings, 1 reply; 33+ messages in thread
From: Andrew Rybchenko @ 2021-09-01  6:43 UTC (permalink / raw)
  To: Stephen Hemminger, dev

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>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
@ 2021-09-01  6:45       ` Andrew Rybchenko
  2021-09-01 17:14         ` Stephen Hemminger
  2021-09-16 12:14         ` Olivier Matz
  2021-10-02  9:34       ` David Marchand
  1 sibling, 2 replies; 33+ messages in thread
From: Andrew Rybchenko @ 2021-09-01  6:45 UTC (permalink / raw)
  To: Stephen Hemminger, dev; +Cc: konstantin.ananyev

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)
> 


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
@ 2021-09-01  6:46       ` Andrew Rybchenko
  2021-09-01  6:49         ` Andrew Rybchenko
  0 siblings, 1 reply; 33+ messages in thread
From: Andrew Rybchenko @ 2021-09-01  6:46 UTC (permalink / raw)
  To: Stephen Hemminger, dev

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>


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
  2021-09-01  6:46       ` Andrew Rybchenko
@ 2021-09-01  6:49         ` Andrew Rybchenko
  2021-09-16 12:35           ` Olivier Matz
  0 siblings, 1 reply; 33+ messages in thread
From: Andrew Rybchenko @ 2021-09-01  6:49 UTC (permalink / raw)
  To: Stephen Hemminger, dev

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>
> 


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
  2021-09-01  6:45       ` Andrew Rybchenko
@ 2021-09-01 17:14         ` Stephen Hemminger
  2021-09-16 12:14         ` Olivier Matz
  1 sibling, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-09-01 17:14 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: dev, konstantin.ananyev

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.


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
  2021-09-01  6:42       ` Andrew Rybchenko
@ 2021-09-16 11:55         ` Olivier Matz
  0 siblings, 0 replies; 33+ messages in thread
From: Olivier Matz @ 2021-09-16 11:55 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Stephen Hemminger, dev

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>


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable
  2021-09-01  6:43       ` Andrew Rybchenko
@ 2021-09-16 11:56         ` Olivier Matz
  0 siblings, 0 replies; 33+ messages in thread
From: Olivier Matz @ 2021-09-16 11:56 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Stephen Hemminger, dev

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>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
  2021-09-01  6:45       ` Andrew Rybchenko
  2021-09-01 17:14         ` Stephen Hemminger
@ 2021-09-16 12:14         ` Olivier Matz
  1 sibling, 0 replies; 33+ messages in thread
From: Olivier Matz @ 2021-09-16 12:14 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Stephen Hemminger, dev, konstantin.ananyev

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)
> > 
> 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API
  2021-09-01  6:49         ` Andrew Rybchenko
@ 2021-09-16 12:35           ` Olivier Matz
  0 siblings, 0 replies; 33+ messages in thread
From: Olivier Matz @ 2021-09-16 12:35 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: Stephen Hemminger, dev

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>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable
  2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
  2021-09-01  6:45       ` Andrew Rybchenko
@ 2021-10-02  9:34       ` David Marchand
  1 sibling, 0 replies; 33+ messages in thread
From: David Marchand @ 2021-10-02  9:34 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, Ananyev, Konstantin

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable
  2021-08-25 15:52 [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's Stephen Hemminger
                   ` (2 preceding siblings ...)
  2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
@ 2021-10-04 19:32 ` Stephen Hemminger
  2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 1/5] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
                     ` (5 more replies)
  3 siblings, 6 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 1/5] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
@ 2021-10-04 19:32   ` Stephen Hemminger
  2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 2/5] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Andrew Rybchenko, Olivier Matz

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 2/5] mbuf: make rte_mbuf_dynfield API's stable
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
  2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 1/5] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
@ 2021-10-04 19:32   ` Stephen Hemminger
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 3/5] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:32 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Andrew Rybchenko, Olivier Matz

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 3/5] mbuf: make rte_mbuf_check part of stable API
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
  2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 1/5] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
  2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 2/5] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
@ 2021-10-04 19:33   ` Stephen Hemminger
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:33 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Andrew Rybchenko, Olivier Matz

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
                     ` (2 preceding siblings ...)
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 3/5] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
@ 2021-10-04 19:33   ` Stephen Hemminger
  2021-10-05  7:27     ` Olivier Matz
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv " Stephen Hemminger
  2021-10-05  8:20   ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable David Marchand
  5 siblings, 1 reply; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:33 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, konstantin.ananyev, Andrew Rybchenko

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv as stable
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
                     ` (3 preceding siblings ...)
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
@ 2021-10-04 19:33   ` Stephen Hemminger
  2021-10-05  7:31     ` Olivier Matz
  2021-10-05  8:20   ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable David Marchand
  5 siblings, 1 reply; 33+ messages in thread
From: Stephen Hemminger @ 2021-10-04 19:33 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
@ 2021-10-05  7:27     ` Olivier Matz
  2021-10-05  8:17       ` Ananyev, Konstantin
  0 siblings, 1 reply; 33+ messages in thread
From: Olivier Matz @ 2021-10-05  7:27 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev, konstantin.ananyev, Andrew Rybchenko

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>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv as stable
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv " Stephen Hemminger
@ 2021-10-05  7:31     ` Olivier Matz
  0 siblings, 0 replies; 33+ messages in thread
From: Olivier Matz @ 2021-10-05  7:31 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dev

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/

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable
  2021-10-05  7:27     ` Olivier Matz
@ 2021-10-05  8:17       ` Ananyev, Konstantin
  0 siblings, 0 replies; 33+ messages in thread
From: Ananyev, Konstantin @ 2021-10-05  8:17 UTC (permalink / raw)
  To: Olivier Matz, Stephen Hemminger; +Cc: dev, Andrew Rybchenko



> 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>

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable
  2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
                     ` (4 preceding siblings ...)
  2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv " Stephen Hemminger
@ 2021-10-05  8:20   ` David Marchand
  5 siblings, 0 replies; 33+ messages in thread
From: David Marchand @ 2021-10-05  8:20 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, Olivier Matz, Andrew Rybchenko, Ananyev, Konstantin

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


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2021-10-05  8:21 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-25 15:52 [dpdk-dev] [PATCH 0/2] mbuf: unmark experimental API's Stephen Hemminger
2021-08-25 15:52 ` [dpdk-dev] [PATCH 1/2] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
2021-08-25 15:52 ` [dpdk-dev] [PATCH 2/2] mbuf: remove experimental from dynamic field support Stephen Hemminger
2021-08-25 22:09 ` [dpdk-dev] [PATCH v2 0/3] mbuf: experimental tag changes Stephen Hemminger
2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 1/3] mbuf: take experimental of mbuf copy and bulk free Stephen Hemminger
2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 2/3] mbuf: remove experimental from dynamic field support Stephen Hemminger
2021-08-25 22:09   ` [dpdk-dev] [PATCH v2 3/3] mbuf: mark function rte_mbuf_tx_offload with __rte_expermental Stephen Hemminger
2021-08-31 19:35   ` [dpdk-dev] [PATCH v3 0/4] mbuf: promote experimental API's to stable Stephen Hemminger
2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 1/4] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
2021-09-01  6:42       ` Andrew Rybchenko
2021-09-16 11:55         ` Olivier Matz
2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 2/4] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
2021-09-01  6:43       ` Andrew Rybchenko
2021-09-16 11:56         ` Olivier Matz
2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
2021-09-01  6:45       ` Andrew Rybchenko
2021-09-01 17:14         ` Stephen Hemminger
2021-09-16 12:14         ` Olivier Matz
2021-10-02  9:34       ` David Marchand
2021-08-31 19:35     ` [dpdk-dev] [PATCH v3 4/4] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
2021-09-01  6:46       ` Andrew Rybchenko
2021-09-01  6:49         ` Andrew Rybchenko
2021-09-16 12:35           ` Olivier Matz
2021-10-04 19:32 ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable Stephen Hemminger
2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 1/5] mbuf: make rte_pktmbuf_free_bulk and rte_pktmbuf_copy stable API's Stephen Hemminger
2021-10-04 19:32   ` [dpdk-dev] [PATCH v4 2/5] mbuf: make rte_mbuf_dynfield API's stable Stephen Hemminger
2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 3/5] mbuf: make rte_mbuf_check part of stable API Stephen Hemminger
2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 4/5] mbuf: make rte_mbuf_tx_offload as stable Stephen Hemminger
2021-10-05  7:27     ` Olivier Matz
2021-10-05  8:17       ` Ananyev, Konstantin
2021-10-04 19:33   ` [dpdk-dev] [PATCH v4 5/5] mbuf: mark rte_mbuf_to_priv " Stephen Hemminger
2021-10-05  7:31     ` Olivier Matz
2021-10-05  8:20   ` [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).