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 80D83A0544 for ; Fri, 11 Nov 2022 12:39:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C341427EB; Fri, 11 Nov 2022 12:39:23 +0100 (CET) Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by mails.dpdk.org (Postfix) with ESMTP id B267B40141 for ; Fri, 11 Nov 2022 12:39:22 +0100 (CET) Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 8845B412C7 for ; Fri, 11 Nov 2022 11:39:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1668166762; bh=fswN31VbMOGufj9pfXrnrZT+ukeIIJGwzqO9yqsl8R8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZklFQ9iQsYZdjDYsfk2CQJ+454SXuPrvcbvaMpKP1nMtiz6yCTQBCXS7DCJppLZ3Q Uqru6QpXZFHhl9iXC36lLEHpcuPbOVEdkGaZNt0U6Jo+OYbvwjr0HLsqgQvtC0HvOw 6BHC31cq6MZJBcPj7qvG5rRXtMXjtb/4OFieRRgTeBv8j8/njopv1hG6Lwm4ASEJD8 T9gjppYS/2leYLm/7l1hurR+ocDPfRNBpw4yY8yDBCnmW/hbAOjVeWr3iGfHPDbMar yoRHErFK8jfBp3eGFps9tG3AlywyZkJekGLunbA/lL5znAVbWFOG2ga7JA9iDlWne5 2u9+Q5+vbq7HQ== Received: by mail-ed1-f72.google.com with SMTP id b14-20020a056402278e00b004621a2642d7so3464902ede.1 for ; Fri, 11 Nov 2022 03:39:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fswN31VbMOGufj9pfXrnrZT+ukeIIJGwzqO9yqsl8R8=; b=JT2O5Vl6DxnZI2a13i4iy04RQHbOVsj0xHncv/1uFO+o4F6ijif9kxwMk1qunza6Xk FP7CuHQz3jn+zjg/pkZs2VV9Dz4YU8MjEcWiDHaM9yPuRyTS+aMXrxumAGOrpTd+NI6L QpX2XEatw2XRNpdmRfAngrORA6q8alVTIiE/cq6BOl1ZxvQWJC7yN9P62fezZErjnPwo JtWYS4mkTh9ZQVtKx2qLNeyXO+lkYWAXMFOq6z5BWXyVGgKdweZEeuldJ3XuPHr/YwA4 LY7JJQUVAMMmaVoNk0ztL70aBNymMpBwN6wCNpjaNbuEMBVS8s5vy2/UTVi8XjivaWCW 4U+A== X-Gm-Message-State: ANoB5pkMjpbANkEO2xSNZ7yv5nxJzKxLtzEWvXkmeRNk1Ul28JGuMzAm 7ElZKxP883EDrSfL2YlqCIgl9SMhA0s+S0flZ4DcSKt2hacqWEnyu3tV9aWITpKHTKt3XebVg3E xC1nNtNSEQJcnFBnLqfF/2Y1/ X-Received: by 2002:a17:906:1c08:b0:78d:39ac:3129 with SMTP id k8-20020a1709061c0800b0078d39ac3129mr1675122ejg.24.1668166761843; Fri, 11 Nov 2022 03:39:21 -0800 (PST) X-Google-Smtp-Source: AA0mqf7pAA+qq6DC6iVTe0diBAc5nNIknMX071kvK0YQ8c+HemqzvC72Tv1yqINmJRCXPk7SdOz90A== X-Received: by 2002:a17:906:1c08:b0:78d:39ac:3129 with SMTP id k8-20020a1709061c0800b0078d39ac3129mr1675099ejg.24.1668166761656; Fri, 11 Nov 2022 03:39:21 -0800 (PST) Received: from localhost.localdomain ([2a02:6d40:39af:c100:1891:6c61:50fd:e567]) by smtp.gmail.com with ESMTPSA id vi2-20020a170907d40200b007933047f923sm774128ejc.118.2022.11.11.03.39.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Nov 2022 03:39:21 -0800 (PST) From: christian.ehrhardt@canonical.com To: Yunjian Wang Cc: Min Hu , dpdk stable Subject: patch 'net/bonding: fix double slave link status query' has been queued to stable release 19.11.14 Date: Fri, 11 Nov 2022 12:38:22 +0100 Message-Id: <20221111113904.1549618-5-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221111113904.1549618-1-christian.ehrhardt@canonical.com> References: <20221111113904.1549618-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 19.11.14 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/18/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/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd Thanks. Christian Ehrhardt --- >From ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd 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 c8bd7064ce..2032b3af50 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2358,9 +2358,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) * event callback */ 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, &bonded_ethdev->data->port_id, @@ -2859,7 +2856,7 @@ 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; if (type != RTE_ETH_EVENT_INTR_LSC || param == NULL) @@ -2880,6 +2877,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, for (i = 0; i < internals->slave_count; i++) { if (internals->slaves[i].port_id == port_id) { valid_slave = 1; + slave_idx = i; break; } } @@ -2968,6 +2966,7 @@ link_update: * slaves */ bond_ethdev_link_update(bonded_eth_dev, 0); + internals->slaves[slave_idx].last_link_status = link.link_status; if (lsc_flag) { /* Cancel any possible outstanding interrupts if delays are enabled */ -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.973394063 +0100 +++ 0005-net-bonding-fix-double-slave-link-status-query.patch 2022-11-11 12:35:04.709191710 +0100 @@ -1 +1 @@ -From ac95744076a72c0a150a988cc9042a5422e5041f Mon Sep 17 00:00:00 2001 +From ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd 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 c8bd7064ce..2032b3af50 100644 @@ -23 +24 @@ -@@ -2418,9 +2418,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) +@@ -2358,9 +2358,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) @@ -33 +34 @@ -@@ -2919,7 +2916,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2859,7 +2856,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -42 +43 @@ -@@ -2940,6 +2937,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2880,6 +2877,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -50 +51 @@ -@@ -3028,6 +3026,7 @@ link_update: +@@ -2968,6 +2966,7 @@ link_update: