On Tue, May 17, 2022 at 9:34 AM <psathe...@marvell.com> wrote: > > From: Satheesh Paul <psathe...@marvell.com> > > When dumping flow data, read hardware MCAM entry corresponding > to the flow and print that data also. > > Signed-off-by: Satheesh Paul <psathe...@marvell.com> > Reviewed-by: Kiran Kumar Kokkilagadda <kirankum...@marvell.com>
Updated the git commit as follows and applied to dpdk-next-net-eventdev/for-main. Thanks common/cnxk: support dumping flow MCAM entry data When dumping flow data, read hardware MCAM entry corresponding to the flow and print that data also. Signed-off-by: Satheesh Paul <psathe...@marvell.com> Reviewed-by: Kiran Kumar K <kirankum...@marvell.com> > --- > drivers/common/cnxk/roc_npc_mcam_dump.c | 26 ++++++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) > > diff --git a/drivers/common/cnxk/roc_npc_mcam_dump.c > b/drivers/common/cnxk/roc_npc_mcam_dump.c > index 679e3d7657..2aaf3ccd0b 100644 > --- a/drivers/common/cnxk/roc_npc_mcam_dump.c > +++ b/drivers/common/cnxk/roc_npc_mcam_dump.c > @@ -586,8 +586,10 @@ roc_npc_flow_mcam_dump(FILE *file, struct roc_npc > *roc_npc, > struct roc_npc_flow *flow) > { > struct npc *npc = roc_npc_to_npc_priv(roc_npc); > + struct npc_mcam_read_entry_req *mcam_read_req; > + struct npc_mcam_read_entry_rsp *mcam_read_rsp; > bool is_rx = 0; > - int i; > + int i, rc = 0; > > fprintf(file, "MCAM Index:%d\n", flow->mcam_id); > fprintf(file, "Interface :%s (%d)\n", intf_str[flow->nix_intf], > @@ -609,5 +611,27 @@ roc_npc_flow_mcam_dump(FILE *file, struct roc_npc > *roc_npc, > fprintf(file, "\tDW%d_Mask:%016lX\n", i, flow->mcam_mask[i]); > } > > + mcam_read_req = mbox_alloc_msg_npc_mcam_read_entry(npc->mbox); > + if (mcam_read_req == NULL) { > + plt_err("Failed to alloc msg"); > + return; > + } > + > + mcam_read_req->entry = flow->mcam_id; > + rc = mbox_process_msg(npc->mbox, (void *)&mcam_read_rsp); > + if (rc) { > + plt_err("Failed to fetch MCAM entry"); > + return; > + } > + > + fprintf(file, "HW MCAM Data :\n"); > + > + for (i = 0; i < ROC_NPC_MAX_MCAM_WIDTH_DWORDS; i++) { > + fprintf(file, "\tDW%d :%016lX\n", i, > + mcam_read_rsp->entry_data.kw[i]); > + fprintf(file, "\tDW%d_Mask:%016lX\n", i, > + mcam_read_rsp->entry_data.kw_mask[i]); > + } > + > fprintf(file, "\n"); > } > -- > 2.25.4 >