[dpdk-dev] [PATCH v3 1/2] common/octeontx2: move internal symbols to INTERNAL section

pbhagavatula at marvell.com pbhagavatula at marvell.com
Wed May 13 11:55:56 CEST 2020


From: Pavan Nikhilesh <pbhagavatula at 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 at 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



More information about the dev mailing list