* [dpdk-dev] [PATCH] common/cnxk: dump hardware flow MCAM entry data
@ 2022-05-17 4:04 psatheesh
2022-06-14 12:25 ` Jerin Jacob
0 siblings, 1 reply; 2+ messages in thread
From: psatheesh @ 2022-05-17 4:04 UTC (permalink / raw)
To: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
Cc: dev, Satheesh Paul
From: Satheesh Paul <psatheesh@marvell.com>
When dumping flow data, read hardware MCAM entry corresponding
to the flow and print that data also.
Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
Reviewed-by: Kiran Kumar Kokkilagadda <kirankumark@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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] [PATCH] common/cnxk: dump hardware flow MCAM entry data
2022-05-17 4:04 [dpdk-dev] [PATCH] common/cnxk: dump hardware flow MCAM entry data psatheesh
@ 2022-06-14 12:25 ` Jerin Jacob
0 siblings, 0 replies; 2+ messages in thread
From: Jerin Jacob @ 2022-06-14 12:25 UTC (permalink / raw)
To: Satheesh Paul
Cc: Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao, dpdk-dev
On Tue, May 17, 2022 at 9:34 AM <psatheesh@marvell.com> wrote:
>
> From: Satheesh Paul <psatheesh@marvell.com>
>
> When dumping flow data, read hardware MCAM entry corresponding
> to the flow and print that data also.
>
> Signed-off-by: Satheesh Paul <psatheesh@marvell.com>
> Reviewed-by: Kiran Kumar Kokkilagadda <kirankumark@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 <psatheesh@marvell.com>
Reviewed-by: Kiran Kumar K <kirankumark@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
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-06-14 12:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17 4:04 [dpdk-dev] [PATCH] common/cnxk: dump hardware flow MCAM entry data psatheesh
2022-06-14 12:25 ` Jerin Jacob
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).