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 506BDA054A for ; Tue, 25 Oct 2022 17:08:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2F38142C45; Tue, 25 Oct 2022 17:08:11 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id B614B42C1D for ; Tue, 25 Oct 2022 17:08:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666710489; 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=7SjLu8cIA+adNh7943xOJJcNO1y71Oe99fEiZFdFo+g=; b=QNQp+UH+RXqqEfDHpS371bacyiKZ16+13rb3NUq3EsdV3s7xTOQGQ5Zmyq3fs8pOIf8k6b ji+YsVp3Uoel5cTN9grhn2WY+0Vy/lUswQ8ZmyUq7Q1yhFeJ6ILq9lTNXJuWLOi7erEtal DTDaqNu+YeBFgGN2R/Dent/s5KrFab4= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-338-R_WgMJ9cOg2nXWyN8Nj8Ig-1; Tue, 25 Oct 2022 11:08:07 -0400 X-MC-Unique: R_WgMJ9cOg2nXWyN8Nj8Ig-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DF5E8101A5B3; Tue, 25 Oct 2022 15:08:06 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.13]) by smtp.corp.redhat.com (Postfix) with ESMTP id D5BF64A9254; Tue, 25 Oct 2022 15:08:05 +0000 (UTC) From: Kevin Traynor To: Yunjian Wang Cc: Min Hu , dpdk stable Subject: patch 'net/bonding: fix double slave link status query' has been queued to stable release 21.11.3 Date: Tue, 25 Oct 2022 16:06:01 +0100 Message-Id: <20221025150734.142189-6-ktraynor@redhat.com> In-Reply-To: <20221025150734.142189-1-ktraynor@redhat.com> References: <20221025150734.142189-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 Hi, FYI, your patch has been queued to stable release 21.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/01/22. 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 This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/e9c74a0c19defb06b5ecc7890d2022a0bfba9cdf Thanks. Kevin --- >From e9c74a0c19defb06b5ecc7890d2022a0bfba9cdf Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Wed, 13 Jul 2022 19:11:13 +0800 Subject: [PATCH] net/bonding: fix double slave link status query [ upstream commit ac95744076a72c0a150a988cc9042a5422e5041f ] When link status polling mode is used, the slave link status is queried twice, which may be inconsistent. To fix this, we can keep the latest queried link state. Fixes: a45b288ef21a ("bond: support link status polling") Signed-off-by: Yunjian Wang Acked-by: Min Hu (Connor) --- drivers/net/bonding/rte_eth_bond_pmd.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 6f739cf247..ac60614d25 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2420,7 +2420,4 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) if (slave_ethdev->data->dev_link.link_status != internals->slaves[i].last_link_status) { - internals->slaves[i].last_link_status = - slave_ethdev->data->dev_link.link_status; - bond_ethdev_lsc_event_callback(internals->slaves[i].port_id, RTE_ETH_EVENT_INTR_LSC, @@ -2921,5 +2918,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, uint8_t lsc_flag = 0; int valid_slave = 0; - uint16_t active_pos; + uint16_t active_pos, slave_idx; uint16_t i; @@ -2942,4 +2939,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, if (internals->slaves[i].port_id == port_id) { valid_slave = 1; + slave_idx = i; break; } @@ -3030,4 +3028,5 @@ link_update: */ bond_ethdev_link_update(bonded_eth_dev, 0); + internals->slaves[slave_idx].last_link_status = link.link_status; if (lsc_flag) { -- 2.37.3 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-10-25 14:18:58.725001207 +0100 +++ 0006-net-bonding-fix-double-slave-link-status-query.patch 2022-10-25 14:18:58.358797901 +0100 @@ -1 +1 @@ -From ac95744076a72c0a150a988cc9042a5422e5041f Mon Sep 17 00:00:00 2001 +From e9c74a0c19defb06b5ecc7890d2022a0bfba9cdf Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ac95744076a72c0a150a988cc9042a5422e5041f ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 02c96f697d..fd2d95a751 100644 +index 6f739cf247..ac60614d25 100644 @@ -23 +24 @@ -@@ -2419,7 +2419,4 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) +@@ -2420,7 +2420,4 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) @@ -31 +32 @@ -@@ -2920,5 +2917,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2921,5 +2918,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -38 +39 @@ -@@ -2941,4 +2938,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2942,4 +2939,5 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -44 +45 @@ -@@ -3029,4 +3027,5 @@ link_update: +@@ -3030,4 +3028,5 @@ link_update: