From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CF612A00C5; Thu, 4 Jun 2020 09:52:17 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 40F531D5DA; Thu, 4 Jun 2020 09:52:16 +0200 (CEST) Received: from mail2.protei.ru (mail2.protei.ru [62.152.87.202]) by dpdk.org (Postfix) with ESMTP id 1C16C1D5C7 for ; Thu, 4 Jun 2020 09:52:15 +0200 (CEST) Received: from smtp.protei.ru (imap.protei.ru [10.0.0.6]) by mail2.protei.ru (Postfix) with ESMTP id BA4261087747; Thu, 4 Jun 2020 10:52:13 +0300 (MSK) Received: from localhost (unknown [127.0.0.1]) by smtp.protei.ru (Postfix) with ESMTP id 8F94EC9F3AB; Thu, 4 Jun 2020 07:52:13 +0000 (UTC) Received: from smtp.protei.ru ([127.0.0.1]) by localhost (imap.protei.ru [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id QxH52TsF18gr; Thu, 4 Jun 2020 10:52:13 +0300 (MSK) Received: from [172.18.240.231] (unknown [172.18.240.231]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.protei.ru (Postfix) with ESMTPSA id 5AF71C9C1D5; Thu, 4 Jun 2020 10:52:13 +0300 (MSK) To: Ferruh Yigit , Chas Williams , "Wei Hu (Xavier)" , "Wei Hu (Xavier)" Cc: dev@dpdk.org References: <20191125180323.E0B174C90@dpdk.org> <20191126115508.11138-1-podovinnikov@protei.ru> <906848bc-7411-79dd-0ee1-c0f3c5d1ff16@intel.com> <96d3e5ae-ad62-2f7d-c91f-e13d170d210d@intel.com> <2100656d-c4e1-1aed-8d7c-1e728371ea2a@intel.com> From: podovinnikov Message-ID: <02db28db-1bed-08d3-95ef-46ed787b6ca1@protei.ru> Date: Thu, 4 Jun 2020 10:52:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <2100656d-c4e1-1aed-8d7c-1e728371ea2a@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v2] fix lacp check system address X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Ferruh! Unfortunately I didn't see any patch from this link https://patchwork.dpdk.org/user/todo/dpdk/?series=8679 10.04.2020 13:24, Ferruh Yigit пишет: > On 4/10/2020 11:21 AM, Ferruh Yigit wrote: >> On 4/10/2020 11:15 AM, Ferruh Yigit wrote: >>> On 11/26/2019 3:09 PM, podovinnikov wrote: >>>> Hi Ferruh >>>> >>>>> This is bonding patch, please cc bonding maintainers (Chas, instead of John W. >>>>> Linville). >>>> Sorry about that. I have 2 patches ( one for af packet, one for bonding). >>>> >>>> I am a little confused. >>>> >>>> >>>>> Can you please give more details, what is failing what is the impact etc. >>>> In bond (lacp) we have several nics ( ports ) >>>> >>>> When we have negotiation with peer about what port we prefer, >>>> >>>> we send information about what system we preferred in partner system >>>> name field. >>>> >>>> Peer also sends us what partner system name it prefer. >>>> >>>> When we receive a message from it we must compare its preferred >>>> >>>> system name with our system name, but not with our port mac address >>>> >>>> In my test I have several problems with that >>>> >>>> 1. If master port (mac address same as system address) >>>> >>>> shuts down (I have two ports) I loose connection >>>> >>>> 2. If secondary port (mac address not same as system address) >>>> >>>> receives message before master port, my connection is not established. >>> Hi Vadim, >>> >>> Thanks for the info and sorry for late response, it is sitting in backlog for a >>> long time now. >>> >>> @Chas, do you have any objection on the fix, if not I am planning to merge it soon. >>> >>> Thanks, >>> ferruh >> cc'ed Xavier, he also has a bonding patch in the backlog waiting for review [1]. >> >> >> Vadim, Xavier, >> >> Since you both send bonding patches, I assume you both know about bonding at >> some level, at least more than me, so would you mind reviewing eachother's >> patch? So both can go it. > + other email address of the Xavier. > >> Thanks, >> ferruh >> >> >> [1] >> https://patchwork.dpdk.org/user/todo/dpdk/?series=8679 >> >>>> >>>> 26.11.2019 16:27, Ferruh Yigit пишет: >>>>> Hi Vadim, >>>>> >>>>> On 11/26/2019 11:55 AM, Vadim wrote: >>>>>> Signed-off-by: Vadim >>>>> Can you please provide full "Name Surname " signature? >>>>> >>>>> >>>>> This is bonding patch, please cc bonding maintainers (Chas, instead of John W. >>>>> Linville). >>>>> >>>>>> fix lacp check system address >>>>> Can you please give more details, what is failing what is the impact etc. >>>>> >>>>>> --- >>>>>> drivers/net/bonding/rte_eth_bond_8023ad.c | 17 ++++++++++++++++- >>>>>> 1 file changed, 16 insertions(+), 1 deletion(-) >>>>>> >>>>>> diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c >>>>>> index b77a37ddb..d4dda790a 100644 >>>>>> --- a/drivers/net/bonding/rte_eth_bond_8023ad.c >>>>>> +++ b/drivers/net/bonding/rte_eth_bond_8023ad.c >>>>>> @@ -792,18 +792,33 @@ rx_machine_update(struct bond_dev_private *internals, uint16_t slave_id, >>>>>> struct rte_mbuf *lacp_pkt) { >>>>>> struct lacpdu_header *lacp; >>>>>> struct lacpdu_actor_partner_params *partner; >>>>>> + struct port *port, *agg; >>>>>> >>>>>> if (lacp_pkt != NULL) { >>>>>> lacp = rte_pktmbuf_mtod(lacp_pkt, struct lacpdu_header *); >>>>>> RTE_ASSERT(lacp->lacpdu.subtype == SLOW_SUBTYPE_LACP); >>>>>> >>>>>> partner = &lacp->lacpdu.partner; >>>>>> + port = &bond_mode_8023ad_ports[slave_id]; >>>>>> + agg = &bond_mode_8023ad_ports[port->aggregator_port_id]; >>>>>> + >>>>>> if (rte_is_same_ether_addr(&partner->port_params.system, >>>>>> - &internals->mode4.mac_addr)) { >>>>>> + &agg->actor.system)) { >>>>>> /* This LACP frame is sending to the bonding port >>>>>> * so pass it to rx_machine. >>>>>> */ >>>>>> rx_machine(internals, slave_id, &lacp->lacpdu); >>>>>> + } else { >>>>>> + char preferred_system_name[RTE_ETHER_ADDR_FMT_SIZE]; >>>>>> + char self_system_name[RTE_ETHER_ADDR_FMT_SIZE]; >>>>>> + rte_ether_format_addr(preferred_system_name, >>>>>> + RTE_ETHER_ADDR_FMT_SIZE, >>>>>> + &partner->port_params.system); >>>>>> + rte_ether_format_addr(self_system_name, >>>>>> + RTE_ETHER_ADDR_FMT_SIZE, &agg->actor.system); >>>>>> + MODE4_DEBUG("preferred partner system %s not equal " >>>>>> + "self system: %s\n", >>>>>> + preferred_system_name, self_system_name); >>>>>> } >>>>>> rte_pktmbuf_free(lacp_pkt); >>>>>> } else >>>>>>