From: "Wei Hu (Xavier)" <xavier_huwei@163.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
"Wei Hu (Xavier)" <huwei013@chinasoftinc.com>,
dev@dpdk.org, chas3@gmail.com
Cc: Chas Williams <chas3@att.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] net/bonding: fix MAC address when switching active port
Date: Mon, 2 Mar 2020 08:58:58 +0800 [thread overview]
Message-ID: <a313ac23-cf36-1784-d12d-aa8a94db97c8@163.com> (raw)
In-Reply-To: <913f85e0-7d43-2883-ea3c-adbaddf68b6b@163.com>
Hi, Chas Williams
Could you please give some suggestion on these patches?
Thanks.
Regards
Xavier
On 2020/2/28 9:31, Wei Hu (Xavier) wrote:
> 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.
> Regards
> Xavier
next prev parent reply other threads:[~2020-03-02 0:59 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)
2020-03-02 0:58 ` Wei Hu (Xavier) [this message]
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:
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=a313ac23-cf36-1784-d12d-aa8a94db97c8@163.com \
--to=xavier_huwei@163.com \
--cc=chas3@att.com \
--cc=chas3@gmail.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=huwei013@chinasoftinc.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 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).