From: Satheesh Paul Date: Tue, 25 Jan 2022 04:17:59 +0000 (+0530) Subject: common/cnxk: fix base rule merge X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=0fb2b46be79a6558efd39c7a2e1d55402c958081;p=dpdk.git common/cnxk: fix base rule merge Egress rules do not have a base steering rule and the current base steering rule is applicable only for ingress rules. Hence, when creating a flow rule, merge base steering rule only for ingress rules. Fixes: f9af90807466 ("common/cnxk: add mcam utility API") Cc: stable@dpdk.org Signed-off-by: Satheesh Paul Reviewed-by: Kiran Kumar K --- diff --git a/drivers/common/cnxk/roc_npc_mcam.c b/drivers/common/cnxk/roc_npc_mcam.c index b251f643bc..7a3a8944f5 100644 --- a/drivers/common/cnxk/roc_npc_mcam.c +++ b/drivers/common/cnxk/roc_npc_mcam.c @@ -752,7 +752,7 @@ npc_program_mcam(struct npc *npc, struct npc_parse_state *pst, bool mcam_alloc) if (pst->set_ipv6ext_ltype_mask) npc_set_ipv6ext_ltype_mask(pst); - if (pst->is_vf) { + if (pst->is_vf && pst->flow->nix_intf == NIX_INTF_RX) { (void)mbox_alloc_msg_npc_read_base_steer_rule(npc->mbox); rc = mbox_process_msg(npc->mbox, (void *)&base_rule_rsp); if (rc) {