* [PATCH] net/mlx5: fix VID assignment in VLAN modify
@ 2024-03-01 6:04 Gregory Etelson
2024-03-12 8:06 ` Raslan Darawsheh
0 siblings, 1 reply; 2+ messages in thread
From: Gregory Etelson @ 2024-03-01 6:04 UTC (permalink / raw)
To: dev
Cc: getelson, mkashani, rasland, stable, Dariusz Sosnowski,
Viacheslav Ovsiienko, Ori Kam, Suanming Mou, Matan Azrad
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")
Cc: stable@dpdk.org (backport)
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
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 a87bb52c06..027b0e084d 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -6863,7 +6863,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)) {
@@ -6874,8 +6873,6 @@ flow_hw_set_vlan_vid(struct rte_eth_dev *dev,
},
.src = {
.field = RTE_FLOW_FIELD_VALUE,
- .level = vid,
- .offset = 0,
},
.width = width,
};
@@ -6887,11 +6884,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;
@@ -6918,8 +6919,6 @@ flow_hw_set_vlan_vid_construct(struct rte_eth_dev *dev,
},
.src = {
.field = RTE_FLOW_FIELD_VALUE,
- .level = vid,
- .offset = 0,
},
.width = width,
};
@@ -6928,6 +6927,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(mhdr_cmd, act_data, hw_acts, &modify_action);
}
--
2.39.2
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [PATCH] net/mlx5: fix VID assignment in VLAN modify
2024-03-01 6:04 [PATCH] net/mlx5: fix VID assignment in VLAN modify Gregory Etelson
@ 2024-03-12 8:06 ` Raslan Darawsheh
0 siblings, 0 replies; 2+ messages in thread
From: Raslan Darawsheh @ 2024-03-12 8:06 UTC (permalink / raw)
To: Gregory Etelson, dev
Cc: Maayan Kashani, stable, Dariusz Sosnowski, Slava Ovsiienko,
Ori Kam, Suanming Mou, Matan Azrad
Hi,
> -----Original Message-----
> From: Gregory Etelson <getelson@nvidia.com>
> Sent: Friday, March 1, 2024 8:05 AM
> To: dev@dpdk.org
> Cc: Gregory Etelson <getelson@nvidia.com>; Maayan Kashani
> <mkashani@nvidia.com>; Raslan Darawsheh <rasland@nvidia.com>;
> stable@dpdk.org; Dariusz Sosnowski <dsosnowski@nvidia.com>; Slava
> Ovsiienko <viacheslavo@nvidia.com>; Ori Kam <orika@nvidia.com>;
> Suanming Mou <suanmingm@nvidia.com>; Matan Azrad
> <matan@nvidia.com>
> Subject: [PATCH] net/mlx5: fix VID assignment in VLAN modify
>
> 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")
> Cc: stable@dpdk.org (backport)
>
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards
Raslan Darawsheh
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-03-12 8:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-01 6:04 [PATCH] net/mlx5: fix VID assignment in VLAN modify Gregory Etelson
2024-03-12 8:06 ` Raslan Darawsheh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).