Commit a21e52bb authored by Yevgeny Kliteynik's avatar Yevgeny Kliteynik Committed by Saeed Mahameed
Browse files

net/mlx5: DR, Add support for the pattern/arg parameters in debug dump



Support the pattern/args-based MODIFY_HDR and TNL_L3_TO_L2 actions in dbg dump

Signed-off-by: default avatarYevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: default avatarAlex Vesker <valex@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
parent 40ff097f
Loading
Loading
Loading
Loading
+27 −3
Original line number Diff line number Diff line
@@ -140,10 +140,31 @@ dr_dump_rule_action_mem(struct seq_file *file, const u64 rule_id,
			   action->flow_tag->flow_tag);
		break;
	case DR_ACTION_TYP_MODIFY_HDR:
		seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n",
	{
		struct mlx5dr_ptrn_obj *ptrn = action->rewrite->ptrn;
		struct mlx5dr_arg_obj *arg = action->rewrite->arg;
		u8 *rewrite_data = action->rewrite->data;
		bool ptrn_arg;
		int i;

		ptrn_arg = !action->rewrite->single_action_opt && ptrn && arg;

		seq_printf(file, "%d,0x%llx,0x%llx,0x%x,%d,0x%x,0x%x,0x%x",
			   DR_DUMP_REC_TYPE_ACTION_MODIFY_HDR, action_id,
			   rule_id, action->rewrite->index);
			   rule_id, action->rewrite->index,
			   action->rewrite->single_action_opt,
			   action->rewrite->num_of_actions,
			   ptrn_arg ? ptrn->index : 0,
			   ptrn_arg ? mlx5dr_arg_get_obj_id(arg) : 0);

		for (i = 0; i < action->rewrite->num_of_actions; i++) {
			seq_printf(file, ",0x%016llx",
				   be64_to_cpu(((__be64 *)rewrite_data)[i]));
		}

		seq_puts(file, "\n");
		break;
	}
	case DR_ACTION_TYP_VPORT:
		seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n",
			   DR_DUMP_REC_TYPE_ACTION_VPORT, action_id, rule_id,
@@ -157,7 +178,10 @@ dr_dump_rule_action_mem(struct seq_file *file, const u64 rule_id,
	case DR_ACTION_TYP_TNL_L3_TO_L2:
		seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n",
			   DR_DUMP_REC_TYPE_ACTION_DECAP_L3, action_id,
			   rule_id, action->rewrite->index);
			   rule_id,
			   (action->rewrite->ptrn && action->rewrite->arg) ?
			   mlx5dr_arg_get_obj_id(action->rewrite->arg) :
			   action->rewrite->index);
		break;
	case DR_ACTION_TYP_L2_TO_TNL_L2:
		seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n",