Skip to contentSkip to conversation

mbuf: unmark experimental API's

PATCH Superseded Stephen Hemminger 5 participants 33 messages Aug 25, 2021 – Oct 5, 2021

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw

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
index a555f216aeeb..7722b36ee44b 100644
@@ -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
index 29654330eb04..940b04096520 100644
@@ -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
#2 lore raw

PATCH 2/2 mbuf: remove experimental from dynamic field support

In reply to Stephen Hemminger

These 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
index 13f06d8ed25b..fc12687bef21 100644
@@ -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
index 940b04096520..b63e28a8cc4d 100644
@@ -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
#3 lore raw

v2 cover mbuf: experimental tag changes

In reply to 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(-)
Signature · 1 line
2.30.2
#4 lore raw

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
index a555f216aeeb..7722b36ee44b 100644
@@ -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
index 29654330eb04..940b04096520 100644
@@ -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
#5 lore raw

PATCH v2 2/3 mbuf: remove experimental from dynamic field support

In reply to Stephen Hemminger

These 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
index 13f06d8ed25b..fb03cf1dcf90 100644
@@ -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
index 940b04096520..b63e28a8cc4d 100644
@@ -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
#6 lore raw

PATCH v2 3/3 mbuf: mark function rte_mbuf_tx_offload with __rte_expermental

In reply to Stephen Hemminger

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")
---
 lib/mbuf/rte_mbuf.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +2 -1
index 7722b36ee44b..627790fe26e7 100644
@@ -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)
Signature · 1 line
2.30.2
#7 lore raw

v3 cover mbuf: promote experimental API's to stable

In reply to 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(-)
Signature · 1 line
2.30.2
#8 lore raw

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
index a555f216aeeb..7722b36ee44b 100644
@@ -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
index 29654330eb04..940b04096520 100644
@@ -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
#11 lore raw

PATCH v3 2/4 mbuf: make rte_mbuf_dynfield API's stable

In reply to Stephen Hemminger

These 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
index 13f06d8ed25b..fb03cf1dcf90 100644
@@ -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
index 940b04096520..b63e28a8cc4d 100644
@@ -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
#14 lore raw

PATCH v3 3/4 mbuf: make rte_mbuf_tx_offload as stable

In reply to 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")
---
 lib/mbuf/rte_mbuf.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +2 -1
index 7722b36ee44b..627790fe26e7 100644
@@ -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)
Signature · 1 line
2.30.2
Acked-by on v3 3/4
#15 lore raw

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

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
index 7722b36ee44b..627790fe26e7 100644

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 *tail
 	return 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_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)
#16 lore raw

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

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.

#17 lore raw

Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable

In reply to Andrew Rybchenko
Quoted 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")

I'm not sure that it is correct to have promotion with Fixes tag. It will require extra care on backporting to stable.

Quoted 12 lines
---
 lib/mbuf/rte_mbuf.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +0 -0
index 7722b36ee44b..627790fe26e7 100644
@@ -1773,7 +1773,7 @@ static inline int rte_pktmbuf_chain(struct rte_mbuf *head, struct rte_mbuf *tail
 	return 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_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)
#18 lore raw

Re: [dpdk-dev] [PATCH v3 3/4] mbuf: make rte_mbuf_tx_offload as stable

In reply to Stephen Hemminger
Quoted 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")
---
 lib/mbuf/rte_mbuf.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
lib/mbuf/rte_mbuf.h +1 -1
index 7722b36ee44b..627790fe26e7 100644
@@ -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.
  *

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

Signature · 1 line
David Marchand
#19 lore raw

PATCH v3 4/4 mbuf: make rte_mbuf_check part of stable API

In reply to Stephen Hemminger

This 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
index 627790fe26e7..c70330f09dd8 100644
@@ -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
index b63e28a8cc4d..2745c2b77cc9 100644
@@ -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
Acked-by
#22 lore raw

Re: [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.

Experimental warning should be removed from the description.

Apologies, there is no experimental warning in the function description.

Quoted 1 line
#23 lore raw

v4 cover mbuf: promote experimental API's to stable

In reply to 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(-)
Signature · 1 line
2.30.2
#24 lore raw

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
index a555f216aeeb..7722b36ee44b 100644
@@ -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
index 29654330eb04..940b04096520 100644
@@ -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
#25 lore raw

PATCH v4 2/5 mbuf: make rte_mbuf_dynfield API's stable

In reply to Stephen Hemminger

These 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
index 13f06d8ed25b..fb03cf1dcf90 100644
@@ -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
index 940b04096520..b63e28a8cc4d 100644
@@ -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
#26 lore raw

PATCH v4 3/5 mbuf: make rte_mbuf_check part of stable API

In reply to Stephen Hemminger

This 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
index 7722b36ee44b..ff6739ccc2a2 100644
@@ -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
index b63e28a8cc4d..2745c2b77cc9 100644
@@ -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
#27 lore raw

PATCH v4 4/5 mbuf: make rte_mbuf_tx_offload as stable

In reply to Stephen Hemminger

This 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
index ff6739ccc2a2..6913b6d6f3ff 100644
@@ -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.
Signature · 1 line
2.30.2
#30 lore raw

PATCH v4 5/5 mbuf: mark rte_mbuf_to_priv as stable

In reply to Stephen Hemminger

This 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
index 6913b6d6f3ff..aa8a048934ad 100644
@@ -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
#31 lore raw

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

---
 lib/mbuf/rte_mbuf.h | 1 -
 1 file changed, 1 deletion(-)
lib/mbuf/rte_mbuf.h +0 -1
index 6913b6d6f3ff..aa8a048934ad 100644
@@ -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]/

#32 lore raw

Re: [dpdk-dev] [PATCH v4 0/5] mbuf: promote experimental API's to stable

In reply to Stephen Hemminger
Quoted 13 lines · 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

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