[dpdk-dev] [PATCH 2/2] common/cnxk: fix QINQ ROC item mismatch issue
psatheesh at marvell.com
psatheesh at marvell.com
Thu Mar 17 04:50:36 CET 2022
From: Satheesh Paul <psatheesh at marvell.com>
ROC code is assuming presence of vlan extension headers in
case of QINQ, because of this, there is incompatibility
between the driver and ROC. Fixed this issue.
Fixes: 4edf1246a40 ("common/cnxk: support matching VLAN existence in RTE Flow")
Cc: stable at dpdk.org
Signed-off-by: Satheesh Paul <psatheesh at marvell.com>
---
drivers/common/cnxk/roc_npc_parse.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/common/cnxk/roc_npc_parse.c b/drivers/common/cnxk/roc_npc_parse.c
index b849326a19..757bff29a7 100644
--- a/drivers/common/cnxk/roc_npc_parse.c
+++ b/drivers/common/cnxk/roc_npc_parse.c
@@ -337,15 +337,10 @@ npc_parse_lb(struct npc_parse_state *pst)
}
info.len = pattern->size;
} else if (pst->pattern->type == ROC_NPC_ITEM_TYPE_QINQ) {
- vlan_item[0] = pst->pattern->spec;
info.hw_mask = NULL;
- info.len = sizeof(vlan_item[0]->hdr);
+ info.len = pattern->size;
lt = NPC_LT_LB_STAG_QINQ;
lflags = NPC_F_STAG_CTAG;
- if (vlan_item[0] && vlan_item[0]->has_more_vlan) {
- lflags = NPC_F_LB_L_WITH_QINQ_CTAG &
- NPC_F_LB_L_WITH_QINQ_QINQ;
- }
} else if (pst->pattern->type == ROC_NPC_ITEM_TYPE_RAW) {
raw_spec = pst->pattern->spec;
if (raw_spec->relative)
--
2.25.4
More information about the stable
mailing list