On 7/14/2023 9:15 AM, Chaoyong He wrote:
> In order to support inclusive naming, some of the function in DPDK will
> need to be renamed. Do this through deprecation process now for 23.07.
> 
> Signed-off-by: Long Wu <long...@corigine.com>
> Signed-off-by: Chaoyong He <chaoyong...@corigine.com>

<...>

> --- a/drivers/net/bonding/rte_eth_bond.h
> +++ b/drivers/net/bonding/rte_eth_bond.h
> @@ -121,8 +121,16 @@ rte_eth_bond_free(const char *name);
>   * @return
>   *   0 on success, negative value otherwise
>   */
> +__rte_experimental
>  int
> -rte_eth_bond_slave_add(uint16_t bonded_port_id, uint16_t slave_port_id);
> +rte_eth_bond_member_add(uint16_t bonded_port_id, uint16_t member_port_id);
> +
> +__rte_deprecated
> +static inline int
> +rte_eth_bond_slave_add(uint16_t bonded_port_id, uint16_t slave_port_id)
> +{
> +     return rte_eth_bond_member_add(bonded_port_id, slave_port_id);
> +}
>  

This will make old symbols disappear from shared library, since they are
static inline functions and not object in the shared library.
And this will break the ABI, you can see this from the CI test:
https://mails.dpdk.org/archives/test-report/2023-July/427987.html

One option is to add old functions to the .c file, and keep old function
declarations in the header file, with '__rte_deprecated' attribute.

But I think it is simpler/safer to rename in one go in v23.11 release,
so this patch can update only deprecation notice to list functions that
will be renamed in v23.11 release.

Reply via email to