From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 1EB5F45459;
	Wed, 19 Jun 2024 12:08:19 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id D03DD42D68;
	Wed, 19 Jun 2024 12:08:16 +0200 (CEST)
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2097.outbound.protection.outlook.com [40.107.236.97])
 by mails.dpdk.org (Postfix) with ESMTP id B384842D68
 for <dev@dpdk.org>; Wed, 19 Jun 2024 12:08:15 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mQnqCAUArSvrwTu3AX1Hog0qhqA56hjwDimIS2RtG5PJE2NrFX76g53EOESmIC9csAdvSE1xeCbpWxj5kK3NOFheMtnN9OV3vwJjs58aVcEuVVc/24gbBCPXl550YVimP2H7mlQILKIV+bs9KhLNWGLs/Pq2HXeJKFkoicDFk6dWxVDtIM9vRwuwFMu6MY9Oe7x6dFXXzZtQA2iXn2DdMa9rfkHzWQDmv/7q3EBP61GgJjw7iDfdsNpGxGzt3Zu0OiC9k4Gj17xe04+Vl2R1GMDxqNE+EP/RC0QKp8g2KemGnUL4C398JbBzbcP60Pmn9vDXAkITKhy0g9Fut7SLDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0wyWk6p5TlvhP7YI9futTx8rwzYOd47akZtfuSA477g=;
 b=VhDOUrE1/OBT4MBbRq4V05hN1hhHCPXCIydFsjO7UA8u1VERFSwzbvr8Tetcs6lqMw19H7LLzKKPBmctwws/Y0KRnbb8apkpvYaSBEevIp8P3Cs6qGL0FhVdmeK6yBW4XJP6tif0MPZ22+wHGQRvqo4USEHm9pk4fZUfYiJu7GaEduR7QrVjYs88UzBPK2UcYA3+NHTKXUs0YV7qJto0CcFc2Qo6CSGVwW9xkW2eI5woFzmla6pGgwOWkL6xcci6O7VmUc6qB4ZTNQfVC5XTECnHZ5NYXCEgfyPWCK3A0uWXJrkeLaRfcXm4h9tJJKUD/Y2bW8BHoazIcZICZfZ2fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;
 dkim=pass header.d=corigine.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0wyWk6p5TlvhP7YI9futTx8rwzYOd47akZtfuSA477g=;
 b=C9dUaH+cEHgdYlFq7U3fi40/UEjtag3ob21y/0cHPZFtE5Vx7Po3JtOv3NFnyJsh4SKbkNAaVhoh+fXsmvSWOA7G9/p101ECKDabdtcU74o7FDv/GQ2wY2DSBNCov/obuiwtZLriaNgvO5l+FaXhcBxqml48epbdmNtcVFEW9uQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=corigine.com;
Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)
 by MWHPR13MB7153.namprd13.prod.outlook.com (2603:10b6:303:283::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7698.19; Wed, 19 Jun
 2024 10:08:13 +0000
Received: from SJ0PR13MB5545.namprd13.prod.outlook.com
 ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com
 ([fe80::b900:5f05:766f:833%4]) with mapi id 15.20.7677.030; Wed, 19 Jun 2024
 10:08:13 +0000
From: Chaoyong He <chaoyong.he@corigine.com>
To: dev@dpdk.org
Cc: oss-drivers@corigine.com, Chaoyong He <chaoyong.he@corigine.com>,
 Long Wu <long.wu@corigine.com>, Peng Zhang <peng.zhang@corigine.com>
Subject: [PATCH 1/7] net/nfp: add trace points about port
Date: Wed, 19 Jun 2024 18:07:48 +0800
Message-Id: <20240619100754.3480077-2-chaoyong.he@corigine.com>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20240619100754.3480077-1-chaoyong.he@corigine.com>
References: <20240619100754.3480077-1-chaoyong.he@corigine.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: BYAPR06CA0003.namprd06.prod.outlook.com
 (2603:10b6:a03:d4::16) To SJ0PR13MB5545.namprd13.prod.outlook.com
 (2603:10b6:a03:424::5)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MWHPR13MB7153:EE_
X-MS-Office365-Filtering-Correlation-Id: ac7fd3fe-2cc4-42e3-4311-08dc9047bac3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
 ARA:13230037|52116011|376011|1800799021|366013|38350700011; 
X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ecP1ESlFQ5wwTJcoW3TqYSXI7X/iaVe3okS+TtVAnBxziNHh8de528iiX90v?=
 =?us-ascii?Q?ncfdHh4G4JYd3LQjAmjJb0T+pI0DIPQTbtG1GP5ZpYfDGl7Ymi9mBKQkJUOr?=
 =?us-ascii?Q?uTWVyUWmqmV3pOn2Eui9zuYObPRYlKqpPe1ye68XXy6mhMpcBTk8QQEJBMDG?=
 =?us-ascii?Q?0e0vm2b77FjM8AL8lgT+JG9yR3aFezocNIx3eAyza0XW+1+xVeeOZVtH9ahx?=
 =?us-ascii?Q?YPIyIh/oaLgXNWTDEUfWA3jGd+6qssB/quZiGx1tE3EUWCCGLBiCrx5wiClz?=
 =?us-ascii?Q?h+GKYque/co/uxXRyRLUzyqFr63xLX1Mp2efLbqbCbsVmTQTj2ll6J7e7QRR?=
 =?us-ascii?Q?/FJS84Aw9ub1+tp5tDOydQ8qlYBFNoWUXyJnttZgDMWK/A3R7+qmCwFaAZCT?=
 =?us-ascii?Q?2DHkEUsnzwwSwJnB81MxM+FMfxM0/Lpc20C52nPpNrR/f8ETpMp9EZJXQ6So?=
 =?us-ascii?Q?LXa5ra7Iby+su6e7BGeT+OVB346nAage9MQoxQ3Y0zku6Vd8eQkit6Qzb9He?=
 =?us-ascii?Q?+ro/e2BAgX02QFxI2jI7Lr037bX1Y7cYRIooJIcQ1m7pzUPEiZMT6DOifeHw?=
 =?us-ascii?Q?Kr2oYRZidzp1A+2Qr2k/bpGrz66InWgGqAIPY/4moPH0Sy6Hr26laXodnRpT?=
 =?us-ascii?Q?kewqssV9BI2LFLzsEaqxHuBKgOorDToqVH0/nm0Qu0PIUOE/1M6nGQgsIhaa?=
 =?us-ascii?Q?TUEWfsmguUdaxz+kNw19pW9f285z8MTqxmM5UgQV54Vx3Oti0W8Sa2ZDvcRf?=
 =?us-ascii?Q?OaXQein7RJw9gZvO96Gl2YgAYLp6qYt9SgDZgXHomJZMEwzh5Eyg3w9yZegg?=
 =?us-ascii?Q?UrPurKp31Tl34ph1SlSY2uNy0i2WsLxvJKZcC9BYEZzD1rplTtuvjbEV2ztU?=
 =?us-ascii?Q?nfcVPaFMui7N1NRR2IH+zlQPfy/qqGNkMVmZ6AWXLB5FjMMJ9Srd5lJO3OU9?=
 =?us-ascii?Q?/OcIi1ZUTWvZ/g488ZYt/EaTqnDqxBEDVOxWWfUhlEgtgWPQrWih0Sj0fGJx?=
 =?us-ascii?Q?q6MbkCKnVpn7sZyjFAl8F9CcZhdl37/xrgVidyXtc1ifuqt9VSYT7l4jNbP2?=
 =?us-ascii?Q?Detcn84ti1cE7aJxl/IWsc8kvtfu4/tHFARNkzjVEwV7lLwVSIgvd1608gJa?=
 =?us-ascii?Q?Z9KGh0X24iI8yrZhHMPRIZ4zXP/7kahSdyooP1Lr7P4vkkw37dbqTMA4CWft?=
 =?us-ascii?Q?UY47UPMhFpGBJGggIobXNfiYKR2RxO+uvxYr/dz4VKX/3ry+5Rh1bcPsFv8Y?=
 =?us-ascii?Q?xXJQW6Y1V/wFy/hwgQSJbMXnt3+iZGRlzD3CDqgbN5hBysPkk+64PLDYcXjJ?=
 =?us-ascii?Q?0AFvqa6hgXMx6QmE/s0t7K64xYXTsz2Lv/u13JPYd9tViiGqK79WYNc0p5gR?=
 =?us-ascii?Q?PxFhTrI=3D?=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230037)(52116011)(376011)(1800799021)(366013)(38350700011); DIR:OUT;
 SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uLztuh42tHPE8Yu8M8jU9yDNFmCVFSL50NzpMRKacJ4ZP/M5NXG5qlD0e6/o?=
 =?us-ascii?Q?SoXNwPkQy2rjaCMKZ4a5Vg4MzFvuLwdrnDGRfxXNpIz+mQfpv6APg8yCUEKS?=
 =?us-ascii?Q?gzmKmbFbdIlRjJpc+bADiXLxSgJrX7GruFRoIVRJCZKcCJWfvbRqChiT8d//?=
 =?us-ascii?Q?PnYcdmfllDVx89KV6DHhNys7LGPmEHGBC4VD+uKQdYbCsFkAj5bSMz9hGcLJ?=
 =?us-ascii?Q?HVAc6/Smx15h9CqcvcOvf83pYkjBfPsYN8R76yuVRE8Jpwf+8BuffNtB72l5?=
 =?us-ascii?Q?l57dh++NaZyPS6scCB7qOkq2BFXUDhHIa4C1M4K8JPAd5xCvL/SPs3oPxCAE?=
 =?us-ascii?Q?7y049ERfmPIac6Caie2Jge/ivHSLiNKkXj3+OWEa23Uyw10yGdjvmoiSZJcm?=
 =?us-ascii?Q?7gNQVLuZ8cTJq3JVRqiUlqCHXOAM5nx2EaFkstQVbZXfcJVQiSwzoUKFSAW5?=
 =?us-ascii?Q?YSdH8OXmwtsGU0KFsrUiaRz6oSTHzmMqX4rJdI5WTwQXYcWWtCHdif+PnprO?=
 =?us-ascii?Q?A/Z/eDZt0qubj8FN7waKl4K/wBN+C4ruXPwCDsGnmpf43rEvx2NyykKoOjlq?=
 =?us-ascii?Q?uH3YO0gkvo7i+aWDe/Um2pxD2C1+xFa+NA/kG1tCTzEM5Z+dcQQvLwUgpqeA?=
 =?us-ascii?Q?NXEKaBCBnZBkQU6a01DA1L7ff3d2wkY9ZN8fox6vBb2CENHJUGZwGGxuLXJ1?=
 =?us-ascii?Q?IFaZD4PghbfftDuGonBrX8mb701q1mAO4VwZz1KMXbVXRwWKHFqYaaHT0wYk?=
 =?us-ascii?Q?V3KX+WBXT315W33xovw4dAfrw3xtbqKMvF8lUVlIx0RnLOC2MiktWf1IxBOu?=
 =?us-ascii?Q?IDxeLAWPBRHLOJxgQrLbfyfEtzoawh4HbKGK7PktkNC06e8mlOwsqjVH1yic?=
 =?us-ascii?Q?qBtHcCQQ8y+N37qFOan0BsbedmTJOHIgpta3zBni+RfM/p6siURXk1ecPT01?=
 =?us-ascii?Q?JqxlhNTXL2+lO+nfdcHDGodOih8Pg+FgOYHo3JY5bE37lWHFEXmlXDV5g/L0?=
 =?us-ascii?Q?lArtpqiiVpTyrDO6xXOHPmitvGrgK2I9n7xfHhFaArhO3gwtlInUr/wE8AlL?=
 =?us-ascii?Q?cVLua1x6UM9iBUrLx4hexAbY3FJYwGg9ZgeyHCvSH6Ne7W8c6etKLj4UlOl1?=
 =?us-ascii?Q?Cdbsv7snMApL5nByeWMZ/AsAmLRpzLzgrI2T02w1aT/FdPf/x0xD5rUr3pgV?=
 =?us-ascii?Q?eFu+pT72ylOHEJCbYDYSQ/ay/asy8yaGunT/IfDmHQYXar2sWGvRU/jYpeLX?=
 =?us-ascii?Q?RuK19KElnZvOwTKSkoPfqG4G+5sBJ/Q+F5R1isVRZfU0F2WKfKKWVbhs4irW?=
 =?us-ascii?Q?531nZHejXxoVlAQ5d9DX2reQpysjr1c97VeB8YfZqrfY82ZEovOgJpWqLst/?=
 =?us-ascii?Q?2ANRkc2pp6i0ZZs0O7/BiCg88kMxeuKuBmF0RPUeiETMO5pC7uEDDWHcDF8j?=
 =?us-ascii?Q?V1tc+z+ST5Vj2PLOVhlVNbFOP+u1p/HmNhsBlgeT0UzCdoA9E+KX3nGRnd5L?=
 =?us-ascii?Q?86b6Q6GA0lR5Yc9n5QOPoaKlrad4hJ4TCG4alBYNH6bqnu20V9NyrNSHF78M?=
 =?us-ascii?Q?R1HGaV8QThsQeZl89TrwiL71xOe/X4FYdeoay7M5XBvMGEe4vCZ7J0mkhvOs?=
 =?us-ascii?Q?Pg=3D=3D?=
X-OriginatorOrg: corigine.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac7fd3fe-2cc4-42e3-4311-08dc9047bac3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2024 10:08:13.3273 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6MfimyzQ9jgmHcvXSZ43p075P75qZn6B0SlEEmpJTApM+yYOrvYNIqjTF2m6FZ7YQPLyRO9jWGcKikGwj/wWi62u6B067rfejAtxNGN8vUw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR13MB7153
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Add 3 trace points of control message related with representor
port, also modify the needed logic.

Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
 drivers/net/nfp/flower/nfp_flower_cmsg.c | 17 +++++--
 drivers/net/nfp/flower/nfp_flower_cmsg.h | 14 +++---
 drivers/net/nfp/meson.build              |  1 +
 drivers/net/nfp/nfp_trace.c              | 17 +++++++
 drivers/net/nfp/nfp_trace.h              | 62 ++++++++++++++++++++++++
 5 files changed, 100 insertions(+), 11 deletions(-)
 create mode 100644 drivers/net/nfp/nfp_trace.c
 create mode 100644 drivers/net/nfp/nfp_trace.h

diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.c b/drivers/net/nfp/flower/nfp_flower_cmsg.c
index 9a5b5f52b8..ff20938b69 100644
--- a/drivers/net/nfp/flower/nfp_flower_cmsg.c
+++ b/drivers/net/nfp/flower/nfp_flower_cmsg.c
@@ -10,6 +10,7 @@
 #include "../nfp_net_meta.h"
 #include "nfp_flower_ctrl.h"
 #include "nfp_flower_representor.h"
+#include "nfp_trace.h"
 
 static char*
 nfp_flower_cmsg_get_data(struct rte_mbuf *m)
@@ -65,15 +66,12 @@ nfp_flower_cmsg_mac_repr_init(struct rte_mbuf *mbuf,
 }
 
 static void
-nfp_flower_cmsg_mac_repr_fill(struct rte_mbuf *m,
+nfp_flower_cmsg_mac_repr_fill(struct nfp_flower_cmsg_mac_repr *msg,
 		uint8_t idx,
 		uint32_t nbi,
 		uint32_t nbi_port,
 		uint32_t phys_port)
 {
-	struct nfp_flower_cmsg_mac_repr *msg;
-
-	msg = (struct nfp_flower_cmsg_mac_repr *)nfp_flower_cmsg_get_data(m);
 	msg->ports[idx].idx       = idx;
 	msg->ports[idx].info      = nbi & NFP_FLOWER_CMSG_MAC_REPR_NBI;
 	msg->ports[idx].nbi_port  = nbi_port;
@@ -91,6 +89,7 @@ nfp_flower_cmsg_mac_repr(struct nfp_app_fw_flower *app_fw_flower,
 	uint32_t nbi_port;
 	uint32_t phys_port;
 	struct rte_mbuf *mbuf;
+	struct nfp_flower_cmsg_mac_repr *msg;
 
 	mbuf = rte_pktmbuf_alloc(app_fw_flower->ctrl_pktmbuf_pool);
 	if (mbuf == NULL) {
@@ -101,13 +100,14 @@ nfp_flower_cmsg_mac_repr(struct nfp_app_fw_flower *app_fw_flower,
 	nfp_flower_cmsg_mac_repr_init(mbuf, app_fw_flower);
 
 	/* Fill in the mac repr cmsg */
+	msg = (struct nfp_flower_cmsg_mac_repr *)nfp_flower_cmsg_get_data(mbuf);
 	for (i = 0; i < app_fw_flower->num_phyport_reprs; i++) {
 		id = nfp_function_id_get(pf_dev, i);
 		nbi = pf_dev->nfp_eth_table->ports[id].nbi;
 		nbi_port =  pf_dev->nfp_eth_table->ports[id].base;
 		phys_port =  pf_dev->nfp_eth_table->ports[id].index;
 
-		nfp_flower_cmsg_mac_repr_fill(mbuf, i, nbi, nbi_port, phys_port);
+		nfp_flower_cmsg_mac_repr_fill(msg, i, nbi, nbi_port, phys_port);
 	}
 
 	/* Send the cmsg via the ctrl vNIC */
@@ -118,6 +118,9 @@ nfp_flower_cmsg_mac_repr(struct nfp_app_fw_flower *app_fw_flower,
 		return -EIO;
 	}
 
+	for (i = 0; i < app_fw_flower->num_phyport_reprs; i++)
+		rte_pmd_nfp_trace_cmsg_port_repr("cmsg_mac_repr", &msg->ports[i], i);
+
 	return 0;
 }
 
@@ -148,6 +151,8 @@ nfp_flower_cmsg_repr_reify(struct nfp_app_fw_flower *app_fw_flower,
 		return -EIO;
 	}
 
+	rte_pmd_nfp_trace_cmsg_port_repr_reify("cmsg_port_reify", msg);
+
 	return 0;
 }
 
@@ -179,6 +184,8 @@ nfp_flower_cmsg_port_mod(struct nfp_app_fw_flower *app_fw_flower,
 		return -EIO;
 	}
 
+	rte_pmd_nfp_trace_cmsg_port_mod("cmsg_port_mod", msg);
+
 	return 0;
 }
 
diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.h b/drivers/net/nfp/flower/nfp_flower_cmsg.h
index 5d23227c24..c52f01dbc7 100644
--- a/drivers/net/nfp/flower/nfp_flower_cmsg.h
+++ b/drivers/net/nfp/flower/nfp_flower_cmsg.h
@@ -65,15 +65,17 @@ enum nfp_flower_cmsg_type {
  *            this forms NBIX.PortY notation as the NSP eth table.
  *          "Chip-wide" port (bits 7-0):
  */
+struct nfp_flower_cmsg_mac_repr_entry {
+	uint8_t idx;
+	uint8_t info;
+	uint8_t nbi_port;
+	uint8_t phys_port;
+};
+
 struct nfp_flower_cmsg_mac_repr {
 	uint8_t reserved[3];
 	uint8_t num_ports;
-	struct {
-		uint8_t idx;
-		uint8_t info;
-		uint8_t nbi_port;
-		uint8_t phys_port;
-	} ports[];
+	struct nfp_flower_cmsg_mac_repr_entry ports[];
 };
 
 /*
diff --git a/drivers/net/nfp/meson.build b/drivers/net/nfp/meson.build
index eb54df5348..39bda04bc5 100644
--- a/drivers/net/nfp/meson.build
+++ b/drivers/net/nfp/meson.build
@@ -46,6 +46,7 @@ sources = files(
         'nfp_rxtx.c',
         'nfp_rxtx_vec_stub.c',
         'nfp_service.c',
+        'nfp_trace.c',
 )
 
 if arch_subdir == 'x86'
diff --git a/drivers/net/nfp/nfp_trace.c b/drivers/net/nfp/nfp_trace.c
new file mode 100644
index 0000000000..c1f90e167f
--- /dev/null
+++ b/drivers/net/nfp/nfp_trace.c
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2024 Corigine Systems, Inc.
+ * All rights reserved.
+ */
+
+#include <rte_trace_point_register.h>
+
+#include "nfp_trace.h"
+
+RTE_TRACE_POINT_REGISTER(rte_pmd_nfp_trace_cmsg_port_repr,
+		pmd.net.nfp.cmsg.port.repr)
+
+RTE_TRACE_POINT_REGISTER(rte_pmd_nfp_trace_cmsg_port_repr_reify,
+		pmd.net.nfp.cmsg.port.repr_reify)
+
+RTE_TRACE_POINT_REGISTER(rte_pmd_nfp_trace_cmsg_port_mod,
+		pmd.net.nfp.cmsg.port.mod)
diff --git a/drivers/net/nfp/nfp_trace.h b/drivers/net/nfp/nfp_trace.h
new file mode 100644
index 0000000000..5b8f855634
--- /dev/null
+++ b/drivers/net/nfp/nfp_trace.h
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2024 Corigine Systems, Inc.
+ * All rights reserved.
+ */
+
+#ifndef __NFP_TRACE_H__
+#define __NFP_TRACE_H__
+
+#include <rte_trace_point.h>
+
+#include "flower/nfp_flower_cmsg.h"
+
+RTE_TRACE_POINT(
+	rte_pmd_nfp_trace_cmsg_port_repr,
+	RTE_TRACE_POINT_ARGS(const char *name, void *cmsg, uint8_t index),
+
+	rte_trace_point_emit_string(name);
+	rte_trace_point_emit_u8(index);
+
+	struct nfp_flower_cmsg_mac_repr_entry *entry = cmsg;
+	uint8_t idx = entry->idx;
+	uint8_t info = entry->info;
+	uint8_t nbi_port = entry->nbi_port;
+	uint8_t phys_port = entry->phys_port;
+
+	rte_trace_point_emit_u8(idx);
+	rte_trace_point_emit_u8(info);
+	rte_trace_point_emit_u8(nbi_port);
+	rte_trace_point_emit_u8(phys_port);
+)
+
+RTE_TRACE_POINT(
+	rte_pmd_nfp_trace_cmsg_port_repr_reify,
+	RTE_TRACE_POINT_ARGS(const char *name, void *cmsg),
+
+	rte_trace_point_emit_string(name);
+
+	struct nfp_flower_cmsg_port_reify *msg = cmsg;
+	uint32_t portnum = rte_be_to_cpu_32(msg->portnum);
+	uint16_t info = rte_be_to_cpu_16(msg->info);
+
+	rte_trace_point_emit_u32(portnum);
+	rte_trace_point_emit_u16(info);
+)
+
+RTE_TRACE_POINT(
+	rte_pmd_nfp_trace_cmsg_port_mod,
+	RTE_TRACE_POINT_ARGS(const char *name, void *cmsg),
+
+	rte_trace_point_emit_string(name);
+
+	struct nfp_flower_cmsg_port_mod *msg = cmsg;
+	uint32_t portnum = rte_be_to_cpu_32(msg->portnum);
+	uint8_t info = msg->info;
+	uint16_t mtu = rte_be_to_cpu_16(msg->mtu);
+
+	rte_trace_point_emit_u32(portnum);
+	rte_trace_point_emit_u8(info);
+	rte_trace_point_emit_u16(mtu);
+)
+
+#endif /* __NFP_TRACE_H__ */
-- 
2.39.1