All of lore.kernel.org
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section
@ 2020-05-11 10:00 pbhagavatula
  2020-05-11 10:00 ` [dpdk-dev] [PATCH 2/2] mempool/octeontx2: " pbhagavatula
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: pbhagavatula @ 2020-05-11 10:00 UTC (permalink / raw)
  To: jerinj, Nithin Dabilpuram, Anoob Joseph, Ray Kinsella, Neil Horman
  Cc: thomas, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/common/octeontx2/otx2_common.h           |  8 ++++++++
 drivers/common/octeontx2/otx2_dev.h              |  3 +++
 drivers/common/octeontx2/otx2_irq.h              |  3 +++
 drivers/common/octeontx2/otx2_mbox.h             |  6 ++++++
 drivers/common/octeontx2/otx2_sec_idev.h         |  6 ++++++
 .../octeontx2/rte_common_octeontx2_version.map   | 16 +++-------------
 6 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/drivers/common/octeontx2/otx2_common.h b/drivers/common/octeontx2/otx2_common.h
index e62cdea07..174702687 100644
--- a/drivers/common/octeontx2/otx2_common.h
+++ b/drivers/common/octeontx2/otx2_common.h
@@ -62,13 +62,21 @@ struct otx2_idev_cfg {
 	};
 };
 
+__rte_internal
 struct otx2_idev_cfg *otx2_intra_dev_get_cfg(void);
+__rte_internal
 void otx2_sso_pf_func_set(uint16_t sso_pf_func);
+__rte_internal
 uint16_t otx2_sso_pf_func_get(void);
+__rte_internal
 uint16_t otx2_npa_pf_func_get(void);
+__rte_internal
 struct otx2_npa_lf *otx2_npa_lf_obj_get(void);
+__rte_internal
 void otx2_npa_set_defaults(struct otx2_idev_cfg *idev);
+__rte_internal
 int otx2_npa_lf_active(void *dev);
+__rte_internal
 int otx2_npa_lf_obj_ref(void);
 
 /* Log */
diff --git a/drivers/common/octeontx2/otx2_dev.h b/drivers/common/octeontx2/otx2_dev.h
index 13b75e118..cd4fe517d 100644
--- a/drivers/common/octeontx2/otx2_dev.h
+++ b/drivers/common/octeontx2/otx2_dev.h
@@ -94,6 +94,7 @@ struct otx2_dev {
 	OTX2_DEV;
 };
 
+__rte_internal
 int otx2_dev_priv_init(struct rte_pci_device *pci_dev, void *otx2_dev);
 
 /* Common dev init and fini routines */
@@ -116,7 +117,9 @@ otx2_dev_init(struct rte_pci_device *pci_dev, void *otx2_dev)
 	return otx2_dev_priv_init(pci_dev, otx2_dev);
 }
 
+__rte_internal
 void otx2_dev_fini(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_dev_active_vfs(void *otx2_dev);
 
 #define RVU_PFVF_PF_SHIFT	10
diff --git a/drivers/common/octeontx2/otx2_irq.h b/drivers/common/octeontx2/otx2_irq.h
index 9d326276e..0683cf554 100644
--- a/drivers/common/octeontx2/otx2_irq.h
+++ b/drivers/common/octeontx2/otx2_irq.h
@@ -16,10 +16,13 @@ typedef struct {
 	uint64_t bits[MAX_VFPF_DWORD_BITS];
 } otx2_intr_t;
 
+__rte_internal
 int otx2_register_irq(struct rte_intr_handle *intr_handle,
 		      rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 void otx2_unregister_irq(struct rte_intr_handle *intr_handle,
 			 rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 int otx2_disable_irqs(struct rte_intr_handle *intr_handle);
 
 #endif /* _OTX2_IRQ_H_ */
diff --git a/drivers/common/octeontx2/otx2_mbox.h b/drivers/common/octeontx2/otx2_mbox.h
index 5351deaf2..8af8ada05 100644
--- a/drivers/common/octeontx2/otx2_mbox.h
+++ b/drivers/common/octeontx2/otx2_mbox.h
@@ -1582,19 +1582,25 @@ struct tim_enable_rsp {
 	uint32_t __otx2_io currentbucket;
 };
 
+__rte_internal
 const char *otx2_mbox_id2name(uint16_t id);
 int otx2_mbox_id2size(uint16_t id);
 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_init(struct otx2_mbox *mbox, uintptr_t hwbase, uintptr_t reg_base,
 		   int direction, int ndevsi, uint64_t intr_offset);
 void otx2_mbox_fini(struct otx2_mbox *mbox);
+__rte_internal
 void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
+__rte_internal
 int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_wait_for_rsp_tmo(struct otx2_mbox *mbox, int devid, uint32_t tmo);
+__rte_internal
 int otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, void **msg);
+__rte_internal
 int otx2_mbox_get_rsp_tmo(struct otx2_mbox *mbox, int devid, void **msg,
 			  uint32_t tmo);
 int otx2_mbox_get_availmem(struct otx2_mbox *mbox, int devid);
+__rte_internal
 struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
 					    int size, int size_rsp);
 
diff --git a/drivers/common/octeontx2/otx2_sec_idev.h b/drivers/common/octeontx2/otx2_sec_idev.h
index c681f5094..89cdaf66a 100644
--- a/drivers/common/octeontx2/otx2_sec_idev.h
+++ b/drivers/common/octeontx2/otx2_sec_idev.h
@@ -22,16 +22,22 @@ struct otx2_sec_idev_cfg {
 	rte_spinlock_t tx_cpt_lock;
 };
 
+__rte_internal
 uint8_t otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev);
 
+__rte_internal
 int otx2_sec_idev_cfg_init(int port_id);
 
+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_add(uint16_t port_id, struct otx2_cpt_qp *qp);
 
+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_remove(struct otx2_cpt_qp *qp);
 
+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_put(struct otx2_cpt_qp *qp);
 
+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_get(uint16_t port_id, struct otx2_cpt_qp **qp);
 
 #endif /* _OTX2_SEC_IDEV_H_ */
diff --git a/drivers/common/octeontx2/rte_common_octeontx2_version.map b/drivers/common/octeontx2/rte_common_octeontx2_version.map
index 01279c339..94af2ed69 100644
--- a/drivers/common/octeontx2/rte_common_octeontx2_version.map
+++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map
@@ -1,4 +1,4 @@
-DPDK_20.0 {
+INTERNAL {
 	global:
 
 	otx2_dev_active_vfs;
@@ -30,23 +30,13 @@ DPDK_20.0 {
 	otx2_sso_pf_func_get;
 	otx2_sso_pf_func_set;
 	otx2_unregister_irq;
-
-	local: *;
-};
-
-DPDK_21 {
-	global:
-
 	otx2_eth_dev_is_sec_capable;
 	otx2_sec_idev_cfg_init;
 	otx2_sec_idev_tx_cpt_qp_add;
 	otx2_sec_idev_tx_cpt_qp_remove;
 	otx2_sec_idev_tx_cpt_qp_get;
 	otx2_sec_idev_tx_cpt_qp_put;
-} DPDK_20.0;
-
-EXPERIMENTAL {
-	global:
-
 	otx2_logtype_ep;
+
+	local: *;
 };
-- 
2.17.1


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

* [dpdk-dev] [PATCH 2/2] mempool/octeontx2: move internal symbols to INTERNAL section
  2020-05-11 10:00 [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section pbhagavatula
@ 2020-05-11 10:00 ` pbhagavatula
  2020-05-11 14:45 ` [dpdk-dev] [PATCH 1/2] common/octeontx2: " Thomas Monjalon
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
  2 siblings, 0 replies; 13+ messages in thread
From: pbhagavatula @ 2020-05-11 10:00 UTC (permalink / raw)
  To: jerinj, Nithin Dabilpuram, Ray Kinsella, Neil Horman
  Cc: thomas, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/mempool/octeontx2/otx2_mempool.h                    | 2 ++
 drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mempool/octeontx2/otx2_mempool.h b/drivers/mempool/octeontx2/otx2_mempool.h
index adcc0db24..8aa548248 100644
--- a/drivers/mempool/octeontx2/otx2_mempool.h
+++ b/drivers/mempool/octeontx2/otx2_mempool.h
@@ -206,7 +206,9 @@ npa_lf_aura_op_range_set(uint64_t aura_handle, uint64_t start_iova,
 }
 
 /* NPA LF */
+__rte_internal
 int otx2_npa_lf_init(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_npa_lf_fini(void);
 
 /* IRQ */
diff --git a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
index d4f81aed8..e6887ceb8 100644
--- a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
+++ b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
@@ -1,4 +1,4 @@
-DPDK_20.0 {
+INTERNAL {
 	global:
 
 	otx2_npa_lf_fini;
-- 
2.17.1


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

* Re: [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-11 10:00 [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section pbhagavatula
  2020-05-11 10:00 ` [dpdk-dev] [PATCH 2/2] mempool/octeontx2: " pbhagavatula
@ 2020-05-11 14:45 ` Thomas Monjalon
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
  2 siblings, 0 replies; 13+ messages in thread
From: Thomas Monjalon @ 2020-05-11 14:45 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: jerinj, Nithin Dabilpuram, Anoob Joseph, Ray Kinsella,
	Neil Horman, dev, david.marchand

11/05/2020 12:00, pbhagavatula@marvell.com:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Move the internal symbols to INTERNAL sections so that any
> change in them is not reported as ABI breakage.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  drivers/common/octeontx2/otx2_common.h           |  8 ++++++++
>  drivers/common/octeontx2/otx2_dev.h              |  3 +++
>  drivers/common/octeontx2/otx2_irq.h              |  3 +++
>  drivers/common/octeontx2/otx2_mbox.h             |  6 ++++++
>  drivers/common/octeontx2/otx2_sec_idev.h         |  6 ++++++
>  .../octeontx2/rte_common_octeontx2_version.map   | 16 +++-------------
>  6 files changed, 29 insertions(+), 13 deletions(-)

You probably need to add an exception in libabigail.ignore file
for symbols moved from stable to internal.


> --- a/drivers/common/octeontx2/rte_common_octeontx2_version.map
> +++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map
> @@ -1,4 +1,4 @@
> -DPDK_20.0 {
> +INTERNAL {
>  	global:
>  
>  	otx2_dev_active_vfs;
> @@ -30,23 +30,13 @@ DPDK_20.0 {
>  	otx2_sso_pf_func_get;
>  	otx2_sso_pf_func_set;
>  	otx2_unregister_irq;
> -
> -	local: *;
> -};
> -
> -DPDK_21 {
> -	global:
> -
>  	otx2_eth_dev_is_sec_capable;
>  	otx2_sec_idev_cfg_init;
>  	otx2_sec_idev_tx_cpt_qp_add;
>  	otx2_sec_idev_tx_cpt_qp_remove;
>  	otx2_sec_idev_tx_cpt_qp_get;
>  	otx2_sec_idev_tx_cpt_qp_put;
> -} DPDK_20.0;
> -
> -EXPERIMENTAL {
> -	global:
> -
>  	otx2_logtype_ep;
> +
> +	local: *;
>  };

I think you should sort symbols in alphabetical way.




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

* [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-11 10:00 [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section pbhagavatula
  2020-05-11 10:00 ` [dpdk-dev] [PATCH 2/2] mempool/octeontx2: " pbhagavatula
  2020-05-11 14:45 ` [dpdk-dev] [PATCH 1/2] common/octeontx2: " Thomas Monjalon
@ 2020-05-13  1:04 ` pbhagavatula
  2020-05-13  1:04   ` [dpdk-dev] [PATCH v2 2/2] mempool/octeontx2: " pbhagavatula
                     ` (3 more replies)
  2 siblings, 4 replies; 13+ messages in thread
From: pbhagavatula @ 2020-05-13  1:04 UTC (permalink / raw)
  To: jerinj, aostruszka, Ray Kinsella, Neil Horman, Nithin Dabilpuram,
	Anoob Joseph
  Cc: thomas, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v2 Changes:
 - Sort version map alphabetically
 - Add libabigail ignore tag for OCTEONTX2

 devtools/libabigail.abignore                  |  4 +++
 drivers/common/octeontx2/otx2_common.h        |  8 ++++++
 drivers/common/octeontx2/otx2_dev.h           |  3 +++
 drivers/common/octeontx2/otx2_irq.h           |  3 +++
 drivers/common/octeontx2/otx2_mbox.h          |  6 +++++
 drivers/common/octeontx2/otx2_sec_idev.h      |  6 +++++
 .../rte_common_octeontx2_version.map          | 26 ++++++-------------
 7 files changed, 38 insertions(+), 18 deletions(-)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index c9ee73cb3..dfe346db4 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -48,3 +48,7 @@
         changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
 [suppress_variable]
         name = rte_crypto_aead_algorithm_strings
+
+; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
+[suppress_file]
+	soname_regexp = librte_common_octeontx2.*
diff --git a/drivers/common/octeontx2/otx2_common.h b/drivers/common/octeontx2/otx2_common.h
index e62cdea07..174702687 100644
--- a/drivers/common/octeontx2/otx2_common.h
+++ b/drivers/common/octeontx2/otx2_common.h
@@ -62,13 +62,21 @@ struct otx2_idev_cfg {
 	};
 };

+__rte_internal
 struct otx2_idev_cfg *otx2_intra_dev_get_cfg(void);
+__rte_internal
 void otx2_sso_pf_func_set(uint16_t sso_pf_func);
+__rte_internal
 uint16_t otx2_sso_pf_func_get(void);
+__rte_internal
 uint16_t otx2_npa_pf_func_get(void);
+__rte_internal
 struct otx2_npa_lf *otx2_npa_lf_obj_get(void);
+__rte_internal
 void otx2_npa_set_defaults(struct otx2_idev_cfg *idev);
+__rte_internal
 int otx2_npa_lf_active(void *dev);
+__rte_internal
 int otx2_npa_lf_obj_ref(void);

 /* Log */
diff --git a/drivers/common/octeontx2/otx2_dev.h b/drivers/common/octeontx2/otx2_dev.h
index 13b75e118..cd4fe517d 100644
--- a/drivers/common/octeontx2/otx2_dev.h
+++ b/drivers/common/octeontx2/otx2_dev.h
@@ -94,6 +94,7 @@ struct otx2_dev {
 	OTX2_DEV;
 };

+__rte_internal
 int otx2_dev_priv_init(struct rte_pci_device *pci_dev, void *otx2_dev);

 /* Common dev init and fini routines */
@@ -116,7 +117,9 @@ otx2_dev_init(struct rte_pci_device *pci_dev, void *otx2_dev)
 	return otx2_dev_priv_init(pci_dev, otx2_dev);
 }

+__rte_internal
 void otx2_dev_fini(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_dev_active_vfs(void *otx2_dev);

 #define RVU_PFVF_PF_SHIFT	10
diff --git a/drivers/common/octeontx2/otx2_irq.h b/drivers/common/octeontx2/otx2_irq.h
index 9d326276e..0683cf554 100644
--- a/drivers/common/octeontx2/otx2_irq.h
+++ b/drivers/common/octeontx2/otx2_irq.h
@@ -16,10 +16,13 @@ typedef struct {
 	uint64_t bits[MAX_VFPF_DWORD_BITS];
 } otx2_intr_t;

+__rte_internal
 int otx2_register_irq(struct rte_intr_handle *intr_handle,
 		      rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 void otx2_unregister_irq(struct rte_intr_handle *intr_handle,
 			 rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 int otx2_disable_irqs(struct rte_intr_handle *intr_handle);

 #endif /* _OTX2_IRQ_H_ */
diff --git a/drivers/common/octeontx2/otx2_mbox.h b/drivers/common/octeontx2/otx2_mbox.h
index 80778a0be..7fa4276e9 100644
--- a/drivers/common/octeontx2/otx2_mbox.h
+++ b/drivers/common/octeontx2/otx2_mbox.h
@@ -1617,19 +1617,25 @@ struct tim_enable_rsp {
 	uint32_t __otx2_io currentbucket;
 };

+__rte_internal
 const char *otx2_mbox_id2name(uint16_t id);
 int otx2_mbox_id2size(uint16_t id);
 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_init(struct otx2_mbox *mbox, uintptr_t hwbase, uintptr_t reg_base,
 		   int direction, int ndevsi, uint64_t intr_offset);
 void otx2_mbox_fini(struct otx2_mbox *mbox);
+__rte_internal
 void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
+__rte_internal
 int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_wait_for_rsp_tmo(struct otx2_mbox *mbox, int devid, uint32_t tmo);
+__rte_internal
 int otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, void **msg);
+__rte_internal
 int otx2_mbox_get_rsp_tmo(struct otx2_mbox *mbox, int devid, void **msg,
 			  uint32_t tmo);
 int otx2_mbox_get_availmem(struct otx2_mbox *mbox, int devid);
+__rte_internal
 struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
 					    int size, int size_rsp);

diff --git a/drivers/common/octeontx2/otx2_sec_idev.h b/drivers/common/octeontx2/otx2_sec_idev.h
index c681f5094..89cdaf66a 100644
--- a/drivers/common/octeontx2/otx2_sec_idev.h
+++ b/drivers/common/octeontx2/otx2_sec_idev.h
@@ -22,16 +22,22 @@ struct otx2_sec_idev_cfg {
 	rte_spinlock_t tx_cpt_lock;
 };

+__rte_internal
 uint8_t otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev);

+__rte_internal
 int otx2_sec_idev_cfg_init(int port_id);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_add(uint16_t port_id, struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_remove(struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_put(struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_get(uint16_t port_id, struct otx2_cpt_qp **qp);

 #endif /* _OTX2_SEC_IDEV_H_ */
diff --git a/drivers/common/octeontx2/rte_common_octeontx2_version.map b/drivers/common/octeontx2/rte_common_octeontx2_version.map
index 01279c339..7621a59ad 100644
--- a/drivers/common/octeontx2/rte_common_octeontx2_version.map
+++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map
@@ -1,13 +1,15 @@
-DPDK_20.0 {
+INTERNAL {
 	global:

 	otx2_dev_active_vfs;
 	otx2_dev_fini;
 	otx2_dev_priv_init;
 	otx2_disable_irqs;
+	otx2_eth_dev_is_sec_capable;
 	otx2_intra_dev_get_cfg;
 	otx2_logtype_base;
 	otx2_logtype_dpi;
+	otx2_logtype_ep;
 	otx2_logtype_mbox;
 	otx2_logtype_nix;
 	otx2_logtype_npa;
@@ -27,26 +29,14 @@ DPDK_20.0 {
 	otx2_npa_pf_func_get;
 	otx2_npa_set_defaults;
 	otx2_register_irq;
-	otx2_sso_pf_func_get;
-	otx2_sso_pf_func_set;
-	otx2_unregister_irq;
-
-	local: *;
-};
-
-DPDK_21 {
-	global:
-
-	otx2_eth_dev_is_sec_capable;
 	otx2_sec_idev_cfg_init;
 	otx2_sec_idev_tx_cpt_qp_add;
-	otx2_sec_idev_tx_cpt_qp_remove;
 	otx2_sec_idev_tx_cpt_qp_get;
 	otx2_sec_idev_tx_cpt_qp_put;
-} DPDK_20.0;
-
-EXPERIMENTAL {
-	global:
+	otx2_sec_idev_tx_cpt_qp_remove;
+	otx2_sso_pf_func_get;
+	otx2_sso_pf_func_set;
+	otx2_unregister_irq;

-	otx2_logtype_ep;
+	local: *;
 };
--
2.17.1


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

* [dpdk-dev] [PATCH v2 2/2] mempool/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
@ 2020-05-13  1:04   ` pbhagavatula
  2020-05-13  8:58   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " David Marchand
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 13+ messages in thread
From: pbhagavatula @ 2020-05-13  1:04 UTC (permalink / raw)
  To: jerinj, aostruszka, Ray Kinsella, Neil Horman, Nithin Dabilpuram
  Cc: thomas, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 devtools/libabigail.abignore                                | 4 +++-
 drivers/mempool/octeontx2/otx2_mempool.h                    | 2 ++
 drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index dfe346db4..4a5e0cb01 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -49,6 +49,8 @@
 [suppress_variable]
         name = rte_crypto_aead_algorithm_strings
 
-; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
+; Ignore moving OCTEONTX2 stable functions to INTERNAL tag
 [suppress_file]
 	soname_regexp = librte_common_octeontx2.*
+[suppress_file]
+	soname_regexp = librte_mempool_octeontx2.*
diff --git a/drivers/mempool/octeontx2/otx2_mempool.h b/drivers/mempool/octeontx2/otx2_mempool.h
index adcc0db24..8aa548248 100644
--- a/drivers/mempool/octeontx2/otx2_mempool.h
+++ b/drivers/mempool/octeontx2/otx2_mempool.h
@@ -206,7 +206,9 @@ npa_lf_aura_op_range_set(uint64_t aura_handle, uint64_t start_iova,
 }
 
 /* NPA LF */
+__rte_internal
 int otx2_npa_lf_init(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_npa_lf_fini(void);
 
 /* IRQ */
diff --git a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
index d4f81aed8..e6887ceb8 100644
--- a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
+++ b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
@@ -1,4 +1,4 @@
-DPDK_20.0 {
+INTERNAL {
 	global:
 
 	otx2_npa_lf_fini;
-- 
2.17.1


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

* Re: [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
  2020-05-13  1:04   ` [dpdk-dev] [PATCH v2 2/2] mempool/octeontx2: " pbhagavatula
@ 2020-05-13  8:58   ` David Marchand
  2020-05-13  9:11     ` Ray Kinsella
  2020-05-13  9:55   ` [dpdk-dev] [PATCH v3 " pbhagavatula
  2020-05-14  7:02   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " Ray Kinsella
  3 siblings, 1 reply; 13+ messages in thread
From: David Marchand @ 2020-05-13  8:58 UTC (permalink / raw)
  To: Pavan Nikhilesh, Ray Kinsella
  Cc: Jerin Jacob Kollanukkaran, Andrzej Ostruszka, Neil Horman,
	Nithin Dabilpuram, Anoob Joseph, Thomas Monjalon, dev,
	Dodji Seketeli

On Wed, May 13, 2020 at 3:05 AM <pbhagavatula@marvell.com> wrote:
> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> index c9ee73cb3..dfe346db4 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -48,3 +48,7 @@
>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
>  [suppress_variable]
>          name = rte_crypto_aead_algorithm_strings
> +
> +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
> +[suppress_file]
> +       soname_regexp = librte_common_octeontx2.*

This syntax will work with libabigail (current master and 1.7), but
not with older versions like the 1.6 we use in Travis:
https://travis-ci.com/github/david-marchand/dpdk/jobs/333080901#L2387

mlx common drivers were handled with the file_name_regexp syntax.
https://git.dpdk.org/next/dpdk-next-net-mlx/diff/devtools/libabigail.abignore?id=196ca2dfc05df7685b86aba8cdd657b4aa401ffa


Rather than bump to 1.7 in Travis, my preference goes to using a
single syntax for those exceptions.

Ray, opinion?


-- 
David Marchand


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

* Re: [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  8:58   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " David Marchand
@ 2020-05-13  9:11     ` Ray Kinsella
  2020-05-13  9:51       ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
  0 siblings, 1 reply; 13+ messages in thread
From: Ray Kinsella @ 2020-05-13  9:11 UTC (permalink / raw)
  To: David Marchand, Pavan Nikhilesh
  Cc: Jerin Jacob Kollanukkaran, Andrzej Ostruszka, Neil Horman,
	Nithin Dabilpuram, Anoob Joseph, Thomas Monjalon, dev,
	Dodji Seketeli



On 13/05/2020 09:58, David Marchand wrote:
> On Wed, May 13, 2020 at 3:05 AM <pbhagavatula@marvell.com> wrote:
>> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
>> index c9ee73cb3..dfe346db4 100644
>> --- a/devtools/libabigail.abignore
>> +++ b/devtools/libabigail.abignore
>> @@ -48,3 +48,7 @@
>>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
>>  [suppress_variable]
>>          name = rte_crypto_aead_algorithm_strings
>> +
>> +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
>> +[suppress_file]
>> +       soname_regexp = librte_common_octeontx2.*
> 
> This syntax will work with libabigail (current master and 1.7), but
> not with older versions like the 1.6 we use in Travis:
> https://travis-ci.com/github/david-marchand/dpdk/jobs/333080901#L2387
> 
> mlx common drivers were handled with the file_name_regexp syntax.
> https://git.dpdk.org/next/dpdk-next-net-mlx/diff/devtools/libabigail.abignore?id=196ca2dfc05df7685b86aba8cdd657b4aa401ffa
> 
> 
> Rather than bump to 1.7 in Travis, my preference goes to using a
> single syntax for those exceptions.
> 
> Ray, opinion?
> 

We need to aim for lowest common denominator support.
Ubuntu 20.04 shipped with 1.6
Ubuntu 20.04 shipped with 1.2 (however I suspect we will soon be depreciating this).

CentOS 8/7 EPEL both ship with 1.7

Supporting 1.6 is a reasonable choice. 

Ray K

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

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  9:11     ` Ray Kinsella
@ 2020-05-13  9:51       ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 13+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2020-05-13  9:51 UTC (permalink / raw)
  To: Ray Kinsella, David Marchand
  Cc: Jerin Jacob Kollanukkaran, Andrzej Ostruszka [C],
	Neil Horman, Nithin Kumar Dabilpuram, Anoob Joseph,
	Thomas Monjalon, dev, Dodji Seketeli

>On 13/05/2020 09:58, David Marchand wrote:
>> On Wed, May 13, 2020 at 3:05 AM <pbhagavatula@marvell.com>
>wrote:
>>> diff --git a/devtools/libabigail.abignore
>b/devtools/libabigail.abignore
>>> index c9ee73cb3..dfe346db4 100644
>>> --- a/devtools/libabigail.abignore
>>> +++ b/devtools/libabigail.abignore
>>> @@ -48,3 +48,7 @@
>>>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
>>>  [suppress_variable]
>>>          name = rte_crypto_aead_algorithm_strings
>>> +
>>> +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL
>tag
>>> +[suppress_file]
>>> +       soname_regexp = librte_common_octeontx2.*
>>
>> This syntax will work with libabigail (current master and 1.7), but
>> not with older versions like the 1.6 we use in Travis:
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__travis-
>2Dci.com_github_david-2Dmarchand_dpdk_jobs_333080901-
>23L2387&d=DwICaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=E3SgYMjtKCMV
>sB-fmvgGV3o-
>g_fjLhk5Pupi9ijohpc&m=Bl3yyReQ1bAmiy1qgiGOuuvmirDgofnVWVRfs
>8oQVTU&s=vRaQQ-
>sQmxRD4NkHjWkdNPN32w9wZcGPikKCwyPwugE&e=
>>
>> mlx common drivers were handled with the file_name_regexp
>syntax.
>> https://urldefense.proofpoint.com/v2/url?u=https-
>3A__git.dpdk.org_next_dpdk-2Dnext-2Dnet-
>2Dmlx_diff_devtools_libabigail.abignore-3Fid-
>3D196ca2dfc05df7685b86aba8cdd657b4aa401ffa&d=DwICaQ&c=nKjWec
>2b6R0mOyPaz7xtfQ&r=E3SgYMjtKCMVsB-fmvgGV3o-
>g_fjLhk5Pupi9ijohpc&m=Bl3yyReQ1bAmiy1qgiGOuuvmirDgofnVWVRfs
>8oQVTU&s=LGDNXG_tOMpX42G1jkyVVVN58qL7AIAd_QrdfgKTjNk&e=
>>
>>
>> Rather than bump to 1.7 in Travis, my preference goes to using a
>> single syntax for those exceptions.
>>
>> Ray, opinion?
>>
>
>We need to aim for lowest common denominator support.
>Ubuntu 20.04 shipped with 1.6
>Ubuntu 20.04 shipped with 1.2 (however I suspect we will soon be
>depreciating this).
>
>CentOS 8/7 EPEL both ship with 1.7
>
>Supporting 1.6 is a reasonable choice.

Sure, I will send a v3.

Thanks,
Pavan.

>
>Ray K

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

* [dpdk-dev] [PATCH v3 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
  2020-05-13  1:04   ` [dpdk-dev] [PATCH v2 2/2] mempool/octeontx2: " pbhagavatula
  2020-05-13  8:58   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " David Marchand
@ 2020-05-13  9:55   ` pbhagavatula
  2020-05-13  9:55     ` [dpdk-dev] [PATCH v3 2/2] mempool/octeontx2: " pbhagavatula
  2020-05-14  7:02   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " Ray Kinsella
  3 siblings, 1 reply; 13+ messages in thread
From: pbhagavatula @ 2020-05-13  9:55 UTC (permalink / raw)
  To: jerinj, aostruszka, thomas, david.marchand, mdr, Neil Horman,
	Nithin Dabilpuram, Anoob Joseph
  Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v3 Changes:
  - Use `file_name_regexp` insted of `soname_regexp` in supress list for
  backward compatibility of libabigail.

 v2 Changes:
  - Sort version map alphabetically
  - Add libabigail ignore tag for OCTEONTX2

 devtools/libabigail.abignore                  |  4 +++
 drivers/common/octeontx2/otx2_common.h        |  8 ++++++
 drivers/common/octeontx2/otx2_dev.h           |  3 +++
 drivers/common/octeontx2/otx2_irq.h           |  3 +++
 drivers/common/octeontx2/otx2_mbox.h          |  6 +++++
 drivers/common/octeontx2/otx2_sec_idev.h      |  6 +++++
 .../rte_common_octeontx2_version.map          | 26 ++++++-------------
 7 files changed, 38 insertions(+), 18 deletions(-)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index c9ee73cb3..39a76fe9a 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -48,3 +48,7 @@
         changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
 [suppress_variable]
         name = rte_crypto_aead_algorithm_strings
+
+; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
+[suppress_file]
+	file_name_regexp = ^librte_common_octeontx2\.
diff --git a/drivers/common/octeontx2/otx2_common.h b/drivers/common/octeontx2/otx2_common.h
index e62cdea07..174702687 100644
--- a/drivers/common/octeontx2/otx2_common.h
+++ b/drivers/common/octeontx2/otx2_common.h
@@ -62,13 +62,21 @@ struct otx2_idev_cfg {
 	};
 };

+__rte_internal
 struct otx2_idev_cfg *otx2_intra_dev_get_cfg(void);
+__rte_internal
 void otx2_sso_pf_func_set(uint16_t sso_pf_func);
+__rte_internal
 uint16_t otx2_sso_pf_func_get(void);
+__rte_internal
 uint16_t otx2_npa_pf_func_get(void);
+__rte_internal
 struct otx2_npa_lf *otx2_npa_lf_obj_get(void);
+__rte_internal
 void otx2_npa_set_defaults(struct otx2_idev_cfg *idev);
+__rte_internal
 int otx2_npa_lf_active(void *dev);
+__rte_internal
 int otx2_npa_lf_obj_ref(void);

 /* Log */
diff --git a/drivers/common/octeontx2/otx2_dev.h b/drivers/common/octeontx2/otx2_dev.h
index 13b75e118..cd4fe517d 100644
--- a/drivers/common/octeontx2/otx2_dev.h
+++ b/drivers/common/octeontx2/otx2_dev.h
@@ -94,6 +94,7 @@ struct otx2_dev {
 	OTX2_DEV;
 };

+__rte_internal
 int otx2_dev_priv_init(struct rte_pci_device *pci_dev, void *otx2_dev);

 /* Common dev init and fini routines */
@@ -116,7 +117,9 @@ otx2_dev_init(struct rte_pci_device *pci_dev, void *otx2_dev)
 	return otx2_dev_priv_init(pci_dev, otx2_dev);
 }

+__rte_internal
 void otx2_dev_fini(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_dev_active_vfs(void *otx2_dev);

 #define RVU_PFVF_PF_SHIFT	10
diff --git a/drivers/common/octeontx2/otx2_irq.h b/drivers/common/octeontx2/otx2_irq.h
index 9d326276e..0683cf554 100644
--- a/drivers/common/octeontx2/otx2_irq.h
+++ b/drivers/common/octeontx2/otx2_irq.h
@@ -16,10 +16,13 @@ typedef struct {
 	uint64_t bits[MAX_VFPF_DWORD_BITS];
 } otx2_intr_t;

+__rte_internal
 int otx2_register_irq(struct rte_intr_handle *intr_handle,
 		      rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 void otx2_unregister_irq(struct rte_intr_handle *intr_handle,
 			 rte_intr_callback_fn cb, void *data, unsigned int vec);
+__rte_internal
 int otx2_disable_irqs(struct rte_intr_handle *intr_handle);

 #endif /* _OTX2_IRQ_H_ */
diff --git a/drivers/common/octeontx2/otx2_mbox.h b/drivers/common/octeontx2/otx2_mbox.h
index 80778a0be..7fa4276e9 100644
--- a/drivers/common/octeontx2/otx2_mbox.h
+++ b/drivers/common/octeontx2/otx2_mbox.h
@@ -1617,19 +1617,25 @@ struct tim_enable_rsp {
 	uint32_t __otx2_io currentbucket;
 };

+__rte_internal
 const char *otx2_mbox_id2name(uint16_t id);
 int otx2_mbox_id2size(uint16_t id);
 void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_init(struct otx2_mbox *mbox, uintptr_t hwbase, uintptr_t reg_base,
 		   int direction, int ndevsi, uint64_t intr_offset);
 void otx2_mbox_fini(struct otx2_mbox *mbox);
+__rte_internal
 void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
+__rte_internal
 int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
 int otx2_mbox_wait_for_rsp_tmo(struct otx2_mbox *mbox, int devid, uint32_t tmo);
+__rte_internal
 int otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, void **msg);
+__rte_internal
 int otx2_mbox_get_rsp_tmo(struct otx2_mbox *mbox, int devid, void **msg,
 			  uint32_t tmo);
 int otx2_mbox_get_availmem(struct otx2_mbox *mbox, int devid);
+__rte_internal
 struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
 					    int size, int size_rsp);

diff --git a/drivers/common/octeontx2/otx2_sec_idev.h b/drivers/common/octeontx2/otx2_sec_idev.h
index c681f5094..89cdaf66a 100644
--- a/drivers/common/octeontx2/otx2_sec_idev.h
+++ b/drivers/common/octeontx2/otx2_sec_idev.h
@@ -22,16 +22,22 @@ struct otx2_sec_idev_cfg {
 	rte_spinlock_t tx_cpt_lock;
 };

+__rte_internal
 uint8_t otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev);

+__rte_internal
 int otx2_sec_idev_cfg_init(int port_id);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_add(uint16_t port_id, struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_remove(struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_put(struct otx2_cpt_qp *qp);

+__rte_internal
 int otx2_sec_idev_tx_cpt_qp_get(uint16_t port_id, struct otx2_cpt_qp **qp);

 #endif /* _OTX2_SEC_IDEV_H_ */
diff --git a/drivers/common/octeontx2/rte_common_octeontx2_version.map b/drivers/common/octeontx2/rte_common_octeontx2_version.map
index 01279c339..7621a59ad 100644
--- a/drivers/common/octeontx2/rte_common_octeontx2_version.map
+++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map
@@ -1,13 +1,15 @@
-DPDK_20.0 {
+INTERNAL {
 	global:

 	otx2_dev_active_vfs;
 	otx2_dev_fini;
 	otx2_dev_priv_init;
 	otx2_disable_irqs;
+	otx2_eth_dev_is_sec_capable;
 	otx2_intra_dev_get_cfg;
 	otx2_logtype_base;
 	otx2_logtype_dpi;
+	otx2_logtype_ep;
 	otx2_logtype_mbox;
 	otx2_logtype_nix;
 	otx2_logtype_npa;
@@ -27,26 +29,14 @@ DPDK_20.0 {
 	otx2_npa_pf_func_get;
 	otx2_npa_set_defaults;
 	otx2_register_irq;
-	otx2_sso_pf_func_get;
-	otx2_sso_pf_func_set;
-	otx2_unregister_irq;
-
-	local: *;
-};
-
-DPDK_21 {
-	global:
-
-	otx2_eth_dev_is_sec_capable;
 	otx2_sec_idev_cfg_init;
 	otx2_sec_idev_tx_cpt_qp_add;
-	otx2_sec_idev_tx_cpt_qp_remove;
 	otx2_sec_idev_tx_cpt_qp_get;
 	otx2_sec_idev_tx_cpt_qp_put;
-} DPDK_20.0;
-
-EXPERIMENTAL {
-	global:
+	otx2_sec_idev_tx_cpt_qp_remove;
+	otx2_sso_pf_func_get;
+	otx2_sso_pf_func_set;
+	otx2_unregister_irq;

-	otx2_logtype_ep;
+	local: *;
 };
--
2.17.1


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

* [dpdk-dev] [PATCH v3 2/2] mempool/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  9:55   ` [dpdk-dev] [PATCH v3 " pbhagavatula
@ 2020-05-13  9:55     ` pbhagavatula
  0 siblings, 0 replies; 13+ messages in thread
From: pbhagavatula @ 2020-05-13  9:55 UTC (permalink / raw)
  To: jerinj, aostruszka, thomas, david.marchand, mdr, Neil Horman,
	Nithin Dabilpuram
  Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Move the internal symbols to INTERNAL sections so that any
change in them is not reported as ABI breakage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 devtools/libabigail.abignore                                | 4 +++-
 drivers/mempool/octeontx2/otx2_mempool.h                    | 2 ++
 drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
index 39a76fe9a..e2ca73db2 100644
--- a/devtools/libabigail.abignore
+++ b/devtools/libabigail.abignore
@@ -49,6 +49,8 @@
 [suppress_variable]
         name = rte_crypto_aead_algorithm_strings
 
-; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
+; Ignore moving OCTEONTX2 stable functions to INTERNAL tag
 [suppress_file]
 	file_name_regexp = ^librte_common_octeontx2\.
+[suppress_file]
+	file_name_regexp = ^librte_mempool_octeontx2\.
diff --git a/drivers/mempool/octeontx2/otx2_mempool.h b/drivers/mempool/octeontx2/otx2_mempool.h
index adcc0db24..8aa548248 100644
--- a/drivers/mempool/octeontx2/otx2_mempool.h
+++ b/drivers/mempool/octeontx2/otx2_mempool.h
@@ -206,7 +206,9 @@ npa_lf_aura_op_range_set(uint64_t aura_handle, uint64_t start_iova,
 }
 
 /* NPA LF */
+__rte_internal
 int otx2_npa_lf_init(struct rte_pci_device *pci_dev, void *otx2_dev);
+__rte_internal
 int otx2_npa_lf_fini(void);
 
 /* IRQ */
diff --git a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
index d4f81aed8..e6887ceb8 100644
--- a/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
+++ b/drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map
@@ -1,4 +1,4 @@
-DPDK_20.0 {
+INTERNAL {
 	global:
 
 	otx2_npa_lf_fini;
-- 
2.17.1


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

* Re: [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
                     ` (2 preceding siblings ...)
  2020-05-13  9:55   ` [dpdk-dev] [PATCH v3 " pbhagavatula
@ 2020-05-14  7:02   ` Ray Kinsella
  2020-05-14 12:50     ` David Marchand
  3 siblings, 1 reply; 13+ messages in thread
From: Ray Kinsella @ 2020-05-14  7:02 UTC (permalink / raw)
  To: pbhagavatula, jerinj, aostruszka, Neil Horman, Nithin Dabilpuram,
	Anoob Joseph
  Cc: thomas, dev



On 13/05/2020 02:04, pbhagavatula@marvell.com wrote:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Move the internal symbols to INTERNAL sections so that any
> change in them is not reported as ABI breakage.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
>  v2 Changes:
>  - Sort version map alphabetically
>  - Add libabigail ignore tag for OCTEONTX2
> 
>  devtools/libabigail.abignore                  |  4 +++
>  drivers/common/octeontx2/otx2_common.h        |  8 ++++++
>  drivers/common/octeontx2/otx2_dev.h           |  3 +++
>  drivers/common/octeontx2/otx2_irq.h           |  3 +++
>  drivers/common/octeontx2/otx2_mbox.h          |  6 +++++
>  drivers/common/octeontx2/otx2_sec_idev.h      |  6 +++++
>  .../rte_common_octeontx2_version.map          | 26 ++++++-------------
>  7 files changed, 38 insertions(+), 18 deletions(-)
> 
> diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> index c9ee73cb3..dfe346db4 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -48,3 +48,7 @@
>          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
>  [suppress_variable]
>          name = rte_crypto_aead_algorithm_strings
> +
> +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
> +[suppress_file]
> +	soname_regexp = librte_common_octeontx2.*
> diff --git a/drivers/common/octeontx2/otx2_common.h b/drivers/common/octeontx2/otx2_common.h
> index e62cdea07..174702687 100644
> --- a/drivers/common/octeontx2/otx2_common.h
> +++ b/drivers/common/octeontx2/otx2_common.h
> @@ -62,13 +62,21 @@ struct otx2_idev_cfg {
>  	};
>  };
> 
> +__rte_internal
>  struct otx2_idev_cfg *otx2_intra_dev_get_cfg(void);
> +__rte_internal
>  void otx2_sso_pf_func_set(uint16_t sso_pf_func);
> +__rte_internal
>  uint16_t otx2_sso_pf_func_get(void);
> +__rte_internal
>  uint16_t otx2_npa_pf_func_get(void);
> +__rte_internal
>  struct otx2_npa_lf *otx2_npa_lf_obj_get(void);
> +__rte_internal
>  void otx2_npa_set_defaults(struct otx2_idev_cfg *idev);
> +__rte_internal
>  int otx2_npa_lf_active(void *dev);
> +__rte_internal
>  int otx2_npa_lf_obj_ref(void);
> 
>  /* Log */
> diff --git a/drivers/common/octeontx2/otx2_dev.h b/drivers/common/octeontx2/otx2_dev.h
> index 13b75e118..cd4fe517d 100644
> --- a/drivers/common/octeontx2/otx2_dev.h
> +++ b/drivers/common/octeontx2/otx2_dev.h
> @@ -94,6 +94,7 @@ struct otx2_dev {
>  	OTX2_DEV;
>  };
> 
> +__rte_internal
>  int otx2_dev_priv_init(struct rte_pci_device *pci_dev, void *otx2_dev);
> 
>  /* Common dev init and fini routines */
> @@ -116,7 +117,9 @@ otx2_dev_init(struct rte_pci_device *pci_dev, void *otx2_dev)
>  	return otx2_dev_priv_init(pci_dev, otx2_dev);
>  }
> 
> +__rte_internal
>  void otx2_dev_fini(struct rte_pci_device *pci_dev, void *otx2_dev);
> +__rte_internal
>  int otx2_dev_active_vfs(void *otx2_dev);
> 
>  #define RVU_PFVF_PF_SHIFT	10
> diff --git a/drivers/common/octeontx2/otx2_irq.h b/drivers/common/octeontx2/otx2_irq.h
> index 9d326276e..0683cf554 100644
> --- a/drivers/common/octeontx2/otx2_irq.h
> +++ b/drivers/common/octeontx2/otx2_irq.h
> @@ -16,10 +16,13 @@ typedef struct {
>  	uint64_t bits[MAX_VFPF_DWORD_BITS];
>  } otx2_intr_t;
> 
> +__rte_internal
>  int otx2_register_irq(struct rte_intr_handle *intr_handle,
>  		      rte_intr_callback_fn cb, void *data, unsigned int vec);
> +__rte_internal
>  void otx2_unregister_irq(struct rte_intr_handle *intr_handle,
>  			 rte_intr_callback_fn cb, void *data, unsigned int vec);
> +__rte_internal
>  int otx2_disable_irqs(struct rte_intr_handle *intr_handle);
> 
>  #endif /* _OTX2_IRQ_H_ */
> diff --git a/drivers/common/octeontx2/otx2_mbox.h b/drivers/common/octeontx2/otx2_mbox.h
> index 80778a0be..7fa4276e9 100644
> --- a/drivers/common/octeontx2/otx2_mbox.h
> +++ b/drivers/common/octeontx2/otx2_mbox.h
> @@ -1617,19 +1617,25 @@ struct tim_enable_rsp {
>  	uint32_t __otx2_io currentbucket;
>  };
> 
> +__rte_internal
>  const char *otx2_mbox_id2name(uint16_t id);
>  int otx2_mbox_id2size(uint16_t id);
>  void otx2_mbox_reset(struct otx2_mbox *mbox, int devid);
>  int otx2_mbox_init(struct otx2_mbox *mbox, uintptr_t hwbase, uintptr_t reg_base,
>  		   int direction, int ndevsi, uint64_t intr_offset);
>  void otx2_mbox_fini(struct otx2_mbox *mbox);
> +__rte_internal
>  void otx2_mbox_msg_send(struct otx2_mbox *mbox, int devid);
> +__rte_internal
>  int otx2_mbox_wait_for_rsp(struct otx2_mbox *mbox, int devid);
>  int otx2_mbox_wait_for_rsp_tmo(struct otx2_mbox *mbox, int devid, uint32_t tmo);
> +__rte_internal
>  int otx2_mbox_get_rsp(struct otx2_mbox *mbox, int devid, void **msg);
> +__rte_internal
>  int otx2_mbox_get_rsp_tmo(struct otx2_mbox *mbox, int devid, void **msg,
>  			  uint32_t tmo);
>  int otx2_mbox_get_availmem(struct otx2_mbox *mbox, int devid);
> +__rte_internal
>  struct mbox_msghdr *otx2_mbox_alloc_msg_rsp(struct otx2_mbox *mbox, int devid,
>  					    int size, int size_rsp);
> 
> diff --git a/drivers/common/octeontx2/otx2_sec_idev.h b/drivers/common/octeontx2/otx2_sec_idev.h
> index c681f5094..89cdaf66a 100644
> --- a/drivers/common/octeontx2/otx2_sec_idev.h
> +++ b/drivers/common/octeontx2/otx2_sec_idev.h
> @@ -22,16 +22,22 @@ struct otx2_sec_idev_cfg {
>  	rte_spinlock_t tx_cpt_lock;
>  };
> 
> +__rte_internal
>  uint8_t otx2_eth_dev_is_sec_capable(struct rte_eth_dev *eth_dev);
> 
> +__rte_internal
>  int otx2_sec_idev_cfg_init(int port_id);
> 
> +__rte_internal
>  int otx2_sec_idev_tx_cpt_qp_add(uint16_t port_id, struct otx2_cpt_qp *qp);
> 
> +__rte_internal
>  int otx2_sec_idev_tx_cpt_qp_remove(struct otx2_cpt_qp *qp);
> 
> +__rte_internal
>  int otx2_sec_idev_tx_cpt_qp_put(struct otx2_cpt_qp *qp);
> 
> +__rte_internal
>  int otx2_sec_idev_tx_cpt_qp_get(uint16_t port_id, struct otx2_cpt_qp **qp);
> 
>  #endif /* _OTX2_SEC_IDEV_H_ */
> diff --git a/drivers/common/octeontx2/rte_common_octeontx2_version.map b/drivers/common/octeontx2/rte_common_octeontx2_version.map
> index 01279c339..7621a59ad 100644
> --- a/drivers/common/octeontx2/rte_common_octeontx2_version.map
> +++ b/drivers/common/octeontx2/rte_common_octeontx2_version.map
> @@ -1,13 +1,15 @@
> -DPDK_20.0 {
> +INTERNAL {
>  	global:
> 
>  	otx2_dev_active_vfs;
>  	otx2_dev_fini;
>  	otx2_dev_priv_init;
>  	otx2_disable_irqs;
> +	otx2_eth_dev_is_sec_capable;
>  	otx2_intra_dev_get_cfg;
>  	otx2_logtype_base;
>  	otx2_logtype_dpi;
> +	otx2_logtype_ep;
>  	otx2_logtype_mbox;
>  	otx2_logtype_nix;
>  	otx2_logtype_npa;
> @@ -27,26 +29,14 @@ DPDK_20.0 {
>  	otx2_npa_pf_func_get;
>  	otx2_npa_set_defaults;
>  	otx2_register_irq;
> -	otx2_sso_pf_func_get;
> -	otx2_sso_pf_func_set;
> -	otx2_unregister_irq;
> -
> -	local: *;
> -};
> -
> -DPDK_21 {
> -	global:
> -
> -	otx2_eth_dev_is_sec_capable;
>  	otx2_sec_idev_cfg_init;
>  	otx2_sec_idev_tx_cpt_qp_add;
> -	otx2_sec_idev_tx_cpt_qp_remove;
>  	otx2_sec_idev_tx_cpt_qp_get;
>  	otx2_sec_idev_tx_cpt_qp_put;
> -} DPDK_20.0;
> -
> -EXPERIMENTAL {
> -	global:
> +	otx2_sec_idev_tx_cpt_qp_remove;
> +	otx2_sso_pf_func_get;
> +	otx2_sso_pf_func_set;
> +	otx2_unregister_irq;
> 
> -	otx2_logtype_ep;
> +	local: *;
>  };
> --
> 2.17.1
> 

Acked-by: Ray Kinsella <mdr@ashroe.eu>

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

* Re: [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-14  7:02   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " Ray Kinsella
@ 2020-05-14 12:50     ` David Marchand
  2020-05-18 15:51       ` David Marchand
  0 siblings, 1 reply; 13+ messages in thread
From: David Marchand @ 2020-05-14 12:50 UTC (permalink / raw)
  To: Ray Kinsella
  Cc: Pavan Nikhilesh, Jerin Jacob Kollanukkaran, Andrzej Ostruszka,
	Neil Horman, Nithin Dabilpuram, Anoob Joseph, Thomas Monjalon,
	dev

On Thu, May 14, 2020 at 9:02 AM Ray Kinsella <mdr@ashroe.eu> wrote:
> > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> > index c9ee73cb3..dfe346db4 100644
> > --- a/devtools/libabigail.abignore
> > +++ b/devtools/libabigail.abignore
> > @@ -48,3 +48,7 @@
> >          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
> >  [suppress_variable]
> >          name = rte_crypto_aead_algorithm_strings
> > +
> > +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
> > +[suppress_file]
> > +     soname_regexp = librte_common_octeontx2.*

[snip]

> Acked-by: Ray Kinsella <mdr@ashroe.eu>

This ack is on the v2 of the patch, but seeing the exchanges and the
chronology, I will take this as a ack on v3.


-- 
David Marchand


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

* Re: [dpdk-dev] [PATCH v2 1/2] common/octeontx2: move internal symbols to INTERNAL section
  2020-05-14 12:50     ` David Marchand
@ 2020-05-18 15:51       ` David Marchand
  0 siblings, 0 replies; 13+ messages in thread
From: David Marchand @ 2020-05-18 15:51 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: Jerin Jacob Kollanukkaran, Andrzej Ostruszka, Neil Horman,
	Nithin Dabilpuram, Anoob Joseph, Thomas Monjalon, dev,
	Ray Kinsella

On Thu, May 14, 2020 at 2:50 PM David Marchand
<david.marchand@redhat.com> wrote:
>
> On Thu, May 14, 2020 at 9:02 AM Ray Kinsella <mdr@ashroe.eu> wrote:
> > > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore
> > > index c9ee73cb3..dfe346db4 100644
> > > --- a/devtools/libabigail.abignore
> > > +++ b/devtools/libabigail.abignore
> > > @@ -48,3 +48,7 @@
> > >          changed_enumerators = RTE_CRYPTO_AEAD_LIST_END
> > >  [suppress_variable]
> > >          name = rte_crypto_aead_algorithm_strings
> > > +
> > > +; Ignore moving internal OCTEONTX2 stable functions to INTERNAL tag
> > > +[suppress_file]
> > > +     soname_regexp = librte_common_octeontx2.*
>
> [snip]
>
> > Acked-by: Ray Kinsella <mdr@ashroe.eu>
>
> This ack is on the v2 of the patch, but seeing the exchanges and the
> chronology, I will take this as a ack on v3.

Thanks, series applied.


-- 
David Marchand


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

end of thread, other threads:[~2020-05-18 15:51 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 10:00 [dpdk-dev] [PATCH 1/2] common/octeontx2: move internal symbols to INTERNAL section pbhagavatula
2020-05-11 10:00 ` [dpdk-dev] [PATCH 2/2] mempool/octeontx2: " pbhagavatula
2020-05-11 14:45 ` [dpdk-dev] [PATCH 1/2] common/octeontx2: " Thomas Monjalon
2020-05-13  1:04 ` [dpdk-dev] [PATCH v2 " pbhagavatula
2020-05-13  1:04   ` [dpdk-dev] [PATCH v2 2/2] mempool/octeontx2: " pbhagavatula
2020-05-13  8:58   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " David Marchand
2020-05-13  9:11     ` Ray Kinsella
2020-05-13  9:51       ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2020-05-13  9:55   ` [dpdk-dev] [PATCH v3 " pbhagavatula
2020-05-13  9:55     ` [dpdk-dev] [PATCH v3 2/2] mempool/octeontx2: " pbhagavatula
2020-05-14  7:02   ` [dpdk-dev] [PATCH v2 1/2] common/octeontx2: " Ray Kinsella
2020-05-14 12:50     ` David Marchand
2020-05-18 15:51       ` David Marchand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.