From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C980141BAA for ; Thu, 2 Feb 2023 09:39:15 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 933B242B7E; Thu, 2 Feb 2023 09:39:15 +0100 (CET) Received: from mail2.protei.ru (mail2.protei.ru [62.152.87.202]) by mails.dpdk.org (Postfix) with ESMTP id CF4C840C35 for ; Mon, 30 Jan 2023 12:27:39 +0100 (CET) Received: from smtp.protei.ru (unknown [10.0.0.6]) by mail2.protei.ru (Postfix) with ESMTP id 71D9910A4142 for ; Mon, 30 Jan 2023 14:27:39 +0300 (MSK) Received: from localhost (unknown [127.0.0.1]) by smtp.protei.ru (Postfix) with ESMTP id 5597DDBDECB for ; Mon, 30 Jan 2023 11:27:39 +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 zR2lTWIoprD8 for ; Mon, 30 Jan 2023 14:27:39 +0300 (MSK) Received: from [172.30.246.158] (unknown [172.30.246.158]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.protei.ru (Postfix) with ESMTPSA id 3FD03DBD8A5 for ; Mon, 30 Jan 2023 14:27:39 +0300 (MSK) Message-ID: Date: Mon, 30 Jan 2023 14:27:39 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 To: users@dpdk.org Content-Language: en-US From: Viktor Vasiliev Subject: bond mode 8023ad LACP system id changes when link goes down Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Thu, 02 Feb 2023 09:39:14 +0100 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hello, I have troubles with bond mode 8023ad. I have two bonded network adapters connected to my router. When one of router's ports goes down and second port continues working, then LACP system id is changed. As a result, I got the message: "preferred partner system not equal self system". I expect that system id should not change in this case. I tried to set bond mac using rte_eth_bond_mac_address_set, but it did not help. The system id in LACP frames was copied from mac address of physical network adapter. I've looked at DPDK source code, drivers/net/bonding/rte_eth_bond_8023ad.c, functions bond_mode_8023ad_mac_address_update and bond_mode_8023ad_periodic_cb, and found this call: rte_ether_addr_copy(&slave_addr, &port->actor.system); where slave_addr is the mac address of physical network adapter. So, there's no chance to use manually assigned bond mac as actor system id. I've modified the sources like this and rebuild DPDK: rte_ether_addr_copy(/*&slave_addr*/ &(bond_dev->data->mac_addrs[0]), &slave->actor.system); Now it works, bond mac is used as actor system id in LACP frames, and there's no "preferred partner system not equal self system" message. Please tell if there's another way to achieve my goal, or modifying DPDK sources is the only solution. If so, is it a bug in DPDK? Thank you in advance, Viktor Vasiliev