[PATCH v2] ethdev: optimize how the values of the flag variables are assigned
Stephen Hemminger
stephen at networkplumber.org
Wed May 21 15:57:37 CEST 2025
On Wed, 21 May 2025 18:15:31 +0800
Sunyang Wu <sunyang.wu at jaguarmicro.com> wrote:
> Set the values of the promiscuous and all_multicast variables
> according to the return value.
>
> Signed-off-by: Morten Brørup <mb at smartsharesystems.com>
> Signed-off-by: Sunyang Wu <sunyang.wu at jaguarmicro.com>
> ---
> lib/ethdev/rte_ethdev.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
> index d4197322a0..c27d3e5041 100644
> --- a/lib/ethdev/rte_ethdev.c
> +++ b/lib/ethdev/rte_ethdev.c
> @@ -3044,10 +3044,9 @@ rte_eth_promiscuous_disable(uint16_t port_id)
> if (dev->dev_ops->promiscuous_disable == NULL)
> return -ENOTSUP;
>
> - dev->data->promiscuous = 0;
> diag = dev->dev_ops->promiscuous_disable(dev);
> - if (diag != 0)
> - dev->data->promiscuous = 1;
> + if (!diag)
> + dev->data->promiscuous = 0;
>
> diag = eth_err(port_id, diag);
>
> @@ -3112,10 +3111,10 @@ rte_eth_allmulticast_disable(uint16_t port_id)
>
> if (dev->dev_ops->allmulticast_disable == NULL)
> return -ENOTSUP;
> - dev->data->all_multicast = 0;
> +
> diag = dev->dev_ops->allmulticast_disable(dev);
> - if (diag != 0)
> - dev->data->all_multicast = 1;
> + if (!diag)
> + dev->data->all_multicast = 0;
>
> diag = eth_err(port_id, diag);
>
Code is fine, but the commit description is misleading.
It is not an optimization, it is a bug fix so that flags
are not set if device callback returns an error.
An optimization is something that is faster but has the
same effect.
More information about the dev
mailing list