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 317AA43B67 for ; Fri, 8 Mar 2024 15:31:06 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2C25342FA7; Fri, 8 Mar 2024 15:31:06 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id AFC2942F3F for ; Fri, 8 Mar 2024 15:31:04 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1709908263; 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=N/fQbqN4JQ7mVvyjBwpWtArLt3Vs9chyVb1hg6pnpMY=; b=cFCvtfBLR0kTjtAC1n9RcrrNkPaIUnKYTfU60w9G6H0MiF4DFS3UlPYFokzf3rUW7evXEq tU/z8goMn5r6bMefitLdwxOR4IgQuiAIUZkpKgbmAZAnTqKvI5n6G/vggMFuvdLkK1OC7b GyB2o28ta4jNrgQC12TIsqTslAly3bg= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-553-IRN4TiXmOT2PJgvAMQYhcw-1; Fri, 08 Mar 2024 09:30:58 -0500 X-MC-Unique: IRN4TiXmOT2PJgvAMQYhcw-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5EFFE85A58B; Fri, 8 Mar 2024 14:30:58 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.194.94]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8EF5237FC; Fri, 8 Mar 2024 14:30:57 +0000 (UTC) From: Kevin Traynor To: Stephen Hemminger Cc: dpdk stable Subject: patch 'net/tap: do not overwrite flow API errors' has been queued to stable release 21.11.7 Date: Fri, 8 Mar 2024 14:27:57 +0000 Message-ID: <20240308142824.528417-9-ktraynor@redhat.com> In-Reply-To: <20240308142824.528417-1-ktraynor@redhat.com> References: <20240308142824.528417-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1 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.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/13/24. 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/f87697c6ad9d176d57a5252dc7bcbca361cabc04 Thanks. Kevin --- >From f87697c6ad9d176d57a5252dc7bcbca361cabc04 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 29 Feb 2024 09:31:07 -0800 Subject: [PATCH] net/tap: do not overwrite flow API errors [ upstream commit 11b90b53c6716ca9bc713bab6cfba039fe8e38cb ] All flow errors were ending up being reported as not supported, even when the error path was previously setting a valid and better error message. Example, asking for a non-existent queue in flow. Before: testpmd> flow create 0 ingress pattern eth src is 06:05:04:03:02:01 \ / end actions queue index 12 / end port_flow_complain(): Caught PMD error type 16 (specific action): cause: 0x7fffc46c1e18, action not supported: Operation not supported After: testpmd> flow create 0 ingress pattern eth src is 06:05:04:03:02:01 \ / end actions queue index 12 / end port_flow_complain(): Caught PMD error type 16 (specific action): cause: 0x7fffa54e1d88, queue index out of range: Numerical result out of range Fixes: f46900d03823 ("net/tap: fix flow and port commands") Fixes: de96fe68ae95 ("net/tap: add basic flow API patterns and actions") Signed-off-by: Stephen Hemminger --- drivers/net/tap/tap_flow.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c index f53bc297f8..e086cabf74 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -1083,6 +1083,9 @@ priv_flow_process(struct pmd_internals *pmd, /* use flower filter type */ tap_nlattr_add(&flow->msg.nh, TCA_KIND, sizeof("flower"), "flower"); - if (tap_nlattr_nested_start(&flow->msg, TCA_OPTIONS) < 0) - goto exit_item_not_supported; + if (tap_nlattr_nested_start(&flow->msg, TCA_OPTIONS) < 0) { + rte_flow_error_set(error, ENOMEM, RTE_FLOW_ERROR_TYPE_ACTION, + actions, "could not allocated netlink msg"); + goto exit_return_error; + } } for (; items->type != RTE_FLOW_ITEM_TYPE_END; ++items) { @@ -1200,7 +1203,10 @@ actions: goto exit_action_not_supported; action = 1; - if (!queue || - (queue->index > pmd->dev->data->nb_rx_queues - 1)) - goto exit_action_not_supported; + if (queue->index >= pmd->dev->data->nb_rx_queues) { + rte_flow_error_set(error, ERANGE, + RTE_FLOW_ERROR_TYPE_ACTION, actions, + "queue index out of range"); + goto exit_return_error; + } if (flow) { struct action_data adata = { @@ -1228,5 +1234,5 @@ actions: err = rss_enable(pmd, attr, error); if (err) - goto exit_action_not_supported; + goto exit_return_error; } if (flow) @@ -1236,5 +1242,5 @@ actions: } if (err) - goto exit_action_not_supported; + goto exit_return_error; } /* When fate is unknown, drop traffic. */ @@ -1259,4 +1265,5 @@ exit_action_not_supported: rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION, actions, "action not supported"); +exit_return_error: return -rte_errno; } -- 2.43.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-03-08 13:47:49.326257442 +0000 +++ 0009-net-tap-do-not-overwrite-flow-API-errors.patch 2024-03-08 13:47:48.993686588 +0000 @@ -1 +1 @@ -From 11b90b53c6716ca9bc713bab6cfba039fe8e38cb Mon Sep 17 00:00:00 2001 +From f87697c6ad9d176d57a5252dc7bcbca361cabc04 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 11b90b53c6716ca9bc713bab6cfba039fe8e38cb ] + @@ -27 +28,0 @@ -Cc: stable@dpdk.org @@ -35 +36 @@ -index ed4d42f92f..5b0fee9064 100644 +index f53bc297f8..e086cabf74 100644