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>,
	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
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?


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

  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:

* 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 \


* 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