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 52A6D43CE7 for ; Mon, 18 Mar 2024 16:40:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C472402B8; Mon, 18 Mar 2024 16:40:24 +0100 (CET) Received: from mail-wr1-f47.google.com (mail-wr1-f47.google.com [209.85.221.47]) by mails.dpdk.org (Postfix) with ESMTP id CDC6D4027F for ; Mon, 18 Mar 2024 16:40:21 +0100 (CET) Received: by mail-wr1-f47.google.com with SMTP id ffacd0b85a97d-33eee0258abso840772f8f.3 for ; Mon, 18 Mar 2024 08:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710776421; x=1711381221; 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=7186OE/d9BC86fPo78X9dK9q3fX4zaEd4JraeGDrCOs=; b=A0WenaukDIwsTGrcdegxRow5jXVKaI+FCKfsXmYy6i/TmwbMlP8F2qvOBI7UMWmyNj iGNQpZUJ5ylxP+9BEGkCg962Vl5DpyuWSlIbTXFGzENS5s/SC5KRZECLaEKPBuUjb0YS dJKp6fPW7hv6sRLSXH4xfijnrM/0SDbgGquV2RezFQZ3Jy4iAiKZGQTGIrRH1pMGSjLG MOD42LhLt6zgHHJlFXjPiYjOZDN2XNtCutLuCsU5zmdJq2CAJ3xCpltQOER9LQ8MTk1o dOhLfM+7YJOX4k6Re6mIecnOoz0rokFj+kz+xI46m/+6S3ZBxDzY507ws03J7+1+xUCC tB6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710776421; x=1711381221; 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=7186OE/d9BC86fPo78X9dK9q3fX4zaEd4JraeGDrCOs=; b=GwN7QXnFEJDd3GAJOHpsifrCEnSzD2M8s+/KJ86iFoA4yZBh93nqc/458XJB9qGiE5 Qpwwr5JSpE0oyFu/tGGwSTAF1T9v12P37jLSDy2Xb8a9g+3IwxspKr0CPZCfQtDYf3AG wb7GKMM9kygIjPl8Cd6GlteiPHrVOrmRzXyhaJtI9noqu7U4+DbfeZTwP6focGa8PslT EQtTJxTXvJtkJz7WqiynuYUOVJP1MuifYVX4SQbl73meu5/Bfv5W5PYtvsgOrV7dgVsU Ot4xB0joeitiTFLhfdHCyrJMBhZjTwAutodOAp4VpkDix1KYlcapIYjALZ8DhsnO1dpN bdMw== X-Forwarded-Encrypted: i=1; AJvYcCUr+SCnUgr5ft8m3fgGS23QL48qiL37GFoJ/i12RLKYLwltkxgIH9xeTD9BqKzxPXVNag17Qh4F25D4nM91Sik= X-Gm-Message-State: AOJu0YyE/mYSaLq+vVZTYjXoRM+byqAVSxemoNEmFlvvpfFzR3ZQZqzY BCmJRFZsTALsMM9HlBUsz6liYWuLv23jq/pOTa3xLIZtdb4BVRSDAaNBIaAV5qA= X-Google-Smtp-Source: AGHT+IGyQlxDOAckdx9N7ctL3VA97Ut0x1iaRdeOw1pEljuNqJFBSau5lbKyiYj8qZGlZ4Oj1DWFxA== X-Received: by 2002:a5d:6751:0:b0:33e:78f3:bf76 with SMTP id l17-20020a5d6751000000b0033e78f3bf76mr6561637wrw.40.1710776421391; Mon, 18 Mar 2024 08:40:21 -0700 (PDT) Received: from localhost ([137.220.120.171]) by smtp.gmail.com with ESMTPSA id p7-20020adfcc87000000b0033e25c39ac3sm10129413wrj.80.2024.03.18.08.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Mar 2024 08:40:20 -0700 (PDT) From: luca.boccassi@gmail.com To: Gregory Etelson Cc: Dariusz Sosnowski , dpdk stable Subject: patch 'net/mlx5: fix VLAN ID in flow modify' has been queued to stable release 22.11.5 Date: Mon, 18 Mar 2024 15:39:07 +0000 Message-Id: <20240318153919.3407921-17-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240318153919.3407921-1-luca.boccassi@gmail.com> References: <20240314000957.2810803-61-luca.boccassi@gmail.com> <20240318153919.3407921-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/20/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/f5ff0aaf2e79c551419f48ad0b7dfa4bf20bd00c Thanks. Luca Boccassi --- >From f5ff0aaf2e79c551419f48ad0b7dfa4bf20bd00c Mon Sep 17 00:00:00 2001 From: Gregory Etelson Date: Fri, 1 Mar 2024 08:04:48 +0200 Subject: [PATCH] net/mlx5: fix VLAN ID in flow modify [ upstream commit b89bfdd9be845b7ecfd50d2e9ec77f5cc2ccf94d ] PMD uses MODIFY_FIELD to implement standalone OF_SET_VLAN_VID flow action. PMD assigned immediate VLAN Id value to the `.level` member of the `rte_flow_action_modify_data` structure instead of `.value`. That assignment has worked because both members had the same offset in the hosting structure. The patch assigns VLAN Id directly to `.value` Fixes: 773ca0e91ba1 ("net/mlx5: support VLAN push/pop/modify with HWS") Signed-off-by: Gregory Etelson Acked-by: Dariusz Sosnowski --- drivers/net/mlx5/mlx5_flow_hw.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c index bb4693c2b4..927be86c36 100644 --- a/drivers/net/mlx5/mlx5_flow_hw.c +++ b/drivers/net/mlx5/mlx5_flow_hw.c @@ -4316,7 +4316,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, rm[set_vlan_vid_ix].conf)->vlan_vid != 0); const struct rte_flow_action_of_set_vlan_vid *conf = ra[set_vlan_vid_ix].conf; - rte_be16_t vid = masked ? conf->vlan_vid : 0; int width = mlx5_flow_item_field_width(dev, RTE_FLOW_FIELD_VLAN_ID, 0, NULL, &error); *spec = (typeof(*spec)) { @@ -4327,8 +4326,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, }, .src = { .field = RTE_FLOW_FIELD_VALUE, - .level = vid, - .offset = 0, }, .width = width, }; @@ -4340,11 +4337,15 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, }, .src = { .field = RTE_FLOW_FIELD_VALUE, - .level = masked ? (1U << width) - 1 : 0, - .offset = 0, }, .width = 0xffffffff, }; + if (masked) { + uint32_t mask_val = 0xffffffff; + + rte_memcpy(spec->src.value, &conf->vlan_vid, sizeof(conf->vlan_vid)); + rte_memcpy(mask->src.value, &mask_val, sizeof(mask_val)); + } ra[set_vlan_vid_ix].type = RTE_FLOW_ACTION_TYPE_MODIFY_FIELD; ra[set_vlan_vid_ix].conf = spec; rm[set_vlan_vid_ix].type = RTE_FLOW_ACTION_TYPE_MODIFY_FIELD; @@ -4371,8 +4372,6 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, }, .src = { .field = RTE_FLOW_FIELD_VALUE, - .level = vid, - .offset = 0, }, .width = width, }; @@ -4381,6 +4380,7 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, .conf = &conf }; + rte_memcpy(conf.src.value, &vid, sizeof(vid)); return flow_hw_modify_field_construct(job, act_data, hw_acts, &modify_action); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-03-18 12:58:39.964237119 +0000 +++ 0017-net-mlx5-fix-VLAN-ID-in-flow-modify.patch 2024-03-18 12:58:39.143345546 +0000 @@ -1 +1 @@ -From b89bfdd9be845b7ecfd50d2e9ec77f5cc2ccf94d Mon Sep 17 00:00:00 2001 +From f5ff0aaf2e79c551419f48ad0b7dfa4bf20bd00c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b89bfdd9be845b7ecfd50d2e9ec77f5cc2ccf94d ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index a4e204695e..658f5daf82 100644 +index bb4693c2b4..927be86c36 100644 @@ -28 +29 @@ -@@ -6858,7 +6858,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, +@@ -4316,7 +4316,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, @@ -36 +37 @@ -@@ -6869,8 +6868,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, +@@ -4327,8 +4326,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, @@ -45 +46 @@ -@@ -6882,11 +6879,15 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, +@@ -4340,11 +4337,15 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev, @@ -63 +64 @@ -@@ -6913,8 +6914,6 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, +@@ -4371,8 +4372,6 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, @@ -72 +73 @@ -@@ -6923,6 +6922,7 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, +@@ -4381,6 +4380,7 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev, @@ -77 +78,2 @@ - return flow_hw_modify_field_construct(mhdr_cmd, act_data, hw_acts, &modify_action); + return flow_hw_modify_field_construct(job, act_data, hw_acts, + &modify_action); @@ -79 +80,0 @@ -