From: Ferruh Yigit <ferruh.yigit@intel.com> To: dev@dpdk.org, Ray Kinsella <mdr@ashroe.eu>, Neil Horman <nhorman@tuxdriver.com>, John McNamara <john.mcnamara@intel.com>, Marko Kovacevic <marko.kovacevic@intel.com>, Thomas Monjalon <thomas@monjalon.net>, Andrew Rybchenko <arybchenko@solarflare.com>, Ori Kam <orika@mellanox.com> Cc: Ferruh Yigit <ferruh.yigit@intel.com> Subject: [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions Date: Mon, 24 Aug 2020 10:40:18 +0100 Message-ID: <20200824094021.2323605-4-ferruh.yigit@intel.com> (raw) In-Reply-To: <20200824094021.2323605-1-ferruh.yigit@intel.com> Some ethdev functions are for drivers only, not for applications. Since we have '__rte_internal' tag available now, marking internal functions with it and moving functions to INTERNAL section in linker script. This is also good for documenting the internal functions. Some internal APIs seems marked as experimental, but it doesn't make sense to have internals APIs as experimental, updating their tag and doxygen comments. Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- doc/guides/rel_notes/deprecation.rst | 6 ----- lib/librte_ethdev/rte_ethdev.h | 3 +-- lib/librte_ethdev/rte_ethdev_driver.h | 33 ++++++++++-------------- lib/librte_ethdev/rte_ethdev_version.map | 30 ++++++++++----------- lib/librte_ethdev/rte_flow_driver.h | 4 +-- 5 files changed, 29 insertions(+), 47 deletions(-) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index d40b95bfa9..35c06d30ef 100644 --- a/doc/guides/rel_notes/deprecation.rst +++ b/doc/guides/rel_notes/deprecation.rst @@ -227,12 +227,6 @@ Deprecation Notices following the IPv6 header, as proposed in RFC https://mails.dpdk.org/archives/dev/2020-August/177257.html. -* ethdev: Some internal APIs for driver usage are exported in the .map file. - Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move - them to the INTERNAL block in .map. Although these APIs are internal it will - break the ABI checks, that is why change is planned for 20.11. - The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``. - * traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made ABI stable in the v19.11 release. The TM maintainer and other contributors have agreed to keep the TM APIs as experimental in expectation of additional spec diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 2ce186610b..ce2e0ec0e4 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -1723,8 +1723,7 @@ rte_eth_find_next_of(uint16_t port_id_start, */ __rte_experimental uint16_t -rte_eth_find_next_sibling(uint16_t port_id_start, - uint16_t ref_port_id); +rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id); /** * Macro to iterate over all ethdev ports sharing the same rte_device diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h index b006cbbe92..3d1bc33272 100644 --- a/lib/librte_ethdev/rte_ethdev_driver.h +++ b/lib/librte_ethdev/rte_ethdev_driver.h @@ -759,6 +759,7 @@ int rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id); * @return * - The pointer to the ethdev slot, on success. NULL on error */ +__rte_internal struct rte_eth_dev *rte_eth_dev_allocated(const char *name); /** @@ -770,6 +771,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name); * @return * - Slot in the rte_dev_devices array for a new device; */ +__rte_internal struct rte_eth_dev *rte_eth_dev_allocate(const char *name); /** @@ -783,6 +785,7 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name); * device. * - Error: Null pointer. */ +__rte_internal struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name); /** @@ -801,6 +804,7 @@ struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name); * @return * - 0 on success, negative on error */ +__rte_internal int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev); /** @@ -814,6 +818,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev); * @return * void */ +__rte_internal void _rte_eth_dev_reset(struct rte_eth_dev *dev); /** @@ -833,6 +838,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev); * @return * int */ +__rte_internal int _rte_eth_dev_callback_process(struct rte_eth_dev *dev, enum rte_eth_event_type event, void *ret_param); @@ -848,6 +854,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev, * @param dev * New ethdev port. */ +__rte_internal void rte_eth_dev_probing_finish(struct rte_eth_dev *dev); /** @@ -869,6 +876,7 @@ void rte_eth_dev_probing_finish(struct rte_eth_dev *dev); * @param socket_id * The *socket_id* argument is the socket identifier in case of NUMA. */ +__rte_internal const struct rte_memzone * rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name, uint16_t queue_id, size_t size, @@ -955,9 +963,6 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev, } /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Allocate an unique switch domain identifier. * * A pool of switch domain identifiers which can be allocated on request. This @@ -971,14 +976,11 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev, * @return * Negative errno value on error, 0 on success. */ -__rte_experimental +__rte_internal int rte_eth_switch_domain_alloc(uint16_t *domain_id); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * Free switch domain. * * Return a switch domain identifier to the pool of free identifiers after it is @@ -990,7 +992,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id); * @return * Negative errno value on error, 0 on success. */ -__rte_experimental +__rte_internal int rte_eth_switch_domain_free(uint16_t domain_id); @@ -1007,9 +1009,6 @@ struct rte_eth_devargs { }; /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * PMD helper function to parse ethdev arguments * * @param devargs @@ -1020,7 +1019,7 @@ struct rte_eth_devargs { * @return * Negative errno value on error, 0 on success. */ -__rte_experimental +__rte_internal int rte_eth_devargs_parse(const char *devargs, struct rte_eth_devargs *eth_devargs); @@ -1030,9 +1029,6 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev, void *bus_specific_init_params); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * PMD helper function for the creation of a new ethdev ports. * * @param device @@ -1053,7 +1049,7 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev, * @return * Negative errno value on error, 0 on success. */ -__rte_experimental +__rte_internal int rte_eth_dev_create(struct rte_device *device, const char *name, size_t priv_data_size, @@ -1064,9 +1060,6 @@ rte_eth_dev_create(struct rte_device *device, const char *name, typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev); /** - * @warning - * @b EXPERIMENTAL: this API may change without prior notice. - * * PMD helper function for cleaning up the resources of a ethdev port on it's * destruction. * @@ -1078,7 +1071,7 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev); * @return * Negative errno value on error, 0 on success. */ -__rte_experimental +__rte_internal int rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit); diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map index 8d9d6b1c67..6a84f3d76d 100644 --- a/lib/librte_ethdev/rte_ethdev_version.map +++ b/lib/librte_ethdev/rte_ethdev_version.map @@ -1,8 +1,6 @@ DPDK_21 { global: - _rte_eth_dev_callback_process; - _rte_eth_dev_reset; rte_eth_add_first_rx_callback; rte_eth_add_rx_callback; rte_eth_add_tx_callback; @@ -10,9 +8,6 @@ DPDK_21 { rte_eth_allmulticast_enable; rte_eth_allmulticast_get; rte_eth_dev_adjust_nb_rx_tx_desc; - rte_eth_dev_allocate; - rte_eth_dev_allocated; - rte_eth_dev_attach_secondary; rte_eth_dev_callback_register; rte_eth_dev_callback_unregister; rte_eth_dev_close; @@ -44,8 +39,6 @@ DPDK_21 { rte_eth_dev_mac_addr_remove; rte_eth_dev_pool_ops_supported; rte_eth_dev_priority_flow_ctrl_set; - rte_eth_dev_probing_finish; - rte_eth_dev_release_port; rte_eth_dev_reset; rte_eth_dev_rss_hash_conf_get; rte_eth_dev_rss_hash_update; @@ -81,7 +74,6 @@ DPDK_21 { rte_eth_dev_udp_tunnel_port_delete; rte_eth_dev_vlan_filter; rte_eth_devices; - rte_eth_dma_zone_reserve; rte_eth_find_next; rte_eth_find_next_owned_by; rte_eth_iterator_cleanup; @@ -195,16 +187,8 @@ EXPERIMENTAL { rte_eth_dev_owner_unset; # added in 18.05 - rte_eth_dev_create; - rte_eth_dev_destroy; rte_eth_dev_get_module_eeprom; rte_eth_dev_get_module_info; - rte_eth_devargs_parse; - rte_eth_switch_domain_alloc; - rte_eth_switch_domain_free; - - # added in 18.08 - rte_flow_expand_rss; # added in 18.11 rte_eth_dev_rx_intr_ctl_q_get_fd; @@ -246,5 +230,19 @@ EXPERIMENTAL { INTERNAL { global: + _rte_eth_dev_callback_process; + _rte_eth_dev_reset; + rte_eth_dev_allocate; + rte_eth_dev_allocated; + rte_eth_dev_attach_secondary; + rte_eth_dev_create; + rte_eth_dev_destroy; + rte_eth_dev_probing_finish; + rte_eth_dev_release_port; + rte_eth_devargs_parse; rte_eth_dma_zone_free; + rte_eth_dma_zone_reserve; + rte_eth_switch_domain_alloc; + rte_eth_switch_domain_free; + rte_flow_expand_rss; }; diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h index 997598db11..3ee871d3eb 100644 --- a/lib/librte_ethdev/rte_flow_driver.h +++ b/lib/librte_ethdev/rte_flow_driver.h @@ -161,8 +161,6 @@ struct rte_flow_expand_rss { * Expand RSS flows into several possible flows according to the RSS hash * fields requested and the driver capabilities. * - * @b EXPERIMENTAL: this API may change without prior notice - * * @param[out] buf * Buffer to store the result expansion. * @param[in] size @@ -183,7 +181,7 @@ struct rte_flow_expand_rss { * * -E2BIG: graph-depth @p graph is too deep. */ -__rte_experimental +__rte_internal int rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size, const struct rte_flow_item *pattern, uint64_t types, -- 2.25.4
next prev parent reply other threads:[~2020-08-24 9:41 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-24 9:40 [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit 2020-08-24 9:40 ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit 2020-08-29 11:57 ` Andrew Rybchenko 2020-08-31 12:25 ` Ferruh Yigit 2020-08-24 9:40 ` [dpdk-dev] [PATCH 3/7] ethdev: make device operations struct private Ferruh Yigit 2020-08-29 12:03 ` Andrew Rybchenko 2020-08-24 9:40 ` Ferruh Yigit [this message] 2020-08-29 12:07 ` [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions Andrew Rybchenko 2020-08-24 9:40 ` [dpdk-dev] [PATCH 5/7] ethdev: use hairpin helper functions Ferruh Yigit 2020-08-29 12:13 ` Andrew Rybchenko 2020-08-24 9:40 ` [dpdk-dev] [PATCH 6/7] ethdev: remove invalid symbols from map file Ferruh Yigit 2020-08-29 12:14 ` Andrew Rybchenko 2020-08-24 9:40 ` [dpdk-dev] [PATCH 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit 2020-08-29 12:16 ` Andrew Rybchenko 2020-08-29 11:47 ` [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Andrew Rybchenko 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 " Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 3/7] ethdev: make device operations struct private Ferruh Yigit 2020-09-08 12:19 ` Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 4/7] ethdev: mark internal functions Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 5/7] ethdev: use hairpin helper functions Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 6/7] ethdev: remove invalid symbols from map file Ferruh Yigit 2020-09-03 21:09 ` [dpdk-dev] [PATCH v2 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private Ferruh Yigit 2020-09-09 12:57 ` Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 4/7] ethdev: mark internal functions Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 5/7] ethdev: use hairpin helper functions Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 6/7] ethdev: remove invalid symbols from map file Ferruh Yigit 2020-09-09 11:12 ` [dpdk-dev] [PATCH v3 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit 2020-09-09 12:07 ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API David Marchand 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 " Ferruh Yigit 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit 2020-09-10 1:56 ` Sachin Saxena (OSS) 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 3/7] ethdev: make device operations struct private Ferruh Yigit 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 4/7] ethdev: mark internal functions Ferruh Yigit 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 5/7] ethdev: use hairpin helper functions Ferruh Yigit 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 6/7] ethdev: remove invalid symbols from map file Ferruh Yigit 2020-09-09 13:01 ` [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit 2020-09-10 2:04 ` Sachin Saxena (OSS) 2020-09-10 12:50 ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 00/10] cppcheck Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 01/10] app/procinfo: fix redundant condition Ferruh Yigit 2021-01-08 10:36 ` David Marchand 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 02/10] app/procinfo: fix negative check on unsigned variable Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 03/10] app/procinfo: remove suspicious sizeof Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 04/10] app/procinfo: remove useless assignment Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 05/10] net/pcap: remove local variable shadowing outer one Ferruh Yigit 2021-01-08 10:31 ` [dpdk-dev] [dpdk-stable] " David Marchand 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 06/10] net/bonding: " Ferruh Yigit 2021-01-08 10:34 ` David Marchand 2021-01-11 1:03 ` Min Hu (Connor) 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 07/10] net/af_xdp: remove useless assignment Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 08/10] net/bnxt: fix redundant return Ferruh Yigit 2020-11-19 11:58 ` [dpdk-dev] [v21.02 v3 09/10] app/crypto-perf: remove always true condition Ferruh Yigit 2020-11-23 15:25 ` Zhang, Roy Fan 2020-11-19 11:59 ` [dpdk-dev] [v21.02 v3 10/10] net/avp: " Ferruh Yigit 2020-11-20 17:40 ` Steven Webster 2021-01-11 9:47 ` [dpdk-dev] [v21.02 v3 00/10] cppcheck David Marchand
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200824094021.2323605-4-ferruh.yigit@intel.com \ --to=ferruh.yigit@intel.com \ --cc=arybchenko@solarflare.com \ --cc=dev@dpdk.org \ --cc=john.mcnamara@intel.com \ --cc=marko.kovacevic@intel.com \ --cc=mdr@ashroe.eu \ --cc=nhorman@tuxdriver.com \ --cc=orika@mellanox.com \ --cc=thomas@monjalon.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
DPDK patches and discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \ dev@dpdk.org public-inbox-index dev Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git