DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Wei Hu (Xavier)" <xavier_huwei@163.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
	"Wei Hu (Xavier)" <huwei013@chinasoftinc.com>,
Cc: Chas Williams <chas3@att.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] net/bonding: fix MAC address when switching active port
Date: Fri, 28 Feb 2020 09:31:59 +0800
Message-ID: <913f85e0-7d43-2883-ea3c-adbaddf68b6b@163.com> (raw)
In-Reply-To: <23f61a09-bba3-cccb-3ea6-52956a62ee37@intel.com>

Hi,Ferruh Yigit

On 2020/2/28 1:03, Ferruh Yigit wrote:
> On 2/25/2020 9:29 AM, Wei Hu (Xavier) wrote:
>> From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
>> Currently, based on a active-backup bond device, when the link status of
>> the primary port changes from up to down, one slave port changes to the
>> primary port, but the new primary port's MAC address cannot change to the
>> bond device's MAC address. And we can't continue receive packets whose
>> destination MAC addresses are the same as the bond devices's MAC address.
>> The current bonding PMD driver call mac_address_slaves_update function to
>> modify the MAC address of all slaves devices: the primary port using bond
>> device's MAC address, and other slaves devices using the respective MAC
>> address. We found that one error using primary_port instead of
>> current_primary_port in mac_address_slaves_update function.
>> On the other hand, The current bonding PMD driver sets slave devices's MAC
>> address according to the variable named current_primary_port. The variable
>> named current_primary_port changes in the following scenario:
>> 1. Add the slave devices to bond, the first slave port will be regardes as
>>     the current_primary_port. If changing the order of adding the slave
>>     devices, the value of the variable named current_primary_port will be
>>     different.
>> 2. The upper application specifies primary_port via calling the
>>     rte_eth_bond_primary_set API function.
>> 3. Delete the primary slave device.
>> 4. The link status of the primary port changes from up to down.
>> We have tested the above 4 cases and found that there are problems that
>> the new primary port's MAC address didn't change to the bond device's MAC
>> address when running case 3 and 4. When current_primary_port changes, the
>> new primary port's MAC address should change at the same time. We also need
>> to call mac_address_slaves_update function to update MAC addresses in case
>> 3 and 4.
>> For more details please refer to:
>> https://bugs.dpdk.org/show_bug.cgi?id=256
>> Bugzilla ID: 256
>> Fixes: 2efb58cbab6e ("bond: new link bonding library")
>> Cc: stable@dpdk.org
>> Reported-by: Chunsong Feng <fengchunsong@huawei.com>
>> Signed-off-by: Chunsong Feng <fengchunsong@huawei.com>
>> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Please cc the maintainer on the patches. cc'ed Chas for this one.
> I am using './devtools/get-maintainer.sh' script, once you set it up, it helps a
> lot.
Thanks for your suggestion.

  reply	other threads:[~2020-02-28  1:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-25  9:29 [dpdk-dev] [PATCH 0/2] fixes for bonding Wei Hu (Xavier)
2020-02-25  9:29 ` [dpdk-dev] [PATCH 1/2] net/bonding: fix MAC address when switching active port Wei Hu (Xavier)
2020-02-27 17:03   ` Ferruh Yigit
2020-02-28  1:31     ` Wei Hu (Xavier) [this message]
2020-03-02  0:58       ` Wei Hu (Xavier)
2020-02-25  9:29 ` [dpdk-dev] [PATCH 2/2] net/bonding: fix MAC address when one port resets Wei Hu (Xavier)
2020-04-04 14:07   ` Chas Williams
2020-04-17  5:56     ` Wei Hu (Xavier)
2020-03-17  8:56 ` [dpdk-dev] [PATCH 0/2] fixes for bonding Wei Hu (Xavier)
2020-03-28  0:32 ` Wei Hu (Xavier)

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=913f85e0-7d43-2883-ea3c-adbaddf68b6b@163.com \
    --to=xavier_huwei@163.com \
    --cc=chas3@att.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=huwei013@chinasoftinc.com \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git