ethdev: mark internal functions

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>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
Ferruh Yigit 2020-09-09 14:01:45 +01:00
parent 47909357a0
commit cb4115cb84
6 changed files with 31 additions and 47 deletions

View File

@ -193,12 +193,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``.
* pmd_dpaa: The API ``rte_pmd_dpaa_set_tx_loopback`` will have extended
``port_id`` definition from ``uint8_t`` to ``uint16_t``.

View File

@ -166,6 +166,8 @@ ABI Changes
* ``struct eth_dev_ops`` is no more accessible by applications,
which was already internal data structure.
* ``ethdev`` internal functions are marked with ``__rte_internal`` tag.
Known Issues
------------

View File

@ -1724,8 +1724,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

View File

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

View File

@ -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;
@ -163,16 +155,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;
};

View File

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