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 97DFA4326F for ; Thu, 2 Nov 2023 14:14:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9199B42DE1; Thu, 2 Nov 2023 14:14:12 +0100 (CET) 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 F18C842D80 for ; Thu, 2 Nov 2023 14:14:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1698930850; 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=37Ge/umRkcBVdyATvYfI4Z7CHndnGtNnI7QOF1wpBeg=; b=XPXL90a2iM+z6vZDQUwmyWUjDr2uTAZqrF+dgNBE18ec3XVG7R9gHGc0kDbXIX9aGedYIT b2CFaQNiGcOsqNFJ1TeSAeJWBk8u6fZZIP93zhmMiFH/Q1hWcR/LfOgiBPXFIzBC1A3uhf 9Ba+l2LPLTuJuKmyV/z5uf2wseqol3E= Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-488-jqfUl01EOuG9Tq_pWp4u1A-1; Thu, 02 Nov 2023 09:14:07 -0400 X-MC-Unique: jqfUl01EOuG9Tq_pWp4u1A-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 11A052806051; Thu, 2 Nov 2023 13:14:07 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.45]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2FFFE492BFA; Thu, 2 Nov 2023 13:14:05 +0000 (UTC) From: Kevin Traynor To: Satheesh Paul Cc: Kiran Kumar K , dpdk stable Subject: patch 'common/cnxk: fix default flow action setting' has been queued to stable release 21.11.6 Date: Thu, 2 Nov 2023 13:11:47 +0000 Message-ID: <20231102131254.315947-41-ktraynor@redhat.com> In-Reply-To: <20231102131254.315947-1-ktraynor@redhat.com> References: <20231102131254.315947-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 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.6 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/08/23. 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/b2da49e41868a4ff34e54f23efed2bfc7e9fa657 Thanks. Kevin --- >From b2da49e41868a4ff34e54f23efed2bfc7e9fa657 Mon Sep 17 00:00:00 2001 From: Satheesh Paul Date: Mon, 31 Jul 2023 08:26:07 +0530 Subject: [PATCH] common/cnxk: fix default flow action setting [ upstream commit b1f677d4386f7d9ad26a71615c00a2bdcb125c5e ] For MCAM rules with PF/VF action, the PF's default rule action is is copied and overwritten over the user provided action. Fixing this by setting default action only if no other action (like queue) is specified by user. Fixes: a07f7ced436d ("common/cnxk: add NPC init and fini") Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- drivers/common/cnxk/hw/nix.h | 1 + drivers/common/cnxk/roc_npc.c | 17 ++++++++++------- drivers/common/cnxk/roc_npc_mcam_dump.c | 4 ++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/common/cnxk/hw/nix.h b/drivers/common/cnxk/hw/nix.h index dd2ebecc6a..8231c94f0f 100644 --- a/drivers/common/cnxk/hw/nix.h +++ b/drivers/common/cnxk/hw/nix.h @@ -617,4 +617,5 @@ #define NIX_RX_ACTIONOP_PF_FUNC_DROP (0x5ull) #define NIX_RX_ACTIONOP_MIRROR (0x6ull) +#define NIX_RX_ACTIONOP_DEFAULT (0xfull) #define NIX_RX_VTAGACTION_VTAG0_RELPTR (0x0ull) diff --git a/drivers/common/cnxk/roc_npc.c b/drivers/common/cnxk/roc_npc.c index 5ee7ff5e41..9422a42457 100644 --- a/drivers/common/cnxk/roc_npc.c +++ b/drivers/common/cnxk/roc_npc.c @@ -517,9 +517,13 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, /* Only VLAN action is provided */ flow->npc_action = NIX_RX_ACTIONOP_UCAST; - } else if (req_act & - (ROC_NPC_ACTION_TYPE_PF | ROC_NPC_ACTION_TYPE_VF)) { - flow->npc_action = NIX_RX_ACTIONOP_UCAST; - if (req_act & ROC_NPC_ACTION_TYPE_QUEUE) - flow->npc_action |= (uint64_t)rq << 20; + } else if (req_act & (ROC_NPC_ACTION_TYPE_PF | ROC_NPC_ACTION_TYPE_VF)) { + /* Check if any other action is set */ + if ((req_act == ROC_NPC_ACTION_TYPE_PF) || (req_act == ROC_NPC_ACTION_TYPE_VF)) { + flow->npc_action = NIX_RX_ACTIONOP_DEFAULT; + } else { + flow->npc_action = NIX_RX_ACTIONOP_UCAST; + if (req_act & ROC_NPC_ACTION_TYPE_QUEUE) + flow->npc_action |= (uint64_t)rq << 20; + } } else if (req_act & ROC_NPC_ACTION_TYPE_DROP) { flow->npc_action = NIX_RX_ACTIONOP_DROP; @@ -532,6 +536,5 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, flow->npc_action = NIX_RX_ACTIONOP_UCAST_IPSEC; flow->npc_action |= (uint64_t)rq << 20; - } else if (req_act & - (ROC_NPC_ACTION_TYPE_FLAG | ROC_NPC_ACTION_TYPE_MARK)) { + } else if (req_act & (ROC_NPC_ACTION_TYPE_FLAG | ROC_NPC_ACTION_TYPE_MARK)) { flow->npc_action = NIX_RX_ACTIONOP_UCAST; } else if (req_act & ROC_NPC_ACTION_TYPE_COUNT) { diff --git a/drivers/common/cnxk/roc_npc_mcam_dump.c b/drivers/common/cnxk/roc_npc_mcam_dump.c index 51305b4c2c..1ba3d8f2cf 100644 --- a/drivers/common/cnxk/roc_npc_mcam_dump.c +++ b/drivers/common/cnxk/roc_npc_mcam_dump.c @@ -443,4 +443,8 @@ npc_flow_dump_rx_action(FILE *file, uint64_t npc_action) NPC_MAX_FIELD_NAME_SIZE); break; + case NIX_RX_ACTIONOP_DEFAULT: + fprintf(file, "NIX_RX_ACTIONOP_DEFAULT (%" PRIu64 ")\n", + (uint64_t)NIX_RX_ACTIONOP_DEFAULT); + break; default: plt_err("Unknown NIX_RX_ACTIONOP found"); -- 2.41.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-11-02 13:09:41.852417823 +0000 +++ 0041-common-cnxk-fix-default-flow-action-setting.patch 2023-11-02 13:09:40.842163429 +0000 @@ -1 +1 @@ -From b1f677d4386f7d9ad26a71615c00a2bdcb125c5e Mon Sep 17 00:00:00 2001 +From b2da49e41868a4ff34e54f23efed2bfc7e9fa657 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b1f677d4386f7d9ad26a71615c00a2bdcb125c5e ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 319fe36e04..1720eb3815 100644 +index dd2ebecc6a..8231c94f0f 100644 @@ -26 +27 @@ -@@ -620,4 +620,5 @@ +@@ -617,4 +617,5 @@ @@ -33 +34 @@ -index 86f4d85350..3f4a19b539 100644 +index 5ee7ff5e41..9422a42457 100644 @@ -36 +37 @@ -@@ -727,9 +727,13 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, +@@ -517,9 +517,13 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, @@ -55 +56 @@ -@@ -742,6 +746,5 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, +@@ -532,6 +536,5 @@ npc_parse_actions(struct roc_npc *roc_npc, const struct roc_npc_attr *attr, @@ -64 +65 @@ -index a88e166fbe..ff831b0a71 100644 +index 51305b4c2c..1ba3d8f2cf 100644 @@ -67 +68 @@ -@@ -497,4 +497,8 @@ npc_flow_dump_rx_action(FILE *file, uint64_t npc_action) +@@ -443,4 +443,8 @@ npc_flow_dump_rx_action(FILE *file, uint64_t npc_action)