DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>
To: Olivier Matz <olivier.matz@6wind.com>
Cc: dev@dpdk.org, Thomas Monjalon <thomas@monjalon.net>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	Tomasz Duszynski <tdu@semihalf.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	Adrien Mazarguil <adrien.mazarguil@6wind.com>,
	Shreyansh Jain <shreyansh.jain@nxp.com>,
	Ivan Malov <ivan.malov@oktetlabs.ru>
Subject: Re: [dpdk-dev] [PATCH] ethdev: return diagnostic when setting MAC address
Date: Mon, 9 Apr 2018 10:57:58 +0200	[thread overview]
Message-ID: <20180409085758.y5key7wqansvfqwb@laranjeiro-vm.dev.6wind.com> (raw)
In-Reply-To: <20180406152148.23270-1-olivier.matz@6wind.com>

On Fri, Apr 06, 2018 at 05:21:48PM +0200, Olivier Matz wrote:
> Change the prototype and the behavior of dev_ops->eth_mac_addr_set(): a
> return code is added to notify the caller (librte_ether) if an error
> occurred in the PMD.
> 
> The new default MAC address is now copied in dev->data->mac_addrs[0]
> only if the operation is successful.
> 
> The patch also updates all the PMDs accordingly.
> 
> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
> Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> ---
> 
> v3:
> * mlx5: remove empty line as suggested by Adrien
> * mvpp2: remove wrong changes in mrvl_mac_addr_remove() as suggested
>   by Ferruh
> * dpaa/dpaa2: fix return value as suggested by Shreyansh
> 
> v2:
> * add same change for net/cxgbe
> * mrvl was renamed as mvpp2
> * mvpp2: return success if no ppio as suggested by Tomasz
> * mlx5: update comment as suggested by Adrien
> * sfc: replace by Ivan's patch
> 
> 
>  doc/guides/rel_notes/deprecation.rst    |  8 --------
>  drivers/net/ark/ark_ethdev.c            |  9 ++++++---
>  drivers/net/avf/avf_ethdev.c            | 12 +++++++----
>  drivers/net/bnxt/bnxt_ethdev.c          | 10 ++++++----
>  drivers/net/bonding/rte_eth_bond_pmd.c  |  8 ++++++--
>  drivers/net/cxgbe/cxgbe_ethdev.c        |  5 +++--
>  drivers/net/cxgbe/cxgbe_pfvf.h          |  2 +-
>  drivers/net/dpaa/dpaa_ethdev.c          |  4 +++-
>  drivers/net/dpaa2/dpaa2_ethdev.c        |  6 ++++--
>  drivers/net/e1000/igb_ethdev.c          | 12 ++++++-----
>  drivers/net/failsafe/failsafe_ops.c     | 17 +++++++++++++---
>  drivers/net/i40e/i40e_ethdev.c          | 24 +++++++++++++---------
>  drivers/net/i40e/i40e_ethdev_vf.c       | 12 ++++++-----
>  drivers/net/ixgbe/ixgbe_ethdev.c        | 13 +++++++-----
>  drivers/net/mlx4/mlx4.h                 |  2 +-
>  drivers/net/mlx4/mlx4_ethdev.c          |  7 +++++--
>  drivers/net/mlx5/mlx5.h                 |  2 +-
>  drivers/net/mlx5/mlx5_mac.c             |  6 +++++-
>  drivers/net/mvpp2/mrvl_ethdev.c         | 11 ++++++++---
>  drivers/net/null/rte_eth_null.c         |  3 ++-
>  drivers/net/octeontx/octeontx_ethdev.c  |  4 +++-
>  drivers/net/qede/qede_ethdev.c          |  7 +++----
>  drivers/net/sfc/sfc_ethdev.c            | 35 ++++++++++++++++++++++-----------
>  drivers/net/szedata2/rte_eth_szedata2.c |  3 ++-
>  drivers/net/tap/rte_eth_tap.c           | 34 +++++++++++++++++++++-----------
>  drivers/net/virtio/virtio_ethdev.c      | 15 +++++++++-----
>  drivers/net/vmxnet3/vmxnet3_ethdev.c    |  5 +++--
>  lib/librte_ether/rte_ethdev.c           |  7 +++++--
>  lib/librte_ether/rte_ethdev_core.h      |  2 +-
>  test/test/virtual_pmd.c                 |  3 ++-
>  30 files changed, 184 insertions(+), 104 deletions(-)
> 
</snip>
> diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
> index faacfd9d6..738709854 100644
> --- a/drivers/net/mlx5/mlx5.h
> +++ b/drivers/net/mlx5/mlx5.h
> @@ -195,7 +195,7 @@ int mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[ETHER_ADDR_LEN]);
>  void mlx5_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index);
>  int mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,
>  		      uint32_t index, uint32_t vmdq);
> -void mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr);
> +int mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr);
>  
>  /* mlx5_rss.c */
>  
> diff --git a/drivers/net/mlx5/mlx5_mac.c b/drivers/net/mlx5/mlx5_mac.c
> index 01c7ba17a..6ca1cc4a1 100644
> --- a/drivers/net/mlx5/mlx5_mac.c
> +++ b/drivers/net/mlx5/mlx5_mac.c
> @@ -124,8 +124,11 @@ mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,
>   *   Pointer to Ethernet device structure.
>   * @param mac_addr
>   *   MAC address to register.
> + *
> + * @return
> + *   0 on success, a negative errno value otherwise and rte_errno is set.
>   */
> -void
> +int
>  mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr)
>  {
>  	int ret;
> @@ -137,4 +140,5 @@ mlx5_mac_addr_set(struct rte_eth_dev *dev, struct ether_addr *mac_addr)
>  	if (ret)
>  		DRV_LOG(ERR, "port %u cannot set mac address: %s",
>  			dev->data->port_id, strerror(rte_errno));
> +	return ret;
>  }

You should also remove the DRV_LOG which become useless, it has been
added as the function did not return anything, now has it returns an
error, the application can fully handle it.

Unless that, for MLX5

Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

-- 
Nélio Laranjeiro
6WIND

  parent reply	other threads:[~2018-04-09  8:57 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-27 15:11 Olivier Matz
2018-03-05 10:29 ` Adrien Mazarguil
2018-03-06  9:37 ` Tomasz Duszynski
2018-03-16 15:41 ` Andrew Rybchenko
2018-03-26 18:39 ` Ferruh Yigit
2018-03-28  8:24   ` Olivier Matz
2018-04-03 12:41 ` [dpdk-dev] [PATCH v2] " Olivier Matz
2018-04-03 13:02   ` Andrew Rybchenko
2018-04-03 14:57   ` Adrien Mazarguil
2018-04-03 16:26     ` Olivier Matz
2018-04-03 16:19   ` Ferruh Yigit
2018-04-03 16:25     ` Olivier Matz
2018-04-04  8:19   ` Shreyansh Jain
2018-04-06 15:21   ` [dpdk-dev] [PATCH] " Olivier Matz
2018-04-06 15:34     ` Olivier Matz
2018-04-09  8:57     ` Nélio Laranjeiro [this message]
2018-04-06 15:34   ` [dpdk-dev] [PATCH v3] " Olivier Matz
2018-04-06 16:03     ` Ferruh Yigit
2018-04-10 13:19       ` Thomas Monjalon
2018-04-11 16:32     ` [dpdk-dev] [PATCH v4] " Olivier Matz
2018-04-11 19:30       ` Ferruh Yigit

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=20180409085758.y5key7wqansvfqwb@laranjeiro-vm.dev.6wind.com \
    --to=nelio.laranjeiro@6wind.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=ivan.malov@oktetlabs.ru \
    --cc=olivier.matz@6wind.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=tdu@semihalf.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).