* [PATCH] net/mlx5/hws: fix strict eCPRI matching
@ 2026-11-11 8:11 Bing Zhao
2026-11-11 13:11 ` Raslan Darawsheh
0 siblings, 1 reply; 2+ messages in thread
From: Bing Zhao @ 2026-11-11 8:11 UTC (permalink / raw)
To: dsosnowski, viacheslavo, orika, suanmingm, matan; +Cc: dev, stable
The shared flex-parser field helper adds implicit ESP protocol and
UDP port matches in strict mode. Typed eCPRI patterns also use this
helper, so Ethernet eCPRI rules acquire an unrelated IP protocol 50
condition and miss their packets. Untyped eCPRI patterns skip the
helper and continue to match.
Remove the ESP-specific conditions from the generic helper and drop
its unused item index argument. Keep the existing strict-mode ESP
matching in the dedicated ESP item converter unchanged.
Fixes: f2f75ffe14a5 ("net/mlx5/hws: fix ESP header match in strict mode")
Cc: stable@dpdk.org
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/hws/mlx5dr_definer.c | 33 +++------------------------
1 file changed, 3 insertions(+), 30 deletions(-)
diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c
index 7400b8f252..c56a53fd67 100644
--- a/drivers/net/mlx5/hws/mlx5dr_definer.c
+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c
@@ -2548,8 +2548,7 @@ mlx5dr_definer_conv_item_meter_color(struct mlx5dr_definer_conv_data *cd,
static struct mlx5dr_definer_fc *
mlx5dr_definer_get_flex_parser_fc(struct mlx5dr_definer_conv_data *cd,
- uint32_t byte_off,
- int item_idx)
+ uint32_t byte_off)
{
uint32_t byte_off_fp7 = MLX5_BYTE_OFF(definer_hl, flex_parser.flex_parser_7);
uint32_t byte_off_fp0 = MLX5_BYTE_OFF(definer_hl, flex_parser.flex_parser_0);
@@ -2562,32 +2561,6 @@ mlx5dr_definer_get_flex_parser_fc(struct mlx5dr_definer_conv_data *cd,
return NULL;
}
- /* To match on ESP we must match on ip_protocol and optionally on l4_dport */
- if (!cd->relaxed) {
- bool over_udp;
-
- fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)];
- over_udp = fc->tag_set == &mlx5dr_definer_udp_protocol_set;
-
- if (over_udp) {
- fc = &cd->fc[DR_CALC_FNAME(L4_DPORT, false)];
- if (!fc->tag_set) {
- fc->item_idx = item_idx;
- fc->tag_mask_set = &mlx5dr_definer_ones_set;
- fc->tag_set = &mlx5dr_definer_ipsec_udp_port_set;
- DR_CALC_SET(fc, eth_l4, destination_port, false);
- }
- } else {
- fc = &cd->fc[DR_CALC_FNAME(IP_PROTOCOL, false)];
- if (!fc->tag_set) {
- fc->item_idx = item_idx;
- fc->tag_set = &mlx5dr_definer_ipsec_protocol_set;
- fc->tag_mask_set = &mlx5dr_definer_ones_set;
- DR_CALC_SET(fc, eth_l3, protocol_next_header, false);
- }
- }
- }
-
idx = (byte_off_fp0 - byte_off) / (sizeof(uint32_t));
fname += (enum mlx5dr_definer_fname)idx;
fc = &cd->fc[fname];
@@ -2639,7 +2612,7 @@ mlx5dr_definer_conv_item_ipv6_routing_ext(struct mlx5dr_definer_conv_data *cd,
if (m->hdr.next_hdr || m->hdr.type || m->hdr.segments_left) {
byte_off = flow_hw_get_srh_flex_parser_byte_off_from_ctx(cd->ctx);
- fc = mlx5dr_definer_get_flex_parser_fc(cd, byte_off, item_idx);
+ fc = mlx5dr_definer_get_flex_parser_fc(cd, byte_off);
if (!fc)
return rte_errno;
@@ -2761,7 +2734,7 @@ mlx5dr_definer_conv_item_ecpri(struct mlx5dr_definer_conv_data *cd,
if (!mask)
continue;
mask = htobe32(mask);
- fc = mlx5dr_definer_get_flex_parser_fc(cd, byte_off[i], item_idx);
+ fc = mlx5dr_definer_get_flex_parser_fc(cd, byte_off[i]);
if (!fc)
return rte_errno;
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] net/mlx5/hws: fix strict eCPRI matching
2026-11-11 8:11 [PATCH] net/mlx5/hws: fix strict eCPRI matching Bing Zhao
@ 2026-11-11 13:11 ` Raslan Darawsheh
0 siblings, 0 replies; 2+ messages in thread
From: Raslan Darawsheh @ 2026-11-11 13:11 UTC (permalink / raw)
To: Bing Zhao; +Cc: dev
Patch applied to next-net-mlx.
Thanks,
Raslan Darawsheh
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-11 13:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-11 8:11 [PATCH] net/mlx5/hws: fix strict eCPRI matching Bing Zhao
2026-11-11 13:11 ` Raslan Darawsheh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox