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 E9836A0524 for ; Fri, 5 Feb 2021 12:30:52 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E40944067B; Fri, 5 Feb 2021 12:30:52 +0100 (CET) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mails.dpdk.org (Postfix) with ESMTP id 4205E188946 for ; Fri, 5 Feb 2021 12:30:51 +0100 (CET) Received: by mail-wm1-f42.google.com with SMTP id 190so5752473wmz.0 for ; Fri, 05 Feb 2021 03:30:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=yjmYsghDy2tz1XKclNgFy1RJEYK3eJv7E/Xzwj4J8lM=; b=sy/F27/hCCnDwBWO3mtu7j+svUH6y8Vwb4o6aStZZyxTF30qwHyA07XTpHQkkh+0Tg RMI07zG56uY/lMiYCcns1BNcLl6TuYolIhjKlW1JlslfiHW8FXSUrcwxIq079tcxtXrq vgNBj4C+54CeelZIspfbFAleYi7zWEm3QkEpOjfenrE7LY02Y9GfYUwzzISNeaO5D+9A zpmu06wge6OY0tApHdnHHmqQCR157koFoMLCPa4xv7Sa2k92u29x6ic1z8bUe27BuL0x 12VACxsky+JqFWbsR8pfIVrSSoDU7QxqnQeWPfjhD+2XAgdrteAiOc4wVFoA7oQjimZT emWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yjmYsghDy2tz1XKclNgFy1RJEYK3eJv7E/Xzwj4J8lM=; b=o/+ODrDPMSDG7BtEvYwYttV17OWi6Kxv9tYHYrQMTVRwrBhqp7XHpWchrlbE/obZSy MrIimi3DlyECmrltvJRAXDP8bizlMMweGGIf0ue8Lo0eiQkVjJtTy2r2X2jSiB6dxlWX OES3uZJAggmuFVaJsu1kfBjx/7FgOzy266H/pKMLvkcLTITTMEPatTbX7ZyJYh2w4APf OdGD52g13neW+EjnCtcwtMCD5teDwjTtvy3xfQ7R6+OonHQ7jQIlU1G9PjCLa7/l7zXb s+7Na/Xi4aOCN/PjX875U2UrgWLWrmsEulsJxeMAgrQnrFhLPXIfjY1Je3ArK11iFcV1 Znqg== X-Gm-Message-State: AOAM53369rXixtPIs7u/Y08RBavPC6j2t3HeXhQy2z5MtF9EQRUU/oMS +JBGnksq907Kdy1lgUsJldY= X-Google-Smtp-Source: ABdhPJxLeKPpcUT20x4w8RY3eEZTMR+41cja0NjEh0zdwdNgzKMvIz2lZQQchyzx6j9w4JBPv8b8EQ== X-Received: by 2002:a7b:c4c1:: with SMTP id g1mr3154241wmk.145.1612524651070; Fri, 05 Feb 2021 03:30:51 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id t18sm11569686wrr.56.2021.02.05.03.30.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Feb 2021 03:30:50 -0800 (PST) From: luca.boccassi@gmail.com To: Dekel Peled Cc: Matan Azrad , dpdk stable Date: Fri, 5 Feb 2021 11:16:36 +0000 Message-Id: <20210205111920.1272063-110-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210205111920.1272063-1-luca.boccassi@gmail.com> References: <20210205111920.1272063-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/mlx5: fix hairpin flow split decision' has been queued to stable release 20.11.1 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 Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/07/21. 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/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f66821ebc55ff70b57321b2465229c1772bd36fa Thanks. Luca Boccassi --- >From f66821ebc55ff70b57321b2465229c1772bd36fa Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Sun, 10 Jan 2021 19:37:56 +0200 Subject: [PATCH] net/mlx5: fix hairpin flow split decision [ upstream commit 19e13263ed2fc47a32e9ec3ddcfdbf44168d72ac ] Previously, the identification of hairpin queue was done using mlx5_rxq_get_type() function. Recent patch replaced it with use of mlx5_rxq_get_hairpin_conf(), and check of the return value conf != NULL. The case of return value is NULL (queue is not hairpin) was not handled. As result, non-hairpin flows were wrongly handled. This patch adds the required check for return value is NULL. Fixes: 509f8470de55 ("net/mlx5: do not split hairpin flow in explicit mode") Signed-off-by: Dekel Peled Acked-by: Matan Azrad --- drivers/net/mlx5/mlx5_flow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index 5138af9208..bceecdb902 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -3548,7 +3548,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev, if (queue == NULL) return 0; conf = mlx5_rxq_get_hairpin_conf(dev, queue->index); - if (conf != NULL && !!conf->tx_explicit) + if (conf == NULL || conf->tx_explicit != 0) return 0; queue_action = 1; action_n++; @@ -3558,7 +3558,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev, if (rss == NULL || rss->queue_num == 0) return 0; conf = mlx5_rxq_get_hairpin_conf(dev, rss->queue[0]); - if (conf != NULL && !!conf->tx_explicit) + if (conf == NULL || conf->tx_explicit != 0) return 0; queue_action = 1; action_n++; -- 2.29.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-05 11:18:34.165150083 +0000 +++ 0110-net-mlx5-fix-hairpin-flow-split-decision.patch 2021-02-05 11:18:28.974694310 +0000 @@ -1 +1 @@ -From 19e13263ed2fc47a32e9ec3ddcfdbf44168d72ac Mon Sep 17 00:00:00 2001 +From f66821ebc55ff70b57321b2465229c1772bd36fa Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 19e13263ed2fc47a32e9ec3ddcfdbf44168d72ac ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 9c2e0900b6..1790e774ba 100644 +index 5138af9208..bceecdb902 100644 @@ -27 +28 @@ -@@ -3543,7 +3543,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev, +@@ -3548,7 +3548,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev, @@ -36 +37 @@ -@@ -3553,7 +3553,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev, +@@ -3558,7 +3558,7 @@ flow_check_hairpin_split(struct rte_eth_dev *dev,