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 EE1C8A04B1 for ; Fri, 28 Aug 2020 12:13:47 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E5C5BA3; Fri, 28 Aug 2020 12:13:47 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by dpdk.org (Postfix) with ESMTP id C2CA9A3 for ; Fri, 28 Aug 2020 12:13:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1598609626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JXKGWcio4BJbzPX8chqGDBhTWVF0KHBSz8m1ZKX71Xc=; b=GUYLVkSWKk++wzkDYxX+rLeUXnnVjTqZvTeKqOIauCkI4OoOeE+CsJFVwVpZGoZ9zqJ2Yj L70jCqSbeCRwpiK4ZQJFV75fknFCLz7rIGJmPdMhAYVfSHKvNUHxGCUuWm7lYThVdPxKIM RNlKjmNIwl6zvcNVoOg3g/YGrofZcho= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-134-bIQh91G1MPmPBbLPUK_Y5w-1; Fri, 28 Aug 2020 06:13:43 -0400 X-MC-Unique: bIQh91G1MPmPBbLPUK_Y5w-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BA80710ABDBF; Fri, 28 Aug 2020 10:13:41 +0000 (UTC) Received: from rh.redhat.com (unknown [10.33.36.20]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2AA6F1974D; Fri, 28 Aug 2020 10:13:40 +0000 (UTC) From: Kevin Traynor To: "Wei Hu (Xavier)" Cc: Hongbo Zheng , Chunsong Feng , Xuan Li , dpdk stable Date: Fri, 28 Aug 2020 11:12:32 +0100 Message-Id: <20200828101308.223767-6-ktraynor@redhat.com> In-Reply-To: <20200828101308.223767-1-ktraynor@redhat.com> References: <20200828101308.223767-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/bonding: fix MAC address when one port resets' has been queued to LTS release 18.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 09/02/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/84c299a22d28f9e24afdb8d5f2ccea987b0f732e Thanks. Kevin. --- >From 84c299a22d28f9e24afdb8d5f2ccea987b0f732e Mon Sep 17 00:00:00 2001 From: "Wei Hu (Xavier)" Date: Fri, 17 Apr 2020 16:19:18 +0800 Subject: [PATCH] net/bonding: fix MAC address when one port resets [ upstream commit 2d944002762e85e351be7cea432919f159d2ecae ] The current bonding PMD driver call mac_address_slaves_update function to modify the MAC address of all slaves devices. In mac_address_slaves_update function, the rte_eth_dev_default_mac_addr_set API function is called to set the MAC address of the slave devices in turn in the for loop statement. When one port reset, calling rte_eth_dev_default_mac_addr_set API fails because the firmware will not respond to the commands from the driver, and exit the loop, so other slave devices cannot continue to update the MAC address. This patch fixes the issue by avoid exiting the loop when calling rte_eth_dev_default_mac_addr_set fails. Fixes: 2efb58cbab6e ("bond: new link bonding library") Signed-off-by: Hongbo Zheng Signed-off-by: Wei Hu (Xavier) Signed-off-by: Chunsong Feng Signed-off-by: Xuan Li --- drivers/net/bonding/rte_eth_bond_pmd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index d7fb9db0cc..8b410ff19b 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -1457,4 +1457,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) { struct bond_dev_private *internals = bonded_eth_dev->data->dev_private; + bool set; int i; @@ -1484,4 +1485,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) case BONDING_MODE_ALB: default: + set = true; for (i = 0; i < internals->slave_count; i++) { if (internals->slaves[i].port_id == @@ -1492,5 +1494,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) RTE_BOND_LOG(ERR, "Failed to update port Id %d MAC address", internals->current_primary_port); - return -1; + set = false; } } else { @@ -1500,8 +1502,9 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) RTE_BOND_LOG(ERR, "Failed to update port Id %d MAC address", internals->slaves[i].port_id); - return -1; } } } + if (!set) + return -1; } -- 2.26.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-08-28 11:03:26.116365555 +0100 +++ 0006-net-bonding-fix-MAC-address-when-one-port-resets.patch 2020-08-28 11:03:25.902955299 +0100 @@ -1 +1 @@ -From 2d944002762e85e351be7cea432919f159d2ecae Mon Sep 17 00:00:00 2001 +From 84c299a22d28f9e24afdb8d5f2ccea987b0f732e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2d944002762e85e351be7cea432919f159d2ecae ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -32 +33 @@ -index 6f361c7b2c..116e2f29de 100644 +index d7fb9db0cc..8b410ff19b 100644 @@ -35 +36 @@ -@@ -1503,4 +1503,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) +@@ -1457,4 +1457,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) @@ -41 +42 @@ -@@ -1530,4 +1531,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) +@@ -1484,4 +1485,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) @@ -47 +48 @@ -@@ -1538,5 +1540,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) +@@ -1492,5 +1494,5 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) @@ -54 +55 @@ -@@ -1546,8 +1548,9 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev) +@@ -1500,8 +1502,9 @@ mac_address_slaves_update(struct rte_eth_dev *bonded_eth_dev)