From: Vivek Sharma Date: Fri, 6 Sep 2019 00:13:59 +0000 (+0530) Subject: net/octeontx2: update KPU parser profile X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=2e0061dbb4d2d3aac54d6fcf1b53293da6aab132;p=dpdk.git net/octeontx2: update KPU parser profile Update LB ltypes and use the updated ones so as replace LB_STAG and LB_QINQ by single LB_STAG_QINQ ltype. Signed-off-by: Vivek Sharma Acked-by: Jerin Jacob --- diff --git a/drivers/common/octeontx2/hw/otx2_npc.h b/drivers/common/octeontx2/hw/otx2_npc.h index 8045bed11a..5b8d3ed8c8 100644 --- a/drivers/common/octeontx2/hw/otx2_npc.h +++ b/drivers/common/octeontx2/hw/otx2_npc.h @@ -187,10 +187,15 @@ enum npc_kpu_la_ltype { enum npc_kpu_lb_ltype { NPC_LT_LB_ETAG = 1, NPC_LT_LB_CTAG, - NPC_LT_LB_STAG, + NPC_LT_LB_STAG_QINQ, NPC_LT_LB_BTAG, - NPC_LT_LB_QINQ, NPC_LT_LB_ITAG, + NPC_LT_LB_DSA, + NPC_LT_LB_DSA_VLAN, + NPC_LT_LB_EDSA, + NPC_LT_LB_EDSA_VLAN, + NPC_LT_LB_EXDSA, + NPC_LT_LB_EXDSA_VLAN, }; enum npc_kpu_lc_ltype { diff --git a/drivers/net/octeontx2/otx2_flow_parse.c b/drivers/net/octeontx2/otx2_flow_parse.c index 6670c1a702..71650b53bc 100644 --- a/drivers/net/octeontx2/otx2_flow_parse.c +++ b/drivers/net/octeontx2/otx2_flow_parse.c @@ -599,11 +599,11 @@ otx2_flow_parse_lb(struct otx2_parse_state *pst) lt = NPC_LT_LB_CTAG; break; case 2: - lt = NPC_LT_LB_STAG; + lt = NPC_LT_LB_STAG_QINQ; lflags = NPC_F_STAG_CTAG; break; case 3: - lt = NPC_LT_LB_STAG; + lt = NPC_LT_LB_STAG_QINQ; lflags = NPC_F_STAG_STAG_CTAG; break; default: diff --git a/drivers/net/octeontx2/otx2_lookup.c b/drivers/net/octeontx2/otx2_lookup.c index f832558e0f..3071278fc1 100644 --- a/drivers/net/octeontx2/otx2_lookup.c +++ b/drivers/net/octeontx2/otx2_lookup.c @@ -90,7 +90,7 @@ nix_create_non_tunnel_ptype_array(uint16_t *ptype) val = RTE_PTYPE_UNKNOWN; switch (lb) { - case NPC_LT_LB_QINQ: + case NPC_LT_LB_STAG_QINQ: val |= RTE_PTYPE_L2_ETHER_QINQ; break; case NPC_LT_LB_CTAG: diff --git a/drivers/net/octeontx2/otx2_vlan.c b/drivers/net/octeontx2/otx2_vlan.c index 2be7671d3e..322a565b3e 100644 --- a/drivers/net/octeontx2/otx2_vlan.c +++ b/drivers/net/octeontx2/otx2_vlan.c @@ -300,8 +300,11 @@ nix_vlan_mcam_config(struct rte_eth_dev *eth_dev, /* Adds vlan_id & LB CTAG flag to MCAM KW */ if (flags & VLAN_ID_MATCH) { - entry.kw[kwi] |= NPC_LT_LB_CTAG << mkex->lb_lt_offset; - entry.kw_mask[kwi] |= 0xFULL << mkex->lb_lt_offset; + entry.kw[kwi] |= (NPC_LT_LB_CTAG | NPC_LT_LB_STAG_QINQ) + << mkex->lb_lt_offset; + entry.kw_mask[kwi] |= + (0xF & ~(NPC_LT_LB_CTAG ^ NPC_LT_LB_STAG_QINQ)) + << mkex->lb_lt_offset; mcam_data = ((uint32_t)vlan_id << 16); mcam_mask = (BIT_ULL(16) - 1) << 16; @@ -313,15 +316,16 @@ nix_vlan_mcam_config(struct rte_eth_dev *eth_dev, /* Adds LB STAG flag to MCAM KW */ if (flags & QINQ_F_MATCH) { - entry.kw[kwi] |= NPC_LT_LB_STAG << mkex->lb_lt_offset; + entry.kw[kwi] |= NPC_LT_LB_STAG_QINQ << mkex->lb_lt_offset; entry.kw_mask[kwi] |= 0xFULL << mkex->lb_lt_offset; } /* Adds LB CTAG & LB STAG flags to MCAM KW */ if (flags & VTAG_F_MATCH) { - entry.kw[kwi] |= (NPC_LT_LB_CTAG | NPC_LT_LB_STAG) + entry.kw[kwi] |= (NPC_LT_LB_CTAG | NPC_LT_LB_STAG_QINQ) << mkex->lb_lt_offset; - entry.kw_mask[kwi] |= (NPC_LT_LB_CTAG & NPC_LT_LB_STAG) + entry.kw_mask[kwi] |= + (0xF & ~(NPC_LT_LB_CTAG ^ NPC_LT_LB_STAG_QINQ)) << mkex->lb_lt_offset; }