All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hyong Youb Kim <hyonkim@cisco.com>
To: David Marchand <david.marchand@6wind.com>
Cc: dev@dpdk.org, johndale@cisco.com, neescoba@cisco.com
Subject: Re: [PATCH] net/enic: add primary mac address handler
Date: Tue, 20 Feb 2018 14:41:15 +0900	[thread overview]
Message-ID: <20180220054113.GA20756@HYONKIM-FTCPE.cisco.com> (raw)
In-Reply-To: <20180219124227.19859-1-david.marchand@6wind.com>

On Mon, Feb 19, 2018 at 01:42:27PM +0100, David Marchand wrote:
> Reused the .mac_addr_add and .mac_addr_del callbacks code to implement
> primary mac address handler.
> 
> Signed-off-by: David Marchand <david.marchand@6wind.com>

Hi, thanks for taking a stab at this.

> +static void enicpmd_set_mac_addr(struct rte_eth_dev *eth_dev,
> +	struct ether_addr *addr)
> +{
> +	enicpmd_remove_mac_addr(eth_dev, 0);
> +	enicpmd_add_mac_addr(eth_dev, addr, 0, 0);
> +}

Unfortunately, this does not work as expected. The caller updates
mac_addrs[0] prior to calling mac_addr_set.

int
rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct ether_addr *addr)
{
[...]
        /* Update default address in NIC data structure */
        ether_addr_copy(addr, &dev->data->mac_addrs[0]);

        (*dev->dev_ops->mac_addr_set)(dev, addr);
[...]

So, enicpmd_remove_mac_addr tries to remove mac_addrs[0], which is the
'new' default address and does not exist on the NIC. Then,
enicpmd_add_mac_addr adds the new address to the NIC. At the end, the
NIC ends up with both the old and the new addresses.

I think the driver would have to treat the 'default' mac address
differently. I can submit a new patch as part of our next upstream
patch set. Or you are welcome to spin a new version. Up to you.

Thanks.
-Hyong

  reply	other threads:[~2018-02-20  5:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-19 12:42 [PATCH] net/enic: add primary mac address handler David Marchand
2018-02-20  5:41 ` Hyong Youb Kim [this message]
2018-02-20  9:17   ` David Marchand
2018-02-20 12:16     ` Hyong Youb Kim
2018-04-06 17:33       ` Ferruh Yigit
2018-04-13 17:34         ` Ferruh Yigit
2018-04-16  9:40 ` [PATCH v2] " David Marchand
2018-04-17  5:12   ` Hyong Youb Kim
2018-04-17 17:23     ` 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=20180220054113.GA20756@HYONKIM-FTCPE.cisco.com \
    --to=hyonkim@cisco.com \
    --cc=david.marchand@6wind.com \
    --cc=dev@dpdk.org \
    --cc=johndale@cisco.com \
    --cc=neescoba@cisco.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.