From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id B9948A0528;
	Sat, 11 Jul 2020 03:21:07 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id D281C1DADE;
	Sat, 11 Jul 2020 03:21:05 +0200 (CEST)
Received: from huawei.com (szxga04-in.huawei.com [45.249.212.190])
 by dpdk.org (Postfix) with ESMTP id F34221C1FB;
 Sat, 11 Jul 2020 03:21:03 +0200 (CEST)
Received: from DGGEMS401-HUB.china.huawei.com (unknown [172.30.72.59])
 by Forcepoint Email with ESMTP id 75C0CA2F21FA6CDA780D;
 Sat, 11 Jul 2020 09:21:00 +0800 (CST)
Received: from [10.69.31.206] (10.69.31.206) by DGGEMS401-HUB.china.huawei.com
 (10.3.19.201) with Microsoft SMTP Server id 14.3.487.0;
 Sat, 11 Jul 2020 09:20:52 +0800
To: luyicai <luyicai@huawei.com>, <dev@dpdk.org>, Thomas Monjalon
 <thomas@monjalon.net>
References: <1589887092-26360-1>
 <1594351775-30864-1-git-send-email-luyicai@huawei.com>
CC: <chas3@att.com>, <zhangliang@bigo.sg>, <chenchanghu@huawei.com>,
 <jerry.lilijun@huawei.com>, <haifeng.lin@huawei.com>,
 <guohongzhi1@huawei.com>, <stable@dpdk.org>, "Wei Hu (Xavier)"
 <xavier.huwei@huawei.com>
From: "Wei Hu (Xavier)" <xavier.huwei@huawei.com>
Message-ID: <9fc7792c-690d-8745-57d8-7235c48cad8f@huawei.com>
Date: Sat, 11 Jul 2020 09:20:52 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101
 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <1594351775-30864-1-git-send-email-luyicai@huawei.com>
Content-Type: text/plain; charset="windows-1252"; format=flowed
Content-Transfer-Encoding: 7bit
X-Originating-IP: [10.69.31.206]
X-CFilter-Loop: Reflected
Subject: Re: [dpdk-dev] [PATCH V2] net/bonding: fix lacp negotiation failed
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>


On 2020/7/10 11:29, luyicai wrote:
> From: Yicai Lu <luyicai@huawei.com>
>
> When two host is connected directly without any devices like switch,
> rx_machine_update would recieving partner lacp negotiation packets,
> and partner's port mac is filled with zeros in this packet,
> which is different with internal's mode4 mac. So in this situation,
> it would never go rx_machine branch and then execute mac swap for negotiation!
> Thus bond mode 4 will negotiation failed.
>
> Fixes: 56cbc0817399 ("net/bonding: fix LACP negotiation")
> Cc: stable@dpdk.org
>
> Signed-off-by: luyicai <luyicai@huawei.com>
> ---
> v1 -> v2: Adjust commit info style
> ---
>   drivers/net/bonding/rte_eth_bond_8023ad.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
> index b77a37d..2002ec0 100644
> --- a/drivers/net/bonding/rte_eth_bond_8023ad.c
> +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
> @@ -798,7 +798,8 @@
>   		RTE_ASSERT(lacp->lacpdu.subtype == SLOW_SUBTYPE_LACP);
>   
>   		partner = &lacp->lacpdu.partner;
> -		if (rte_is_same_ether_addr(&partner->port_params.system,
> +		if (rte_is_zero_ether_addr(&partner->port_params.system) ||
> +			rte_is_same_ether_addr(&partner->port_params.system,
>   			&internals->mode4.mac_addr)) {
>   			/* This LACP frame is sending to the bonding port
>   			 * so pass it to rx_machine.