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 5CEC243CAD for ; Thu, 14 Mar 2024 01:10:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53FDD40297; Thu, 14 Mar 2024 01:10:54 +0100 (CET) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mails.dpdk.org (Postfix) with ESMTP id 087064021E for ; Thu, 14 Mar 2024 01:10:52 +0100 (CET) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-413eee86528so3010475e9.3 for ; Wed, 13 Mar 2024 17:10:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710375052; x=1710979852; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lSS3QObI9DP9DUpBPrPkRCZZW8SvxhEr4iGZ0XGWDOw=; b=R0LXCxgB3/gwVPHEuySYcar96va8gefOOAchUxuK6GSxQgssTKd1FHxIcg08fbNYgP 0J6SAaumagHfIwOZzbBuhAfh0c8KayQBgIuoscrvXdWtbhF57miPLQh77KVgTYeNEhlg w6Umd9zq+MFQd2O8Fp0iMjsyUlw/bQD6WUI2GWrNSha3P5bSD58hjBI+5XP9gA/qJUAc mkAhUONUNtTX4lSQIPCQG5wGPX9MjKQoCs1lNszdwb29A5nILYUg+euITMfsPyanwCtP rniGbmtWVfWmDSYEGGdnRH5r4PgnZfFEy7sSRjWVJbcmRNjYKGIvz54+mA1alUTskgw4 dT7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710375052; x=1710979852; 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=lSS3QObI9DP9DUpBPrPkRCZZW8SvxhEr4iGZ0XGWDOw=; b=j+VBIYH0Ro+DCiRlUnc1ewJvHGJT2GfmTwLl5oFstNVMCiOrEv0SywcjicmOyK4R51 q5eI9IrlF3e2WbkhPW8WTIOWNlfE5TRVPTAG9qYMO8K2KfX8+X7DEwPMcjOE9E8Efghv s7ZblFNCzUtpXgiw3yHdu5tHWv7E6R+bdyOk5naA+3SLuG+OtLOEEYYJvROgje6dFjKV Nk3eDyEr4xZcg7A2SK0YSaA/GF5uT+ywAEkEYLY/sNR/vxJAgx9uNAotes5Gux7MyXJS 01ZrK6HXGS3XolaO+AdCJ/cELdu/VGy5FJdVHBv7d72BdieWFHwTMhYnKfL2DnMwrI5X xFgA== X-Gm-Message-State: AOJu0Yw2Sruh2eDzWtEqA/yOIMc+LqsSWg5sxA4IGboLTHiHS6+NE1/X b/r3wBiSxCG+TtYCo1B7R1Yp3rMUbXGouKOZ49XCSh/VmlS/FT8/0jZwg4HT X-Google-Smtp-Source: AGHT+IHFb4S17u55cLFcZAtedoY56qejQSpsqTGvgLVDFsXK91wH2OVd+U3/BjxMXs2bUHsqo51Ffg== X-Received: by 2002:a05:600c:1d86:b0:413:ff0:7928 with SMTP id p6-20020a05600c1d8600b004130ff07928mr230457wms.4.1710375051617; Wed, 13 Mar 2024 17:10:51 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:7aef:1aaa:3dff:d546]) by smtp.gmail.com with ESMTPSA id k27-20020a05600c1c9b00b0041339453775sm3776483wms.48.2024.03.13.17.10.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 17:10:51 -0700 (PDT) From: luca.boccassi@gmail.com To: Stephen Hemminger Cc: dpdk stable Subject: patch 'net/tap: do not overwrite flow API errors' has been queued to stable release 22.11.5 Date: Thu, 14 Mar 2024 00:09:13 +0000 Message-Id: <20240314000957.2810803-17-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240314000957.2810803-1-luca.boccassi@gmail.com> References: <20240307013159.1735343-102-luca.boccassi@gmail.com> <20240314000957.2810803-1-luca.boccassi@gmail.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 22.11.5 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/16/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/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/337a1fa674563c0a575f0f9c671a8e53f390f5e0 Thanks. Luca Boccassi --- >From 337a1fa674563c0a575f0f9c671a8e53f390f5e0 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 efe66fe059..431ce37e12 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -1082,8 +1082,11 @@ 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) { const struct tap_flow_items *token = NULL; @@ -1199,9 +1202,12 @@ actions: if (action) 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 = { .id = "skbedit", @@ -1227,7 +1233,7 @@ actions: if (!pmd->rss_enabled) { err = rss_enable(pmd, attr, error); if (err) - goto exit_action_not_supported; + goto exit_return_error; } if (flow) err = rss_add_actions(flow, pmd, rss, error); @@ -1235,7 +1241,7 @@ actions: goto exit_action_not_supported; } if (err) - goto exit_action_not_supported; + goto exit_return_error; } /* When fate is unknown, drop traffic. */ if (!action) { @@ -1258,6 +1264,7 @@ exit_item_not_supported: 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.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-03-14 00:09:21.550539113 +0000 +++ 0017-net-tap-do-not-overwrite-flow-API-errors.patch 2024-03-14 00:09:20.585614666 +0000 @@ -1 +1 @@ -From 11b90b53c6716ca9bc713bab6cfba039fe8e38cb Mon Sep 17 00:00:00 2001 +From 337a1fa674563c0a575f0f9c671a8e53f390f5e0 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 efe66fe059..431ce37e12 100644