All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sunil Kumar Kori <skori@marvell.com>
To: Ankur Dwivedi <adwivedi@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "thomas@monjalon.net" <thomas@monjalon.net>,
	"david.marchand@redhat.com" <david.marchand@redhat.com>,
	"mdr@ashroe.eu" <mdr@ashroe.eu>,
	"orika@nvidia.com" <orika@nvidia.com>,
	"ferruh.yigit@amd.com" <ferruh.yigit@amd.com>,
	"chas3@att.com" <chas3@att.com>,
	"humin29@huawei.com" <humin29@huawei.com>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	"ciara.loftus@intel.com" <ciara.loftus@intel.com>,
	"qi.z.zhang@intel.com" <qi.z.zhang@intel.com>,
	"mw@semihalf.com" <mw@semihalf.com>,
	"mk@semihalf.com" <mk@semihalf.com>,
	"shaibran@amazon.com" <shaibran@amazon.com>,
	"evgenys@amazon.com" <evgenys@amazon.com>,
	"igorch@amazon.com" <igorch@amazon.com>,
	"chandu@amd.com" <chandu@amd.com>,
	Igor Russkikh <irusskikh@marvell.com>,
	"shepard.siegel@atomicrules.com" <shepard.siegel@atomicrules.com>,
	"ed.czeck@atomicrules.com" <ed.czeck@atomicrules.com>,
	"john.miller@atomicrules.com" <john.miller@atomicrules.com>,
	"ajit.khaparde@broadcom.com" <ajit.khaparde@broadcom.com>,
	"somnath.kotur@broadcom.com" <somnath.kotur@broadcom.com>,
	Jerin Jacob Kollanukkaran <jerinj@marvell.com>,
	"Maciej Czekaj [C]" <mczekaj@marvell.com>,
	Shijith Thotton <sthotton@marvell.com>,
	Srisivasubramanian Srinivasan <srinivasan@marvell.com>,
	Harman Kalra <hkalra@marvell.com>,
	"rahul.lakkireddy@chelsio.com" <rahul.lakkireddy@chelsio.com>,
	"johndale@cisco.com" <johndale@cisco.com>,
	"hyonkim@cisco.com" <hyonkim@cisco.com>,
	"liudongdong3@huawei.com" <liudongdong3@huawei.com>,
	"yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
	"xuanziyang2@huawei.com" <xuanziyang2@huawei.com>,
	"cloud.wangxiaoyun@huawei.com" <cloud.wangxiaoyun@huawei.com>,
	"zhouguoyang@huawei.com" <zhouguoyang@huawei.com>,
	"simei.su@intel.com" <simei.su@intel.com>,
	"wenjun1.wu@intel.com" <wenjun1.wu@intel.com>,
	"qiming.yang@intel.com" <qiming.yang@intel.com>,
	"Yuying.Zhang@intel.com" <Yuying.Zhang@intel.com>,
	"beilei.xing@intel.com" <beilei.xing@intel.com>,
	"xiao.w.wang@intel.com" <xiao.w.wang@intel.com>,
	"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
	"junfeng.guo@intel.com" <junfeng.guo@intel.com>,
	"rosen.xu@intel.com" <rosen.xu@intel.com>,
	Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>,
	Kiran Kumar Kokkilagadda <kirankumark@marvell.com>,
	Satha Koteswara Rao Kottidi <skoteshwar@marvell.com>,
	Liron Himi <lironh@marvell.com>,
	"zr@semihalf.com" <zr@semihalf.com>,
	Radha Chintakuntla <radhac@marvell.com>,
	Veerasenareddy Burru <vburru@marvell.com>,
	Sathesh B Edara <sedara@marvell.com>,
	"matan@nvidia.com" <matan@nvidia.com>,
	"viacheslavo@nvidia.com" <viacheslavo@nvidia.com>,
	"longli@microsoft.com" <longli@microsoft.com>,
	"spinler@cesnet.cz" <spinler@cesnet.cz>,
	"chaoyong.he@corigine.com" <chaoyong.he@corigine.com>,
	"niklas.soderlund@corigine.com" <niklas.soderlund@corigine.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
	"sachin.saxena@oss.nxp.com" <sachin.saxena@oss.nxp.com>,
	"g.singh@nxp.com" <g.singh@nxp.com>,
	"apeksha.gupta@nxp.com" <apeksha.gupta@nxp.com>,
	"sachin.saxena@nxp.com" <sachin.saxena@nxp.com>,
	"aboyer@pensando.io" <aboyer@pensando.io>,
	Rasesh Mody <rmody@marvell.com>,
	Shahed Shaikh <shshaikh@marvell.com>,
	Devendra Singh Rawat <dsinghrawat@marvell.com>,
	"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
	"jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
	"jianwang@trustnetic.com" <jianwang@trustnetic.com>,
	"jbehrens@vmware.com" <jbehrens@vmware.com>,
	"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"chenbo.xia@intel.com" <chenbo.xia@intel.com>,
	"steven.webster@windriver.com" <steven.webster@windriver.com>,
	"matt.peters@windriver.com" <matt.peters@windriver.com>,
	"bruce.richardson@intel.com" <bruce.richardson@intel.com>,
	"mtetsuyah@gmail.com" <mtetsuyah@gmail.com>,
	"grive@u256.net" <grive@u256.net>,
	"jasvinder.singh@intel.com" <jasvinder.singh@intel.com>,
	"cristian.dumitrescu@intel.com" <cristian.dumitrescu@intel.com>,
	"jgrajcia@cisco.com" <jgrajcia@cisco.com>,
	"mb@smartsharesystems.com" <mb@smartsharesystems.com>,
	Ankur Dwivedi <adwivedi@marvell.com>
Subject: RE: [PATCH v5 3/6] ethdev: add trace points for remaining functions
Date: Thu, 12 Jan 2023 16:38:44 +0000	[thread overview]
Message-ID: <CO6PR18MB3860140F5D72F792B2193322B4FD9@CO6PR18MB3860.namprd18.prod.outlook.com> (raw)
In-Reply-To: <20230112112140.807233-4-adwivedi@marvell.com>

> -----Original Message-----
> From: Ankur Dwivedi <adwivedi@marvell.com>
> Sent: Thursday, January 12, 2023 4:52 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; david.marchand@redhat.com; mdr@ashroe.eu;
> orika@nvidia.com; ferruh.yigit@amd.com; chas3@att.com;
> humin29@huawei.com; linville@tuxdriver.com; ciara.loftus@intel.com;
> qi.z.zhang@intel.com; mw@semihalf.com; mk@semihalf.com;
> shaibran@amazon.com; evgenys@amazon.com; igorch@amazon.com;
> chandu@amd.com; Igor Russkikh <irusskikh@marvell.com>;
> shepard.siegel@atomicrules.com; ed.czeck@atomicrules.com;
> john.miller@atomicrules.com; ajit.khaparde@broadcom.com;
> somnath.kotur@broadcom.com; Jerin Jacob Kollanukkaran
> <jerinj@marvell.com>; Maciej Czekaj [C] <mczekaj@marvell.com>; Shijith
> Thotton <sthotton@marvell.com>; Srisivasubramanian Srinivasan
> <srinivasan@marvell.com>; Harman Kalra <hkalra@marvell.com>;
> rahul.lakkireddy@chelsio.com; johndale@cisco.com; hyonkim@cisco.com;
> liudongdong3@huawei.com; yisen.zhuang@huawei.com;
> xuanziyang2@huawei.com; cloud.wangxiaoyun@huawei.com;
> zhouguoyang@huawei.com; simei.su@intel.com; wenjun1.wu@intel.com;
> qiming.yang@intel.com; Yuying.Zhang@intel.com; beilei.xing@intel.com;
> xiao.w.wang@intel.com; jingjing.wu@intel.com; junfeng.guo@intel.com;
> rosen.xu@intel.com; Nithin Kumar Dabilpuram
> <ndabilpuram@marvell.com>; Kiran Kumar Kokkilagadda
> <kirankumark@marvell.com>; Sunil Kumar Kori <skori@marvell.com>; Satha
> Koteswara Rao Kottidi <skoteshwar@marvell.com>; Liron Himi
> <lironh@marvell.com>; zr@semihalf.com; Radha Chintakuntla
> <radhac@marvell.com>; Veerasenareddy Burru <vburru@marvell.com>;
> Sathesh B Edara <sedara@marvell.com>; matan@nvidia.com;
> viacheslavo@nvidia.com; longli@microsoft.com; spinler@cesnet.cz;
> chaoyong.he@corigine.com; niklas.soderlund@corigine.com;
> hemant.agrawal@nxp.com; sachin.saxena@oss.nxp.com; g.singh@nxp.com;
> apeksha.gupta@nxp.com; sachin.saxena@nxp.com; aboyer@pensando.io;
> Rasesh Mody <rmody@marvell.com>; Shahed Shaikh
> <shshaikh@marvell.com>; Devendra Singh Rawat
> <dsinghrawat@marvell.com>; andrew.rybchenko@oktetlabs.ru;
> jiawenwu@trustnetic.com; jianwang@trustnetic.com;
> jbehrens@vmware.com; maxime.coquelin@redhat.com;
> chenbo.xia@intel.com; steven.webster@windriver.com;
> matt.peters@windriver.com; bruce.richardson@intel.com;
> mtetsuyah@gmail.com; grive@u256.net; jasvinder.singh@intel.com;
> cristian.dumitrescu@intel.com; jgrajcia@cisco.com;
> mb@smartsharesystems.com; Ankur Dwivedi <adwivedi@marvell.com>
> Subject: [PATCH v5 3/6] ethdev: add trace points for remaining functions
> 
> Adds trace points for remaining ethdev functions.
> 
> Signed-off-by: Ankur Dwivedi <adwivedi@marvell.com>
> ---
>  lib/ethdev/ethdev_trace_points.c | 252 +++++++++++++++
>  lib/ethdev/rte_ethdev.c          | 476 ++++++++++++++++++++++-----
>  lib/ethdev/rte_ethdev_cman.c     |  30 +-
>  lib/ethdev/rte_ethdev_trace.h    | 529 +++++++++++++++++++++++++++++++
>  lib/ethdev/rte_ethdev_trace_fp.h | 342 ++++++++++++++++++++
>  lib/ethdev/version.map           |  81 +++++
>  6 files changed, 1622 insertions(+), 88 deletions(-)
> 

Why can't this patch be part of [PATCH v5 2/6] ?

> diff --git a/lib/ethdev/ethdev_trace_points.c
> b/lib/ethdev/ethdev_trace_points.c
> index 4fea76e0ff..102a18fcc1 100644
> --- a/lib/ethdev/ethdev_trace_points.c
> +++ b/lib/ethdev/ethdev_trace_points.c
> @@ -222,3 +222,255 @@
> RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_rx_queue_stats_mappin
> g,
> 
>  RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_fw_version_get,
>  	lib.ethdev.fw_version_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_info_get,
> +	lib.ethdev.info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_conf_get,
> +	lib.ethdev.conf_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_supported_ptypes,
> +	lib.ethdev.get_supported_ptypes)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_ptypes,
> +	lib.ethdev.set_ptypes)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_macaddrs_get,
> +	lib.ethdev.macaddrs_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_macaddr_get,
> +	lib.ethdev.macaddr_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_mtu,
> +	lib.ethdev.get_mtu)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_mtu,
> +	lib.ethdev.set_mtu)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_vlan_filter,
> +	lib.ethdev.vlan_filter)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_vlan_strip_on_queue,
> +	lib.ethdev.set_vlan_strip_on_queue)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_vlan_ether_type,
> +	lib.ethdev.set_vlan_ether_type)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_vlan_offload,
> +	lib.ethdev.set_vlan_offload)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_vlan_offload,
> +	lib.ethdev.get_vlan_offload)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_vlan_pvid,
> +	lib.ethdev.set_vlan_pvid)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_flow_ctrl_get,
> +	lib.ethdev.flow_ctrl_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_flow_ctrl_set,
> +	lib.ethdev.flow_ctrl_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_priority_flow_ctrl_set,
> +	lib.ethdev.priority_flow_ctrl_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_priority_flow_ctrl_queue_i
> nfo_get,
> +	lib.ethdev.priority_flow_ctrl_queue_info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_priority_flow_ctrl_queue_c
> onfigure,
> +	lib.ethdev.priority_flow_ctrl_queue_configure)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rss_reta_update,
> +	lib.ethdev.rss_reta_update)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rss_reta_query,
> +	lib.ethdev.rss_reta_query)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rss_hash_update,
> +	lib.ethdev.rss_hash_update)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rss_hash_conf_get,
> +	lib.ethdev.rss_hash_conf_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_udp_tunnel_port_add,
> +	lib.ethdev.udp_tunnel_port_add)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_udp_tunnel_port_delete,
> +	lib.ethdev.udp_tunnel_port_delete)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_led_on,
> +	lib.ethdev.led_on)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_led_off,
> +	lib.ethdev.led_off)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_fec_get_capability,
> +	lib.ethdev.fec_get_capability)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_fec_get,
> +	lib.ethdev.fec_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_fec_set,
> +	lib.ethdev.fec_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_mac_addr_add,
> +	lib.ethdev.mac_addr_add)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_mac_addr_remove,
> +	lib.ethdev.mac_addr_remove)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_default_mac_addr_set,
> +	lib.ethdev.default_mac_addr_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_uc_hash_table_set,
> +	lib.ethdev.uc_hash_table_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_uc_all_hash_table_set,
> +	lib.ethdev.uc_all_hash_table_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_set_queue_rate_limit,
> +	lib.ethdev.set_queue_rate_limit)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_rx_avail_thresh_set,
> +	lib.ethdev.rx_avail_thresh_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_rx_avail_thresh_query,
> +	lib.ethdev.rx_avail_thresh_query)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_callback_register,
> +	lib.ethdev.callback_register)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_callback_unregister,
> +	lib.ethdev.callback_unregister)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_intr_ctl,
> +	lib.ethdev.rx_intr_ctl)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_intr_ctl_q_get_fd,
> +	lib.ethdev.rx_intr_ctl_q_get_fd)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_intr_ctl_q,
> +	lib.ethdev.rx_intr_ctl_q)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_intr_enable,
> +	lib.ethdev.rx_intr_enable)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_intr_disable,
> +	lib.ethdev.rx_intr_disable)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_add_rx_callback,
> +	lib.ethdev.add_rx_callback)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_add_first_rx_callback,
> +	lib.ethdev.add_first_rx_callback)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_add_tx_callback,
> +	lib.ethdev.add_tx_callback)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_remove_rx_callback,
> +	lib.ethdev.remove_rx_callback)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_remove_tx_callback,
> +	lib.ethdev.remove_tx_callback)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_rx_queue_info_get,
> +	lib.ethdev.rx_queue_info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_tx_queue_info_get,
> +	lib.ethdev.tx_queue_info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_rx_burst_mode_get,
> +	lib.ethdev.rx_burst_mode_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_tx_burst_mode_get,
> +	lib.ethdev.tx_burst_mode_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_get_monitor_addr,
> +	lib.ethdev.get_monitor_addr)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_mc_addr_list,
> +	lib.ethdev.set_mc_addr_list)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_enable,
> +	lib.ethdev.timesync_enable)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_disable,
> +	lib.ethdev.timesync_disable)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_read_rx_timestamp,
> +	lib.ethdev.timesync_read_rx_timestamp)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_read_tx_timestamp,
> +	lib.ethdev.timesync_read_tx_timestamp)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_adjust_time,
> +	lib.ethdev.timesync_adjust_time)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_read_time,
> +	lib.ethdev.timesync_read_time)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_timesync_write_time,
> +	lib.ethdev.timesync_write_time)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_read_clock,
> +	lib.ethdev.read_clock)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_reg_info,
> +	lib.ethdev.get_reg_info)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_eeprom_length,
> +	lib.ethdev.get_eeprom_length)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_eeprom,
> +	lib.ethdev.get_eeprom)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_set_eeprom,
> +	lib.ethdev.set_eeprom)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_module_info,
> +	lib.ethdev.get_module_info)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_module_eeprom,
> +	lib.ethdev.get_module_eeprom)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_get_dcb_info,
> +	lib.ethdev.get_dcb_info)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_adjust_nb_rx_tx_desc,
> +	lib.ethdev.adjust_nb_rx_tx_desc)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_hairpin_capability_get,
> +	lib.ethdev.hairpin_capability_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_ethdev_trace_pool_ops_supported,
> +	lib.ethdev.pool_ops_supported)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_representor_info_get,
> +	lib.ethdev.representor_info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_rx_metadata_negotiate,
> +	lib.ethdev.rx_metadata_negotiate)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_ip_reassembly_capability_get,
> +	lib.ethdev.ip_reassembly_capability_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_ip_reassembly_conf_get,
> +	lib.ethdev.ip_reassembly_conf_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_ip_reassembly_conf_set,
> +	lib.ethdev.ip_reassembly_conf_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_buffer_split_get_supported_h
> dr_ptypes,
> +	lib.ethdev.buffer_split_get_supported_hdr_ptypes)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_info_get,
> +	lib.ethdev.cman_info_get)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_config_init,
> +	lib.ethdev.cman_config_init)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_config_set,
> +	lib.ethdev.cman_config_set)
> +
> +RTE_TRACE_POINT_REGISTER(rte_eth_trace_cman_config_get,
> +	lib.ethdev.cman_config_get)
> diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
> index 40897ad94d..60d2ab47ea 100644
> --- a/lib/ethdev/rte_ethdev.c
> +++ b/lib/ethdev/rte_ethdev.c
> @@ -3539,6 +3539,8 @@ rte_eth_dev_info_get(uint16_t port_id, struct
> rte_eth_dev_info *dev_info)
> 
>  	dev_info->dev_flags = &dev->data->dev_flags;
> 
> +	rte_ethdev_trace_info_get(port_id, dev_info);
> +
>  	return 0;
>  }
> 
> @@ -3559,6 +3561,8 @@ rte_eth_dev_conf_get(uint16_t port_id, struct
> rte_eth_conf *dev_conf)
> 
>  	memcpy(dev_conf, &dev->data->dev_conf, sizeof(struct
> rte_eth_conf));
> 
> +	rte_ethdev_trace_conf_get(port_id, dev_conf);
> +
>  	return 0;
>  }
> 
> @@ -3589,8 +3593,10 @@ rte_eth_dev_get_supported_ptypes(uint16_t
> port_id, uint32_t ptype_mask,
> 
>  	for (i = 0, j = 0; all_ptypes[i] != RTE_PTYPE_UNKNOWN; ++i)
>  		if (all_ptypes[i] & ptype_mask) {
> -			if (j < num)
> +			if (j < num) {
>  				ptypes[j] = all_ptypes[i];
> +
> 	rte_ethdev_trace_get_supported_ptypes(port_id, j, num, ptypes[j]);
> +			}
>  			j++;
>  		}
> 
> @@ -3668,6 +3674,7 @@ rte_eth_dev_set_ptypes(uint16_t port_id, uint32_t
> ptype_mask,
>  		if (ptype_mask & all_ptypes[i]) {
>  			if (j < num - 1) {
>  				set_ptypes[j] = all_ptypes[i];
> +				rte_ethdev_trace_set_ptypes(port_id, j, num,
> set_ptypes[j]);
>  				j++;
>  				continue;
>  			}
> @@ -3709,6 +3716,8 @@ rte_eth_macaddrs_get(uint16_t port_id, struct
> rte_ether_addr *ma,
>  	num = RTE_MIN(dev_info.max_mac_addrs, num);
>  	memcpy(ma, dev->data->mac_addrs, num * sizeof(ma[0]));
> 
> +	rte_eth_trace_macaddrs_get(port_id, num);
> +
>  	return num;
>  }
> 
> @@ -3729,6 +3738,8 @@ rte_eth_macaddr_get(uint16_t port_id, struct
> rte_ether_addr *mac_addr)
> 
>  	rte_ether_addr_copy(&dev->data->mac_addrs[0], mac_addr);
> 
> +	rte_eth_trace_macaddr_get(port_id, mac_addr);
> +
>  	return 0;
>  }
> 
> @@ -3747,6 +3758,9 @@ rte_eth_dev_get_mtu(uint16_t port_id, uint16_t
> *mtu)
>  	}
> 
>  	*mtu = dev->data->mtu;
> +
> +	rte_ethdev_trace_get_mtu(port_id, *mtu);
> +
>  	return 0;
>  }
> 
> @@ -3789,7 +3803,11 @@ rte_eth_dev_set_mtu(uint16_t port_id, uint16_t
> mtu)
>  	if (ret == 0)
>  		dev->data->mtu = mtu;
> 
> -	return eth_err(port_id, ret);
> +	ret = eth_err(port_id, ret);
> +
> +	rte_ethdev_trace_set_mtu(port_id, mtu, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -3832,7 +3850,11 @@ rte_eth_dev_vlan_filter(uint16_t port_id,
> uint16_t vlan_id, int on)
>  			vfc->ids[vidx] &= ~RTE_BIT64(vbit);
>  	}
> 
> -	return eth_err(port_id, ret);
> +	ret = eth_err(port_id, ret);
> +
> +	rte_ethdev_trace_vlan_filter(port_id, vlan_id, on, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -3851,8 +3873,11 @@ rte_eth_dev_set_vlan_strip_on_queue(uint16_t
> port_id, uint16_t rx_queue_id,
> 
>  	if (*dev->dev_ops->vlan_strip_queue_set == NULL)
>  		return -ENOTSUP;
> +
>  	(*dev->dev_ops->vlan_strip_queue_set)(dev, rx_queue_id, on);
> 
> +	rte_ethdev_trace_set_vlan_strip_on_queue(port_id, rx_queue_id,
> on);
> +
>  	return 0;
>  }
> 
> @@ -3862,14 +3887,18 @@ rte_eth_dev_set_vlan_ether_type(uint16_t
> port_id,
>  				uint16_t tpid)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->vlan_tpid_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->vlan_tpid_set)(dev,
> vlan_type,
> -							       tpid));
> +	ret = eth_err(port_id, (*dev->dev_ops->vlan_tpid_set)(dev,
> vlan_type, tpid));
> +
> +	rte_ethdev_trace_set_vlan_ether_type(port_id, vlan_type, tpid, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -3961,7 +3990,11 @@ rte_eth_dev_set_vlan_offload(uint16_t port_id,
> int offload_mask)
>  		dev->data->dev_conf.rxmode.offloads = orig_offloads;
>  	}
> 
> -	return eth_err(port_id, ret);
> +	ret = eth_err(port_id, ret);
> +
> +	rte_ethdev_trace_set_vlan_offload(port_id, offload_mask, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -3987,6 +4020,8 @@ rte_eth_dev_get_vlan_offload(uint16_t port_id)
>  	if (*dev_offloads & RTE_ETH_RX_OFFLOAD_QINQ_STRIP)
>  		ret |= RTE_ETH_QINQ_STRIP_OFFLOAD;
> 
> +	rte_ethdev_trace_get_vlan_offload(port_id, ret);
> +
>  	return ret;
>  }
> 
> @@ -3994,19 +4029,25 @@ int
>  rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->vlan_pvid_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->vlan_pvid_set)(dev, pvid,
> on));
> +	ret = eth_err(port_id, (*dev->dev_ops->vlan_pvid_set)(dev, pvid,
> on));
> +
> +	rte_ethdev_trace_set_vlan_pvid(port_id, pvid, on, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_flow_ctrl_get(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4021,13 +4062,18 @@ rte_eth_dev_flow_ctrl_get(uint16_t port_id,
> struct rte_eth_fc_conf *fc_conf)
>  	if (*dev->dev_ops->flow_ctrl_get == NULL)
>  		return -ENOTSUP;
>  	memset(fc_conf, 0, sizeof(*fc_conf));
> -	return eth_err(port_id, (*dev->dev_ops->flow_ctrl_get)(dev,
> fc_conf));
> +	ret = eth_err(port_id, (*dev->dev_ops->flow_ctrl_get)(dev, fc_conf));
> +
> +	rte_ethdev_trace_flow_ctrl_get(port_id, fc_conf, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_flow_ctrl_set(uint16_t port_id, struct rte_eth_fc_conf *fc_conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4046,7 +4092,11 @@ rte_eth_dev_flow_ctrl_set(uint16_t port_id,
> struct rte_eth_fc_conf *fc_conf)
> 
>  	if (*dev->dev_ops->flow_ctrl_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->flow_ctrl_set)(dev,
> fc_conf));
> +	ret = eth_err(port_id, (*dev->dev_ops->flow_ctrl_set)(dev, fc_conf));
> +
> +	rte_ethdev_trace_flow_ctrl_set(port_id, fc_conf, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4054,6 +4104,7 @@ rte_eth_dev_priority_flow_ctrl_set(uint16_t
> port_id,
>  				   struct rte_eth_pfc_conf *pfc_conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4071,9 +4122,14 @@ rte_eth_dev_priority_flow_ctrl_set(uint16_t
> port_id,
>  	}
> 
>  	/* High water, low water validation are device specific */
> -	if  (*dev->dev_ops->priority_flow_ctrl_set)
> -		return eth_err(port_id, (*dev->dev_ops-
> >priority_flow_ctrl_set)
> -					(dev, pfc_conf));
> +	if  (*dev->dev_ops->priority_flow_ctrl_set) {
> +		ret = eth_err(port_id, (*dev->dev_ops-
> >priority_flow_ctrl_set)
> +				       (dev, pfc_conf));
> +		rte_ethdev_trace_priority_flow_ctrl_set(port_id, pfc_conf,
> ret);
> +
> +		return ret;
> +	}
> +
>  	return -ENOTSUP;
>  }
> 
> @@ -4132,6 +4188,7 @@
> rte_eth_dev_priority_flow_ctrl_queue_info_get(uint16_t port_id,
>  		struct rte_eth_pfc_queue_info *pfc_queue_info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4142,9 +4199,13 @@
> rte_eth_dev_priority_flow_ctrl_queue_info_get(uint16_t port_id,
>  		return -EINVAL;
>  	}
> 
> -	if (*dev->dev_ops->priority_flow_ctrl_queue_info_get)
> -		return eth_err(port_id, (*dev->dev_ops-
> >priority_flow_ctrl_queue_info_get)
> +	if (*dev->dev_ops->priority_flow_ctrl_queue_info_get) {
> +		ret = eth_err(port_id, (*dev->dev_ops-
> >priority_flow_ctrl_queue_info_get)
>  			(dev, pfc_queue_info));
> +		rte_ethdev_trace_priority_flow_ctrl_queue_info_get(port_id,
> pfc_queue_info,
> +								   ret);
> +		return ret;
> +	}
>  	return -ENOTSUP;
>  }
> 
> @@ -4213,10 +4274,16 @@
> rte_eth_dev_priority_flow_ctrl_queue_configure(uint16_t port_id,
>  			return ret;
>  	}
> 
> -	if (*dev->dev_ops->priority_flow_ctrl_queue_config)
> -		return eth_err(port_id,
> -			       (*dev->dev_ops-
> >priority_flow_ctrl_queue_config)(
> -				dev, pfc_queue_conf));
> +	if (*dev->dev_ops->priority_flow_ctrl_queue_config) {
> +		ret = eth_err(port_id,
> +			      (*dev->dev_ops-
> >priority_flow_ctrl_queue_config)(
> +			       dev, pfc_queue_conf));
> +
> 	rte_ethdev_trace_priority_flow_ctrl_queue_configure(port_id,
> +
> pfc_queue_conf,
> +								    ret);
> +		return ret;
> +	}
> +
>  	return -ENOTSUP;
>  }
> 
> @@ -4308,8 +4375,12 @@ rte_eth_dev_rss_reta_update(uint16_t port_id,
> 
>  	if (*dev->dev_ops->reta_update == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->reta_update)(dev,
> reta_conf,
> -							     reta_size));
> +	ret = eth_err(port_id, (*dev->dev_ops->reta_update)(dev, reta_conf,
> +							    reta_size));
> +
> +	rte_ethdev_trace_rss_reta_update(port_id, reta_conf, reta_size,
> ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4337,8 +4408,12 @@ rte_eth_dev_rss_reta_query(uint16_t port_id,
> 
>  	if (*dev->dev_ops->reta_query == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->reta_query)(dev, reta_conf,
> -							    reta_size));
> +	ret = eth_err(port_id, (*dev->dev_ops->reta_query)(dev, reta_conf,
> +							   reta_size));
> +
> +	rte_ethdev_trace_rss_reta_query(port_id, reta_conf, reta_size, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4382,8 +4457,11 @@ rte_eth_dev_rss_hash_update(uint16_t port_id,
> 
>  	if (*dev->dev_ops->rss_hash_update == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->rss_hash_update)(dev,
> -								 rss_conf));
> +	ret = eth_err(port_id, (*dev->dev_ops->rss_hash_update)(dev,
> rss_conf));
> +
> +	rte_ethdev_trace_rss_hash_update(port_id, rss_conf, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4391,6 +4469,7 @@ rte_eth_dev_rss_hash_conf_get(uint16_t port_id,
>  			      struct rte_eth_rss_conf *rss_conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4404,8 +4483,12 @@ rte_eth_dev_rss_hash_conf_get(uint16_t port_id,
> 
>  	if (*dev->dev_ops->rss_hash_conf_get == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->rss_hash_conf_get)(dev,
> -								   rss_conf));
> +	ret = eth_err(port_id, (*dev->dev_ops->rss_hash_conf_get)(dev,
> +								  rss_conf));
> +
> +	rte_ethdev_trace_rss_hash_conf_get(port_id, rss_conf, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4413,6 +4496,7 @@ rte_eth_dev_udp_tunnel_port_add(uint16_t
> port_id,
>  				struct rte_eth_udp_tunnel *udp_tunnel)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4431,8 +4515,11 @@ rte_eth_dev_udp_tunnel_port_add(uint16_t
> port_id,
> 
>  	if (*dev->dev_ops->udp_tunnel_port_add == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >udp_tunnel_port_add)(dev,
> -								udp_tunnel));
> +	ret = eth_err(port_id, (*dev->dev_ops->udp_tunnel_port_add)(dev,
> udp_tunnel));
> +
> +	rte_ethdev_trace_udp_tunnel_port_add(port_id, udp_tunnel, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4440,6 +4527,7 @@ rte_eth_dev_udp_tunnel_port_delete(uint16_t
> port_id,
>  				   struct rte_eth_udp_tunnel *udp_tunnel)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4458,34 +4546,47 @@ rte_eth_dev_udp_tunnel_port_delete(uint16_t
> port_id,
> 
>  	if (*dev->dev_ops->udp_tunnel_port_del == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->udp_tunnel_port_del)(dev,
> -								udp_tunnel));
> +	ret = eth_err(port_id, (*dev->dev_ops->udp_tunnel_port_del)(dev,
> udp_tunnel));
> +
> +	rte_ethdev_trace_udp_tunnel_port_delete(port_id, udp_tunnel, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_led_on(uint16_t port_id)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->dev_led_on == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->dev_led_on)(dev));
> +	ret = eth_err(port_id, (*dev->dev_ops->dev_led_on)(dev));
> +
> +	rte_eth_trace_led_on(port_id, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_led_off(uint16_t port_id)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->dev_led_off == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
> +	ret = eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
> +
> +	rte_eth_trace_led_off(port_id, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4510,6 +4611,8 @@ rte_eth_fec_get_capability(uint16_t port_id,
>  		return -ENOTSUP;
>  	ret = (*dev->dev_ops->fec_get_capability)(dev, speed_fec_capa,
> num);
> 
> +	rte_eth_trace_fec_get_capability(port_id, speed_fec_capa, num,
> ret);
> +
>  	return ret;
>  }
> 
> @@ -4517,6 +4620,7 @@ int
>  rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4530,20 +4634,29 @@ rte_eth_fec_get(uint16_t port_id, uint32_t
> *fec_capa)
> 
>  	if (*dev->dev_ops->fec_get == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, fec_capa));
> +	ret = eth_err(port_id, (*dev->dev_ops->fec_get)(dev, fec_capa));
> +
> +	rte_eth_trace_fec_get(port_id, fec_capa, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->fec_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, fec_capa));
> +	ret = eth_err(port_id, (*dev->dev_ops->fec_set)(dev, fec_capa));
> +
> +	rte_eth_trace_fec_set(port_id, fec_capa, ret);
> +
> +	return ret;
>  }
> 
>  /*
> @@ -4631,7 +4744,11 @@ rte_eth_dev_mac_addr_add(uint16_t port_id,
> struct rte_ether_addr *addr,
>  		dev->data->mac_pool_sel[index] |= RTE_BIT64(pool);
>  	}
> 
> -	return eth_err(port_id, ret);
> +	ret = eth_err(port_id, ret);
> +
> +	rte_ethdev_trace_mac_addr_add(port_id, addr, pool, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -4671,6 +4788,8 @@ rte_eth_dev_mac_addr_remove(uint16_t port_id,
> struct rte_ether_addr *addr)
>  	/* reset pool bitmap */
>  	dev->data->mac_pool_sel[index] = 0;
> 
> +	rte_ethdev_trace_mac_addr_remove(port_id, addr);
> +
>  	return 0;
>  }
> 
> @@ -4703,6 +4822,8 @@ rte_eth_dev_default_mac_addr_set(uint16_t
> port_id, struct rte_ether_addr *addr)
>  	/* Update default address in NIC data structure */
>  	rte_ether_addr_copy(addr, &dev->data->mac_addrs[0]);
> 
> +	rte_ethdev_trace_default_mac_addr_set(port_id, addr);
> +
>  	return 0;
>  }
> 
> @@ -4793,21 +4914,29 @@ rte_eth_dev_uc_hash_table_set(uint16_t
> port_id, struct rte_ether_addr *addr,
>  					&dev->data-
> >hash_mac_addrs[index]);
>  	}
> 
> -	return eth_err(port_id, ret);
> +	ret = eth_err(port_id, ret);
> +
> +	rte_ethdev_trace_uc_hash_table_set(port_id, on, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->uc_all_hash_table_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >uc_all_hash_table_set)(dev,
> -								       on));
> +	ret = eth_err(port_id, (*dev->dev_ops->uc_all_hash_table_set)(dev,
> on));
> +
> +	rte_ethdev_trace_uc_all_hash_table_set(port_id, on, ret);
> +
> +	return ret;
>  }
> 
>  int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,
> @@ -4843,14 +4972,18 @@ int rte_eth_set_queue_rate_limit(uint16_t
> port_id, uint16_t queue_idx,
> 
>  	if (*dev->dev_ops->set_queue_rate_limit == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->set_queue_rate_limit)(dev,
> -							queue_idx, tx_rate));
> +	ret = eth_err(port_id, (*dev->dev_ops->set_queue_rate_limit)(dev,
> queue_idx, tx_rate));
> +
> +	rte_eth_trace_set_queue_rate_limit(port_id, queue_idx, tx_rate,
> ret);
> +
> +	return ret;
>  }
> 
>  int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
>  			       uint8_t avail_thresh)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4870,14 +5003,19 @@ int rte_eth_rx_avail_thresh_set(uint16_t
> port_id, uint16_t queue_id,
>  	}
>  	if (*dev->dev_ops->rx_queue_avail_thresh_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >rx_queue_avail_thresh_set)(dev,
> -							     queue_id,
> avail_thresh));
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >rx_queue_avail_thresh_set)(dev, queue_id,
> +
> avail_thresh));
> +
> +	rte_eth_trace_rx_avail_thresh_set(port_id, queue_id, avail_thresh,
> ret);
> +
> +	return ret;
>  }
> 
>  int rte_eth_rx_avail_thresh_query(uint16_t port_id, uint16_t *queue_id,
>  				 uint8_t *avail_thresh)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -4889,8 +5027,12 @@ int rte_eth_rx_avail_thresh_query(uint16_t
> port_id, uint16_t *queue_id,
> 
>  	if (*dev->dev_ops->rx_queue_avail_thresh_query == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >rx_queue_avail_thresh_query)(dev,
> -							     queue_id,
> avail_thresh));
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >rx_queue_avail_thresh_query)(dev, queue_id,
> +
> avail_thresh));
> +
> +	rte_eth_trace_rx_avail_thresh_query(port_id, *queue_id, ret);
> +
> +	return ret;
>  }
> 
>  RTE_INIT(eth_dev_init_fp_ops)
> @@ -4972,6 +5114,10 @@ rte_eth_dev_callback_register(uint16_t port_id,
>  	} while (++next_port <= last_port);
> 
>  	rte_spinlock_unlock(&eth_dev_cb_lock);
> +
> +	rte_ethdev_trace_callback_register(port_id, event, cb_fn, cb_arg,
> next_port,
> +					   last_port);
> +
>  	return 0;
>  }
> 
> @@ -5033,6 +5179,9 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
>  	} while (++next_port <= last_port);
> 
>  	rte_spinlock_unlock(&eth_dev_cb_lock);
> +
> +	rte_ethdev_trace_callback_unregister(port_id, event, cb_fn, cb_arg,
> ret);
> +
>  	return ret;
>  }
> 
> @@ -5062,6 +5211,9 @@ rte_eth_dev_rx_intr_ctl(uint16_t port_id, int epfd,
> int op, void *data)
>  	for (qid = 0; qid < dev->data->nb_rx_queues; qid++) {
>  		vec = rte_intr_vec_list_index_get(intr_handle, qid);
>  		rc = rte_intr_rx_ctl(intr_handle, epfd, op, vec, data);
> +
> +		rte_ethdev_trace_rx_intr_ctl(port_id, qid, epfd, op, data, rc);
> +
>  		if (rc && rc != -EEXIST) {
>  			RTE_ETHDEV_LOG(ERR,
>  				"p %u q %u Rx ctl error op %d epfd %d vec
> %u\n",
> @@ -5105,6 +5257,8 @@ rte_eth_dev_rx_intr_ctl_q_get_fd(uint16_t
> port_id, uint16_t queue_id)
>  		(vec - RTE_INTR_VEC_RXTX_OFFSET) : vec;
>  	fd = rte_intr_efds_index_get(intr_handle, efd_idx);
> 
> +	rte_ethdev_trace_rx_intr_ctl_q_get_fd(port_id, queue_id, fd);
> +
>  	return fd;
>  }
> 
> @@ -5138,6 +5292,9 @@ rte_eth_dev_rx_intr_ctl_q(uint16_t port_id,
> uint16_t queue_id,
> 
>  	vec = rte_intr_vec_list_index_get(intr_handle, queue_id);
>  	rc = rte_intr_rx_ctl(intr_handle, epfd, op, vec, data);
> +
> +	rte_ethdev_trace_rx_intr_ctl_q(port_id, queue_id, epfd, op, data,
> rc);
> +
>  	if (rc && rc != -EEXIST) {
>  		RTE_ETHDEV_LOG(ERR,
>  			"p %u q %u Rx ctl error op %d epfd %d vec %u\n",
> @@ -5164,7 +5321,11 @@ rte_eth_dev_rx_intr_enable(uint16_t port_id,
> 
>  	if (*dev->dev_ops->rx_queue_intr_enable == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >rx_queue_intr_enable)(dev, queue_id));
> +	ret = eth_err(port_id, (*dev->dev_ops->rx_queue_intr_enable)(dev,
> queue_id));
> +
> +	rte_ethdev_trace_rx_intr_enable(port_id, queue_id, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5183,7 +5344,11 @@ rte_eth_dev_rx_intr_disable(uint16_t port_id,
> 
>  	if (*dev->dev_ops->rx_queue_intr_disable == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >rx_queue_intr_disable)(dev, queue_id));
> +	ret = eth_err(port_id, (*dev->dev_ops->rx_queue_intr_disable)(dev,
> queue_id));
> +
> +	rte_ethdev_trace_rx_intr_disable(port_id, queue_id, ret);
> +
> +	return ret;
>  }
> 
> 
> @@ -5241,6 +5406,8 @@ rte_eth_add_rx_callback(uint16_t port_id,
> uint16_t queue_id,
>  	}
>  	rte_spinlock_unlock(&eth_dev_rx_cb_lock);
> 
> +	rte_eth_trace_add_rx_callback(port_id, queue_id, fn, user_param,
> cb);
> +
>  	return cb;
>  }
> 
> @@ -5280,6 +5447,8 @@ rte_eth_add_first_rx_callback(uint16_t port_id,
> uint16_t queue_id,
>  		cb, __ATOMIC_RELEASE);
>  	rte_spinlock_unlock(&eth_dev_rx_cb_lock);
> 
> +	rte_eth_trace_add_first_rx_callback(port_id, queue_id, fn,
> user_param, cb);
> +
>  	return cb;
>  }
> 
> @@ -5339,6 +5508,8 @@ rte_eth_add_tx_callback(uint16_t port_id,
> uint16_t queue_id,
>  	}
>  	rte_spinlock_unlock(&eth_dev_tx_cb_lock);
> 
> +	rte_eth_trace_add_tx_callback(port_id, queue_id, fn, user_param,
> cb);
> +
>  	return cb;
>  }
> 
> @@ -5373,6 +5544,8 @@ rte_eth_remove_rx_callback(uint16_t port_id,
> uint16_t queue_id,
>  	}
>  	rte_spinlock_unlock(&eth_dev_rx_cb_lock);
> 
> +	rte_eth_trace_remove_rx_callback(port_id, queue_id, user_cb, ret);
> +
>  	return ret;
>  }
> 
> @@ -5407,6 +5580,8 @@ rte_eth_remove_tx_callback(uint16_t port_id,
> uint16_t queue_id,
>  	}
>  	rte_spinlock_unlock(&eth_dev_tx_cb_lock);
> 
> +	rte_eth_trace_remove_tx_callback(port_id, queue_id, user_cb, ret);
> +
>  	return ret;
>  }
> 
> @@ -5453,6 +5628,8 @@ rte_eth_rx_queue_info_get(uint16_t port_id,
> uint16_t queue_id,
>  	dev->dev_ops->rxq_info_get(dev, queue_id, qinfo);
>  	qinfo->queue_state = dev->data->rx_queue_state[queue_id];
> 
> +	rte_eth_trace_rx_queue_info_get(port_id, queue_id, qinfo);
> +
>  	return 0;
>  }
> 
> @@ -5499,6 +5676,8 @@ rte_eth_tx_queue_info_get(uint16_t port_id,
> uint16_t queue_id,
>  	dev->dev_ops->txq_info_get(dev, queue_id, qinfo);
>  	qinfo->queue_state = dev->data->tx_queue_state[queue_id];
> 
> +	rte_eth_trace_tx_queue_info_get(port_id, queue_id, qinfo);
> +
>  	return 0;
>  }
> 
> @@ -5507,6 +5686,7 @@ rte_eth_rx_burst_mode_get(uint16_t port_id,
> uint16_t queue_id,
>  			  struct rte_eth_burst_mode *mode)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5526,8 +5706,11 @@ rte_eth_rx_burst_mode_get(uint16_t port_id,
> uint16_t queue_id,
>  	if (*dev->dev_ops->rx_burst_mode_get == NULL)
>  		return -ENOTSUP;
>  	memset(mode, 0, sizeof(*mode));
> -	return eth_err(port_id,
> -		       dev->dev_ops->rx_burst_mode_get(dev, queue_id,
> mode));
> +	ret = eth_err(port_id, dev->dev_ops->rx_burst_mode_get(dev,
> queue_id, mode));
> +
> +	rte_eth_trace_rx_burst_mode_get(port_id, queue_id, mode, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5535,6 +5718,7 @@ rte_eth_tx_burst_mode_get(uint16_t port_id,
> uint16_t queue_id,
>  			  struct rte_eth_burst_mode *mode)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5554,8 +5738,11 @@ rte_eth_tx_burst_mode_get(uint16_t port_id,
> uint16_t queue_id,
>  	if (*dev->dev_ops->tx_burst_mode_get == NULL)
>  		return -ENOTSUP;
>  	memset(mode, 0, sizeof(*mode));
> -	return eth_err(port_id,
> -		       dev->dev_ops->tx_burst_mode_get(dev, queue_id,
> mode));
> +	ret = eth_err(port_id, dev->dev_ops->tx_burst_mode_get(dev,
> queue_id, mode));
> +
> +	rte_eth_trace_tx_burst_mode_get(port_id, queue_id, mode, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5563,6 +5750,7 @@ rte_eth_get_monitor_addr(uint16_t port_id,
> uint16_t queue_id,
>  		struct rte_power_monitor_cond *pmc)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5581,8 +5769,11 @@ rte_eth_get_monitor_addr(uint16_t port_id,
> uint16_t queue_id,
> 
>  	if (*dev->dev_ops->get_monitor_addr == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id,
> -		dev->dev_ops->get_monitor_addr(dev->data-
> >rx_queues[queue_id], pmc));
> +	ret = eth_err(port_id, dev->dev_ops->get_monitor_addr(dev->data-
> >rx_queues[queue_id], pmc));
> +
> +	rte_eth_trace_get_monitor_addr(port_id, queue_id, pmc, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5591,40 +5782,54 @@ rte_eth_dev_set_mc_addr_list(uint16_t port_id,
>  			     uint32_t nb_mc_addr)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->set_mc_addr_list == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, dev->dev_ops->set_mc_addr_list(dev,
> -						mc_addr_set, nb_mc_addr));
> +	ret = eth_err(port_id, dev->dev_ops->set_mc_addr_list(dev,
> mc_addr_set, nb_mc_addr));
> +
> +	rte_ethdev_trace_set_mc_addr_list(port_id, mc_addr_set,
> nb_mc_addr, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_timesync_enable(uint16_t port_id)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->timesync_enable == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->timesync_enable)(dev));
> +	ret = eth_err(port_id, (*dev->dev_ops->timesync_enable)(dev));
> +
> +	rte_eth_trace_timesync_enable(port_id, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_timesync_disable(uint16_t port_id)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->timesync_disable == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->timesync_disable)(dev));
> +	ret = eth_err(port_id, (*dev->dev_ops->timesync_disable)(dev));
> +
> +	rte_eth_trace_timesync_disable(port_id, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5632,6 +5837,7 @@ rte_eth_timesync_read_rx_timestamp(uint16_t
> port_id, struct timespec *timestamp,
>  				   uint32_t flags)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5645,8 +5851,13 @@ rte_eth_timesync_read_rx_timestamp(uint16_t
> port_id, struct timespec *timestamp,
> 
>  	if (*dev->dev_ops->timesync_read_rx_timestamp == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >timesync_read_rx_timestamp)
> -				(dev, timestamp, flags));
> +
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >timesync_read_rx_timestamp)
> +			       (dev, timestamp, flags));
> +
> +	rte_eth_trace_timesync_read_rx_timestamp(port_id, timestamp,
> flags, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5654,6 +5865,7 @@ rte_eth_timesync_read_tx_timestamp(uint16_t
> port_id,
>  				   struct timespec *timestamp)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5667,27 +5879,39 @@ rte_eth_timesync_read_tx_timestamp(uint16_t
> port_id,
> 
>  	if (*dev->dev_ops->timesync_read_tx_timestamp == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops-
> >timesync_read_tx_timestamp)
> -				(dev, timestamp));
> +
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >timesync_read_tx_timestamp)
> +			       (dev, timestamp));
> +
> +	rte_eth_trace_timesync_read_tx_timestamp(port_id, timestamp,
> ret);
> +
> +	return ret;
> +
>  }
> 
>  int
>  rte_eth_timesync_adjust_time(uint16_t port_id, int64_t delta)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->timesync_adjust_time == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->timesync_adjust_time)(dev,
> delta));
> +	ret = eth_err(port_id, (*dev->dev_ops->timesync_adjust_time)(dev,
> delta));
> +
> +	rte_eth_trace_timesync_adjust_time(port_id, delta, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_timesync_read_time(uint16_t port_id, struct timespec *timestamp)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5701,14 +5925,19 @@ rte_eth_timesync_read_time(uint16_t port_id,
> struct timespec *timestamp)
> 
>  	if (*dev->dev_ops->timesync_read_time == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->timesync_read_time)(dev,
> -								timestamp));
> +
> +	ret = eth_err(port_id, (*dev->dev_ops->timesync_read_time)(dev,
> timestamp));
> +
> +	rte_eth_trace_timesync_read_time(port_id, timestamp, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_timesync_write_time(uint16_t port_id, const struct timespec
> *timestamp)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5722,14 +5951,18 @@ rte_eth_timesync_write_time(uint16_t port_id,
> const struct timespec *timestamp)
> 
>  	if (*dev->dev_ops->timesync_write_time == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->timesync_write_time)(dev,
> -								timestamp));
> +	ret = eth_err(port_id, (*dev->dev_ops->timesync_write_time)(dev,
> timestamp));
> +
> +	rte_eth_trace_timesync_write_time(port_id, timestamp, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_read_clock(uint16_t port_id, uint64_t *clock)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5742,13 +5975,18 @@ rte_eth_read_clock(uint16_t port_id, uint64_t
> *clock)
> 
>  	if (*dev->dev_ops->read_clock == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->read_clock)(dev, clock));
> +	ret = eth_err(port_id, (*dev->dev_ops->read_clock)(dev, clock));
> +
> +	rte_eth_trace_read_clock(port_id, clock, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_get_reg_info(uint16_t port_id, struct rte_dev_reg_info *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5762,26 +6000,36 @@ rte_eth_dev_get_reg_info(uint16_t port_id,
> struct rte_dev_reg_info *info)
> 
>  	if (*dev->dev_ops->get_reg == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->get_reg)(dev, info));
> +	ret = eth_err(port_id, (*dev->dev_ops->get_reg)(dev, info));
> +
> +	rte_ethdev_trace_get_reg_info(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_get_eeprom_length(uint16_t port_id)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->get_eeprom_length == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->get_eeprom_length)(dev));
> +	ret = eth_err(port_id, (*dev->dev_ops->get_eeprom_length)(dev));
> +
> +	rte_ethdev_trace_get_eeprom_length(port_id, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_get_eeprom(uint16_t port_id, struct rte_dev_eeprom_info
> *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5795,13 +6043,18 @@ rte_eth_dev_get_eeprom(uint16_t port_id,
> struct rte_dev_eeprom_info *info)
> 
>  	if (*dev->dev_ops->get_eeprom == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->get_eeprom)(dev, info));
> +	ret = eth_err(port_id, (*dev->dev_ops->get_eeprom)(dev, info));
> +
> +	rte_ethdev_trace_get_eeprom(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_set_eeprom(uint16_t port_id, struct rte_dev_eeprom_info
> *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5815,7 +6068,11 @@ rte_eth_dev_set_eeprom(uint16_t port_id, struct
> rte_dev_eeprom_info *info)
> 
>  	if (*dev->dev_ops->set_eeprom == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->set_eeprom)(dev, info));
> +	ret = eth_err(port_id, (*dev->dev_ops->set_eeprom)(dev, info));
> +
> +	rte_ethdev_trace_set_eeprom(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5823,6 +6080,7 @@ rte_eth_dev_get_module_info(uint16_t port_id,
>  			    struct rte_eth_dev_module_info *modinfo)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5836,7 +6094,11 @@ rte_eth_dev_get_module_info(uint16_t port_id,
> 
>  	if (*dev->dev_ops->get_module_info == NULL)
>  		return -ENOTSUP;
> -	return (*dev->dev_ops->get_module_info)(dev, modinfo);
> +	ret = (*dev->dev_ops->get_module_info)(dev, modinfo);
> +
> +	rte_ethdev_trace_get_module_info(port_id, modinfo, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5844,6 +6106,7 @@ rte_eth_dev_get_module_eeprom(uint16_t
> port_id,
>  			      struct rte_dev_eeprom_info *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5871,7 +6134,11 @@ rte_eth_dev_get_module_eeprom(uint16_t
> port_id,
> 
>  	if (*dev->dev_ops->get_module_eeprom == NULL)
>  		return -ENOTSUP;
> -	return (*dev->dev_ops->get_module_eeprom)(dev, info);
> +	ret = (*dev->dev_ops->get_module_eeprom)(dev, info);
> +
> +	rte_ethdev_trace_get_module_eeprom(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -5879,6 +6146,7 @@ rte_eth_dev_get_dcb_info(uint16_t port_id,
>  			     struct rte_eth_dcb_info *dcb_info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5894,7 +6162,11 @@ rte_eth_dev_get_dcb_info(uint16_t port_id,
> 
>  	if (*dev->dev_ops->get_dcb_info == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->get_dcb_info)(dev,
> dcb_info));
> +	ret = eth_err(port_id, (*dev->dev_ops->get_dcb_info)(dev,
> dcb_info));
> +
> +	rte_ethdev_trace_get_dcb_info(port_id, dcb_info, ret);
> +
> +	return ret;
>  }
> 
>  static void
> @@ -5930,6 +6202,8 @@ rte_eth_dev_adjust_nb_rx_tx_desc(uint16_t
> port_id,
>  	if (nb_tx_desc != NULL)
>  		eth_dev_adjust_nb_desc(nb_tx_desc,
> &dev_info.tx_desc_lim);
> 
> +	rte_ethdev_trace_adjust_nb_rx_tx_desc(port_id);
> +
>  	return 0;
>  }
> 
> @@ -5938,6 +6212,7 @@ rte_eth_dev_hairpin_capability_get(uint16_t
> port_id,
>  				   struct rte_eth_hairpin_cap *cap)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5952,13 +6227,18 @@ rte_eth_dev_hairpin_capability_get(uint16_t
> port_id,
>  	if (*dev->dev_ops->hairpin_cap_get == NULL)
>  		return -ENOTSUP;
>  	memset(cap, 0, sizeof(*cap));
> -	return eth_err(port_id, (*dev->dev_ops->hairpin_cap_get)(dev,
> cap));
> +	ret = eth_err(port_id, (*dev->dev_ops->hairpin_cap_get)(dev, cap));
> +
> +	rte_ethdev_trace_hairpin_capability_get(port_id, cap, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_dev_pool_ops_supported(uint16_t port_id, const char *pool)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -5973,7 +6253,11 @@ rte_eth_dev_pool_ops_supported(uint16_t
> port_id, const char *pool)
>  	if (*dev->dev_ops->pool_ops_supported == NULL)
>  		return 1; /* all pools are supported */
> 
> -	return (*dev->dev_ops->pool_ops_supported)(dev, pool);
> +	ret = (*dev->dev_ops->pool_ops_supported)(dev, pool);
> +
> +	rte_ethdev_trace_pool_ops_supported(port_id, pool, ret);
> +
> +	return ret;
>  }
> 
>  static int
> @@ -6263,19 +6547,25 @@ rte_eth_representor_info_get(uint16_t port_id,
>  			     struct rte_eth_representor_info *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> 
>  	if (*dev->dev_ops->representor_info_get == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id, (*dev->dev_ops->representor_info_get)(dev,
> info));
> +	ret = eth_err(port_id, (*dev->dev_ops->representor_info_get)(dev,
> info));
> +
> +	rte_eth_trace_representor_info_get(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  int
>  rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -6294,8 +6584,11 @@ rte_eth_rx_metadata_negotiate(uint16_t port_id,
> uint64_t *features)
> 
>  	if (*dev->dev_ops->rx_metadata_negotiate == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id,
> -		       (*dev->dev_ops->rx_metadata_negotiate)(dev,
> features));
> +	ret = eth_err(port_id, (*dev->dev_ops->rx_metadata_negotiate)(dev,
> features));
> +
> +	rte_eth_trace_rx_metadata_negotiate(port_id, features, *features,
> ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -6303,6 +6596,7 @@ rte_eth_ip_reassembly_capability_get(uint16_t
> port_id,
>  		struct rte_eth_ip_reassembly_params *reassembly_capa)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -6324,8 +6618,12 @@ rte_eth_ip_reassembly_capability_get(uint16_t
> port_id,
>  		return -ENOTSUP;
>  	memset(reassembly_capa, 0, sizeof(struct
> rte_eth_ip_reassembly_params));
> 
> -	return eth_err(port_id, (*dev->dev_ops-
> >ip_reassembly_capability_get)
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >ip_reassembly_capability_get)
>  					(dev, reassembly_capa));
> +
> +	rte_eth_trace_ip_reassembly_capability_get(port_id,
> reassembly_capa, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -6333,6 +6631,7 @@ rte_eth_ip_reassembly_conf_get(uint16_t port_id,
>  		struct rte_eth_ip_reassembly_params *conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -6353,8 +6652,11 @@ rte_eth_ip_reassembly_conf_get(uint16_t
> port_id,
>  	if (*dev->dev_ops->ip_reassembly_conf_get == NULL)
>  		return -ENOTSUP;
>  	memset(conf, 0, sizeof(struct rte_eth_ip_reassembly_params));
> -	return eth_err(port_id,
> -		       (*dev->dev_ops->ip_reassembly_conf_get)(dev, conf));
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >ip_reassembly_conf_get)(dev, conf));
> +
> +	rte_eth_trace_ip_reassembly_conf_get(port_id, conf, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -6362,6 +6664,7 @@ rte_eth_ip_reassembly_conf_set(uint16_t port_id,
>  		const struct rte_eth_ip_reassembly_params *conf)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -6390,8 +6693,11 @@ rte_eth_ip_reassembly_conf_set(uint16_t
> port_id,
> 
>  	if (*dev->dev_ops->ip_reassembly_conf_set == NULL)
>  		return -ENOTSUP;
> -	return eth_err(port_id,
> -		       (*dev->dev_ops->ip_reassembly_conf_set)(dev, conf));
> +	ret = eth_err(port_id, (*dev->dev_ops-
> >ip_reassembly_conf_set)(dev, conf));
> +
> +	rte_eth_trace_ip_reassembly_conf_set(port_id, conf, ret);
> +
> +	return ret;
>  }
> 
>  int
> @@ -6489,8 +6795,10 @@
> rte_eth_buffer_split_get_supported_hdr_ptypes(uint16_t port_id, uint32_t
> *ptypes
>  		return 0;
> 
>  	for (i = 0, j = 0; all_types[i] != RTE_PTYPE_UNKNOWN; ++i) {
> -		if (j < num)
> +		if (j < num) {
>  			ptypes[j] = all_types[i];
> +
> 	rte_eth_trace_buffer_split_get_supported_hdr_ptypes(port_id, j,
> ptypes[j]);
> +		}
>  		j++;
>  	}
> 
> diff --git a/lib/ethdev/rte_ethdev_cman.c b/lib/ethdev/rte_ethdev_cman.c
> index 4a1bdd7bd0..c4d877d878 100644
> --- a/lib/ethdev/rte_ethdev_cman.c
> +++ b/lib/ethdev/rte_ethdev_cman.c
> @@ -6,6 +6,8 @@
> 
>  #include <rte_errno.h>
>  #include "rte_ethdev.h"
> +#include "rte_ethdev_trace.h"
> +#include "rte_ethdev_trace_fp.h"
>  #include "ethdev_driver.h"
>  #include "ethdev_private.h"
> 
> @@ -14,6 +16,7 @@ int
>  rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -29,7 +32,11 @@ rte_eth_cman_info_get(uint16_t port_id, struct
> rte_eth_cman_info *info)
>  	}
> 
>  	memset(info, 0, sizeof(struct rte_eth_cman_info));
> -	return eth_err(port_id, (*dev->dev_ops->cman_info_get)(dev, info));
> +	ret = eth_err(port_id, (*dev->dev_ops->cman_info_get)(dev, info));
> +
> +	rte_eth_trace_cman_info_get(port_id, info, ret);
> +
> +	return ret;
>  }
> 
>  /* Initialize congestion management structure with default values */
> @@ -37,6 +44,7 @@ int
>  rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config
> *config)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -52,7 +60,11 @@ rte_eth_cman_config_init(uint16_t port_id, struct
> rte_eth_cman_config *config)
>  	}
> 
>  	memset(config, 0, sizeof(struct rte_eth_cman_config));
> -	return eth_err(port_id, (*dev->dev_ops->cman_config_init)(dev,
> config));
> +	ret = eth_err(port_id, (*dev->dev_ops->cman_config_init)(dev,
> config));
> +
> +	rte_eth_trace_cman_config_init(port_id, config, ret);
> +
> +	return ret;
>  }
> 
>  /* Configure congestion management on a port */
> @@ -60,6 +72,7 @@ int
>  rte_eth_cman_config_set(uint16_t port_id, const struct
> rte_eth_cman_config *config)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -74,7 +87,11 @@ rte_eth_cman_config_set(uint16_t port_id, const
> struct rte_eth_cman_config *conf
>  		return -ENOTSUP;
>  	}
> 
> -	return eth_err(port_id, (*dev->dev_ops->cman_config_set)(dev,
> config));
> +	ret = eth_err(port_id, (*dev->dev_ops->cman_config_set)(dev,
> config));
> +
> +	rte_eth_trace_cman_config_set(port_id, config, ret);
> +
> +	return ret;
>  }
> 
>  /* Retrieve congestion management configuration of a port */
> @@ -82,6 +99,7 @@ int
>  rte_eth_cman_config_get(uint16_t port_id, struct rte_eth_cman_config
> *config)
>  {
>  	struct rte_eth_dev *dev;
> +	int ret;
> 
>  	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>  	dev = &rte_eth_devices[port_id];
> @@ -97,5 +115,9 @@ rte_eth_cman_config_get(uint16_t port_id, struct
> rte_eth_cman_config *config)
>  	}
> 
>  	memset(config, 0, sizeof(struct rte_eth_cman_config));
> -	return eth_err(port_id, (*dev->dev_ops->cman_config_get)(dev,
> config));
> +	ret = eth_err(port_id, (*dev->dev_ops->cman_config_get)(dev,
> config));
> +
> +	rte_eth_trace_cman_config_get(port_id, config, ret);
> +
> +	return ret;
>  }
> diff --git a/lib/ethdev/rte_ethdev_trace.h b/lib/ethdev/rte_ethdev_trace.h
> index bc3b3d2a1b..4c66834290 100644
> --- a/lib/ethdev/rte_ethdev_trace.h
> +++ b/lib/ethdev/rte_ethdev_trace.h
> @@ -373,6 +373,535 @@ RTE_TRACE_POINT(
>  	rte_trace_point_emit_int(ret);
>  )
> 
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_dev_info *dev_info),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_string(dev_info->driver_name);
> +	rte_trace_point_emit_u16(dev_info->min_mtu);
> +	rte_trace_point_emit_u16(dev_info->max_mtu);
> +	rte_trace_point_emit_u32(dev_info->min_rx_bufsize);
> +	rte_trace_point_emit_u32(dev_info->max_rx_pktlen);
> +	rte_trace_point_emit_u16(dev_info->max_rx_queues);
> +	rte_trace_point_emit_u16(dev_info->max_tx_queues);
> +	rte_trace_point_emit_u32(dev_info->max_mac_addrs);
> +	rte_trace_point_emit_u64(dev_info->rx_offload_capa);
> +	rte_trace_point_emit_u64(dev_info->tx_offload_capa);
> +	rte_trace_point_emit_u64(dev_info->rx_queue_offload_capa);
> +	rte_trace_point_emit_u64(dev_info->tx_queue_offload_capa);
> +	rte_trace_point_emit_u16(dev_info->reta_size);
> +	rte_trace_point_emit_u8(dev_info->hash_key_size);
> +	rte_trace_point_emit_u64(dev_info->flow_type_rss_offloads);
> +	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_max);
> +	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_min);
> +	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_align);
> +	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_max);
> +	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_min);
> +	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_align);
> +	rte_trace_point_emit_u32(dev_info->speed_capa);
> +	rte_trace_point_emit_u16(dev_info->nb_rx_queues);
> +	rte_trace_point_emit_u16(dev_info->nb_tx_queues);
> +	rte_trace_point_emit_u64(dev_info->dev_capa);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_conf_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_conf
> *dev_conf),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(dev_conf);
> +	rte_trace_point_emit_u32(dev_conf->link_speeds);
> +	rte_trace_point_emit_u64(dev_conf->rxmode.offloads);
> +	rte_trace_point_emit_u64(dev_conf->txmode.offloads);
> +	rte_trace_point_emit_u32(dev_conf->lpbk_mode);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_ptypes,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num,
> +		unsigned int num, uint32_t set_ptypes),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(supported_num);
> +	rte_trace_point_emit_u32(num);
> +	rte_trace_point_emit_u32(set_ptypes);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_mtu,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t mtu, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(mtu);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_vlan_filter,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t vlan_id, int on,
> int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(vlan_id);
> +	rte_trace_point_emit_int(on);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_vlan_strip_on_queue,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id,
> +		int on),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(rx_queue_id);
> +	rte_trace_point_emit_int(on);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_vlan_ether_type,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum rte_vlan_type
> vlan_type,
> +		uint16_t tag_type, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(vlan_type);
> +	rte_trace_point_emit_u16(tag_type);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_vlan_offload,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int offload_mask, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(offload_mask);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_vlan_pvid,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t pvid, int on, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(pvid);
> +	rte_trace_point_emit_int(on);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_flow_ctrl_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_fc_conf
> *fc_conf, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u32(fc_conf->high_water);
> +	rte_trace_point_emit_u32(fc_conf->low_water);
> +	rte_trace_point_emit_u16(fc_conf->pause_time);
> +	rte_trace_point_emit_u16(fc_conf->send_xon);
> +	rte_trace_point_emit_int(fc_conf->mode);
> +	rte_trace_point_emit_u8(fc_conf->mac_ctrl_frame_fwd);
> +	rte_trace_point_emit_u8(fc_conf->autoneg);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_priority_flow_ctrl_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_pfc_conf
> *pfc_conf,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u32(pfc_conf->fc.high_water);
> +	rte_trace_point_emit_u32(pfc_conf->fc.low_water);
> +	rte_trace_point_emit_u16(pfc_conf->fc.pause_time);
> +	rte_trace_point_emit_u16(pfc_conf->fc.send_xon);
> +	rte_trace_point_emit_int(pfc_conf->fc.mode);
> +	rte_trace_point_emit_u8(pfc_conf->fc.mac_ctrl_frame_fwd);
> +	rte_trace_point_emit_u8(pfc_conf->fc.autoneg);
> +	rte_trace_point_emit_u8(pfc_conf->priority);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_priority_flow_ctrl_queue_configure,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_pfc_queue_conf *pfc_queue_conf, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(pfc_queue_conf);
> +	rte_trace_point_emit_int(pfc_queue_conf->mode);
> +	rte_trace_point_emit_u16(pfc_queue_conf->rx_pause.tx_qid);
> +	rte_trace_point_emit_u16(pfc_queue_conf->tx_pause.rx_qid);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rss_reta_update,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_rss_reta_entry64 *reta_conf, uint16_t
> reta_size,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(reta_conf);
> +	rte_trace_point_emit_u16(reta_size);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rss_hash_update,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_rss_conf
> *rss_conf,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(rss_conf->rss_key);
> +	rte_trace_point_emit_u8(rss_conf->rss_key_len);
> +	rte_trace_point_emit_u64(rss_conf->rss_hf);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_udp_tunnel_port_add,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_eth_udp_tunnel *tunnel_udp,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(tunnel_udp->udp_port);
> +	rte_trace_point_emit_u8(tunnel_udp->prot_type);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_udp_tunnel_port_delete,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_eth_udp_tunnel *tunnel_udp,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(tunnel_udp->udp_port);
> +	rte_trace_point_emit_u8(tunnel_udp->prot_type);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_led_on,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_led_off,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_fec_get_capability,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_fec_capa *speed_fec_capa,
> +		unsigned int num, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(speed_fec_capa);
> +	rte_trace_point_emit_u32(speed_fec_capa->speed);
> +	rte_trace_point_emit_u32(speed_fec_capa->capa);
> +	rte_trace_point_emit_u32(num);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_fec_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t fec_capa, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u32(fec_capa);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_mac_addr_add,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_ether_addr
> *addr,
> +		uint32_t pool, int ret),
> +	uint16_t len = RTE_ETHER_ADDR_LEN;
> +
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(addr);
> +	rte_trace_point_emit_blob(addr->addr_bytes, len);
> +	rte_trace_point_emit_u32(pool);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_mac_addr_remove,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_ether_addr
> *addr),
> +	uint16_t len = RTE_ETHER_ADDR_LEN;
> +
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(addr);
> +	rte_trace_point_emit_blob(addr->addr_bytes, len);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_default_mac_addr_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_ether_addr
> *addr),
> +	uint16_t len = RTE_ETHER_ADDR_LEN;
> +
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(addr);
> +	rte_trace_point_emit_blob(addr->addr_bytes, len);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_uc_hash_table_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint8_t on, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u8(on);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_uc_all_hash_table_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint8_t on, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u8(on);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_set_queue_rate_limit,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_idx,
> +		uint16_t tx_rate, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_idx);
> +	rte_trace_point_emit_u16(tx_rate);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_rx_avail_thresh_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		uint8_t avail_thresh, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_u8(avail_thresh);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_rx_avail_thresh_query,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_callback_register,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum
> rte_eth_event_type event,
> +		rte_eth_dev_cb_fn cb_fn, void *cb_arg, uint16_t next_port,
> +		uint16_t last_port),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(event);
> +	rte_trace_point_emit_ptr(cb_fn);
> +	rte_trace_point_emit_ptr(cb_arg);
> +	rte_trace_point_emit_u16(next_port);
> +	rte_trace_point_emit_u16(last_port);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_callback_unregister,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum
> rte_eth_event_type event,
> +		rte_eth_dev_cb_fn cb_fn, void *cb_arg, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(event);
> +	rte_trace_point_emit_ptr(cb_fn);
> +	rte_trace_point_emit_ptr(cb_arg);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rx_intr_ctl,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t qid, int epfd, int
> op,
> +		void *data, int rc),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(qid);
> +	rte_trace_point_emit_int(epfd);
> +	rte_trace_point_emit_int(op);
> +	rte_trace_point_emit_ptr(data);
> +	rte_trace_point_emit_int(rc);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rx_intr_ctl_q,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int
> epfd,
> +		int op, void *data, int rc),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_int(epfd);
> +	rte_trace_point_emit_int(op);
> +	rte_trace_point_emit_ptr(data);
> +	rte_trace_point_emit_int(rc);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rx_intr_enable,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_rx_intr_disable,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_add_rx_callback,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		rte_rx_callback_fn fn, void *user_param,
> +		struct rte_eth_rxtx_callback *cb),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(fn);
> +	rte_trace_point_emit_ptr(user_param);
> +	rte_trace_point_emit_ptr(cb);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_add_first_rx_callback,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		rte_rx_callback_fn fn, void *user_param,
> +		struct rte_eth_rxtx_callback *cb),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(fn);
> +	rte_trace_point_emit_ptr(user_param);
> +	rte_trace_point_emit_ptr(cb);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_add_tx_callback,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		rte_tx_callback_fn fn, void *user_param,
> +		struct rte_eth_rxtx_callback *cb),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(fn);
> +	rte_trace_point_emit_ptr(user_param);
> +	rte_trace_point_emit_ptr(cb);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_remove_rx_callback,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		const struct rte_eth_rxtx_callback *user_cb, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(user_cb);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_remove_tx_callback,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		const struct rte_eth_rxtx_callback *user_cb, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(user_cb);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_mc_addr_list,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_ether_addr *mc_addr_set,
> +		uint32_t nb_mc_addr, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(mc_addr_set);
> +	rte_trace_point_emit_u32(nb_mc_addr);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_timesync_enable,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_timesync_disable,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_set_eeprom,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_dev_eeprom_info *info,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info->data);
> +	rte_trace_point_emit_u32(info->offset);
> +	rte_trace_point_emit_u32(info->length);
> +	rte_trace_point_emit_u32(info->magic);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_hairpin_capability_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_hairpin_cap *cap, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(cap);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_ethdev_trace_pool_ops_supported,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, const char *pool, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_string(pool);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_rx_metadata_negotiate,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint64_t *features,
> +		uint64_t features_val, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(features);
> +	rte_trace_point_emit_u64(features_val);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_ip_reassembly_capability_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_ip_reassembly_params *capa, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(capa);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_ip_reassembly_conf_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		const struct rte_eth_ip_reassembly_params *conf, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(conf);
> +	rte_trace_point_emit_u32(conf->timeout_ms);
> +	rte_trace_point_emit_u16(conf->max_frags);
> +	rte_trace_point_emit_u16(conf->flags);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_cman_config_init,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_eth_cman_config *config,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(config);
> +	rte_trace_point_emit_int(config->obj);
> +	rte_trace_point_emit_int(config->mode);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT(
> +	rte_eth_trace_cman_config_set,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		const struct rte_eth_cman_config *config, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(config);
> +	rte_trace_point_emit_int(config->obj);
> +	rte_trace_point_emit_int(config->mode);
> +	rte_trace_point_emit_int(ret);
> +)
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/lib/ethdev/rte_ethdev_trace_fp.h
> b/lib/ethdev/rte_ethdev_trace_fp.h
> index 9f1d3d5a1b..3dbcc30c0a 100644
> --- a/lib/ethdev/rte_ethdev_trace_fp.h
> +++ b/lib/ethdev/rte_ethdev_trace_fp.h
> @@ -304,6 +304,348 @@ RTE_TRACE_POINT_FP(
>  	rte_trace_point_emit_int(ret);
>  )
> 
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_supported_ptypes,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num,
> +		int num, uint32_t ptypes),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(supported_num);
> +	rte_trace_point_emit_int(num);
> +	rte_trace_point_emit_u32(ptypes);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_macaddrs_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, unsigned int num),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u32(num);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_macaddr_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_ether_addr
> *mac_addr),
> +	uint16_t len = RTE_ETHER_ADDR_LEN;
> +
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(mac_addr);
> +	rte_trace_point_emit_blob(mac_addr->addr_bytes, len);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_mtu,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t mtu),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(mtu);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_vlan_offload,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_flow_ctrl_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_fc_conf
> *fc_conf,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(fc_conf);
> +	rte_trace_point_emit_u32(fc_conf->high_water);
> +	rte_trace_point_emit_u32(fc_conf->low_water);
> +	rte_trace_point_emit_u16(fc_conf->pause_time);
> +	rte_trace_point_emit_u16(fc_conf->send_xon);
> +	rte_trace_point_emit_int(fc_conf->mode);
> +	rte_trace_point_emit_u8(fc_conf->mac_ctrl_frame_fwd);
> +	rte_trace_point_emit_u8(fc_conf->autoneg);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_priority_flow_ctrl_queue_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_pfc_queue_info *pfc_queue_info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(pfc_queue_info);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_rss_reta_query,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_eth_rss_reta_entry64 *reta_conf,
> +		uint16_t reta_size, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(reta_conf);
> +	rte_trace_point_emit_u16(reta_size);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_rss_hash_conf_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_rss_conf
> *rss_conf,
> +		int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(rss_conf->rss_key);
> +	rte_trace_point_emit_u8(rss_conf->rss_key_len);
> +	rte_trace_point_emit_u64(rss_conf->rss_hf);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_fec_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t *fec_capa, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(fec_capa);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_rx_intr_ctl_q_get_fd,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int
> fd),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_int(fd);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_rx_queue_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		struct rte_eth_rxq_info *qinfo),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(qinfo->mp);
> +	rte_trace_point_emit_u8(qinfo->conf.rx_drop_en);
> +	rte_trace_point_emit_u64(qinfo->conf.offloads);
> +	rte_trace_point_emit_u8(qinfo->scattered_rx);
> +	rte_trace_point_emit_u8(qinfo->queue_state);
> +	rte_trace_point_emit_u16(qinfo->nb_desc);
> +	rte_trace_point_emit_u16(qinfo->rx_buf_size);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_tx_queue_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		struct rte_eth_txq_info *qinfo),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_u16(qinfo->nb_desc);
> +	rte_trace_point_emit_u8(qinfo->queue_state);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_rx_burst_mode_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		struct rte_eth_burst_mode *mode, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(mode);
> +	rte_trace_point_emit_u64(mode->flags);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_tx_burst_mode_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		struct rte_eth_burst_mode *mode, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(mode);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_get_monitor_addr,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
> +		struct rte_power_monitor_cond *pmc, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_u16(queue_id);
> +	rte_trace_point_emit_ptr(pmc);
> +	rte_trace_point_emit_ptr(pmc->addr);
> +	rte_trace_point_emit_u8(pmc->size);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_timesync_read_rx_timestamp,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct timespec
> *timestamp,
> +		uint32_t flags, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(timestamp);
> +	rte_trace_point_emit_u64(timestamp->tv_sec);
> +	rte_trace_point_emit_u64(timestamp->tv_nsec);
> +	rte_trace_point_emit_u32(flags);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_timesync_read_tx_timestamp,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct timespec
> *timestamp, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(timestamp);
> +	rte_trace_point_emit_u64(timestamp->tv_sec);
> +	rte_trace_point_emit_u64(timestamp->tv_nsec);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_timesync_read_time,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct timespec *time, int
> ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(time);
> +	rte_trace_point_emit_u64(time->tv_sec);
> +	rte_trace_point_emit_u64(time->tv_nsec);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_timesync_adjust_time,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int64_t delta, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_i64(delta);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_timesync_write_time,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec
> *time, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(time);
> +	rte_trace_point_emit_u64(time->tv_sec);
> +	rte_trace_point_emit_u64(time->tv_nsec);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_read_clock,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint64_t *clk, int ret),
> +	uint64_t clk_v = *clk;
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(clk);
> +	rte_trace_point_emit_u64(clk_v);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_reg_info,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_dev_reg_info
> *info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info);
> +	rte_trace_point_emit_ptr(info->data);
> +	rte_trace_point_emit_u32(info->offset);
> +	rte_trace_point_emit_u32(info->length);
> +	rte_trace_point_emit_u32(info->width);
> +	rte_trace_point_emit_u32(info->version);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_eeprom_length,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_eeprom,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct
> rte_dev_eeprom_info *info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info);
> +	rte_trace_point_emit_ptr(info->data);
> +	rte_trace_point_emit_u32(info->offset);
> +	rte_trace_point_emit_u32(info->length);
> +	rte_trace_point_emit_u32(info->magic);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_module_info,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_dev_module_info *modinfo, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(modinfo);
> +	rte_trace_point_emit_u32(modinfo->type);
> +	rte_trace_point_emit_u32(modinfo->eeprom_len);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_module_eeprom,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_dev_eeprom_info *info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_get_dcb_info,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_dcb_info
> *dcb_info,
> +		int ret),
> +	uint16_t num_user_priorities =
> RTE_ETH_DCB_NUM_USER_PRIORITIES;
> +	uint16_t num_tcs = RTE_ETH_DCB_NUM_TCS;
> +
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(dcb_info);
> +	rte_trace_point_emit_u8(dcb_info->nb_tcs);
> +	rte_trace_point_emit_blob(dcb_info->prio_tc, num_user_priorities);
> +	rte_trace_point_emit_blob(dcb_info->tc_bws, num_tcs);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_ethdev_trace_adjust_nb_rx_tx_desc,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id),
> +	rte_trace_point_emit_u16(port_id);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_representor_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_representor_info *info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_ip_reassembly_conf_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_ip_reassembly_params *conf, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(conf);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_buffer_split_get_supported_hdr_ptypes,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num,
> uint32_t ptypes),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_int(supported_num);
> +	rte_trace_point_emit_u32(ptypes);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_cman_info_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		struct rte_eth_cman_info *info, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(info);
> +	rte_trace_point_emit_u64(info->modes_supported);
> +	rte_trace_point_emit_u64(info->objs_supported);
> +	rte_trace_point_emit_int(ret);
> +)
> +
> +RTE_TRACE_POINT_FP(
> +	rte_eth_trace_cman_config_get,
> +	RTE_TRACE_POINT_ARGS(uint16_t port_id,
> +		const struct rte_eth_cman_config *config, int ret),
> +	rte_trace_point_emit_u16(port_id);
> +	rte_trace_point_emit_ptr(config);
> +	rte_trace_point_emit_int(config->obj);
> +	rte_trace_point_emit_int(config->mode);
> +	rte_trace_point_emit_int(ret);
> +)
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/lib/ethdev/version.map b/lib/ethdev/version.map
> index c7ba2e3dc8..c7c6bcd42b 100644
> --- a/lib/ethdev/version.map
> +++ b/lib/ethdev/version.map
> @@ -300,36 +300,71 @@ EXPERIMENTAL {
>  	rte_mtr_meter_profile_get;
> 
>  	# added in 23.03
> +	__rte_eth_trace_add_first_rx_callback;
> +	__rte_eth_trace_add_rx_callback;
> +	__rte_eth_trace_add_tx_callback;
>  	__rte_eth_trace_allmulticast_disable;
>  	__rte_eth_trace_allmulticast_enable;
>  	__rte_eth_trace_allmulticast_get;
>  	__rte_eth_trace_call_rx_callbacks;
>  	__rte_eth_trace_call_tx_callbacks;
> +	__rte_eth_trace_cman_config_get;
> +	__rte_eth_trace_cman_config_init;
> +	__rte_eth_trace_cman_config_set;
> +	__rte_eth_trace_cman_info_get;
> +	__rte_eth_trace_fec_get_capability;
> +	__rte_eth_trace_fec_get;
> +	__rte_eth_trace_fec_set;
>  	__rte_eth_trace_find_next;
>  	__rte_eth_trace_find_next_of;
>  	__rte_eth_trace_find_next_owned_by;
>  	__rte_eth_trace_find_next_sibling;
> +	__rte_eth_trace_get_monitor_addr;
>  	__rte_eth_trace_hairpin_bind;
>  	__rte_eth_trace_hairpin_get_peer_ports;
>  	__rte_eth_trace_hairpin_unbind;
> +	__rte_eth_trace_ip_reassembly_capability_get;
> +	__rte_eth_trace_ip_reassembly_conf_get;
> +	__rte_eth_trace_ip_reassembly_conf_set;
>  	__rte_eth_trace_iterator_cleanup;
>  	__rte_eth_trace_iterator_init;
>  	__rte_eth_trace_iterator_next;
> +	__rte_eth_trace_led_off;
> +	__rte_eth_trace_led_on;
>  	__rte_eth_trace_link_get;
>  	__rte_eth_trace_link_get_nowait;
>  	__rte_eth_trace_link_speed_to_str;
>  	__rte_eth_trace_link_to_str;
> +	__rte_eth_trace_macaddr_get;
> +	__rte_eth_trace_macaddrs_get;
>  	__rte_eth_trace_promiscuous_disable;
>  	__rte_eth_trace_promiscuous_enable;
>  	__rte_eth_trace_promiscuous_get;
> +	__rte_eth_trace_remove_rx_callback;
> +	__rte_eth_trace_remove_tx_callback;
> +	__rte_eth_trace_representor_info_get;
> +	__rte_eth_trace_rx_avail_thresh_query;
> +	__rte_eth_trace_rx_avail_thresh_set;
> +	__rte_eth_trace_rx_burst_mode_get;
>  	__rte_eth_trace_rx_hairpin_queue_setup;
> +	__rte_eth_trace_rx_metadata_negotiate;
> +	__rte_eth_trace_rx_queue_info_get;
> +	__rte_eth_trace_set_queue_rate_limit;
>  	__rte_eth_trace_speed_bitflag;
>  	__rte_eth_trace_stats_get;
>  	__rte_eth_trace_stats_reset;
> +	__rte_eth_trace_timesync_adjust_time;
> +	__rte_eth_trace_timesync_disable;
> +	__rte_eth_trace_timesync_enable;
> +	__rte_eth_trace_timesync_read_rx_timestamp;
> +	__rte_eth_trace_timesync_read_time;
> +	__rte_eth_trace_timesync_read_tx_timestamp;
> +	__rte_eth_trace_timesync_write_time;
>  	__rte_eth_trace_tx_buffer_count_callback;
>  	__rte_eth_trace_tx_buffer_drop_callback;
>  	__rte_eth_trace_tx_buffer_init;
>  	__rte_eth_trace_tx_buffer_set_err_callback;
> +	__rte_eth_trace_tx_burst_mode_get;
>  	__rte_eth_trace_tx_done_cleanup;
>  	__rte_eth_trace_tx_hairpin_queue_setup;
>  	__rte_eth_trace_xstats_get;
> @@ -338,32 +373,78 @@ EXPERIMENTAL {
>  	__rte_eth_trace_xstats_get_names;
>  	__rte_eth_trace_xstats_get_names_by_id;
>  	__rte_eth_trace_xstats_reset;
> +	__rte_ethdev_trace_adjust_nb_rx_tx_desc;
> +	__rte_ethdev_trace_callback_register;
> +	__rte_ethdev_trace_callback_unregister;
>  	__rte_ethdev_trace_capability_name;
> +	__rte_ethdev_trace_conf_get;
>  	__rte_ethdev_trace_count_avail;
>  	__rte_ethdev_trace_count_total;
> +	__rte_ethdev_trace_default_mac_addr_set;
> +	__rte_ethdev_trace_flow_ctrl_get;
> +	__rte_ethdev_trace_flow_ctrl_set;
>  	__rte_ethdev_trace_fw_version_get;
> +	__rte_ethdev_trace_get_dcb_info;
> +	__rte_ethdev_trace_get_eeprom;
> +	__rte_ethdev_trace_get_eeprom_length;
> +	__rte_ethdev_trace_get_module_eeprom;
> +	__rte_ethdev_trace_get_module_info;
> +	__rte_ethdev_trace_get_mtu;
>  	__rte_ethdev_trace_get_name_by_port;
>  	__rte_ethdev_trace_get_port_by_name;
> +	__rte_ethdev_trace_get_reg_info;
>  	__rte_ethdev_trace_get_sec_ctx;
> +	__rte_ethdev_trace_get_supported_ptypes;
> +	__rte_ethdev_trace_get_vlan_offload;
> +	__rte_ethdev_trace_hairpin_capability_get;
> +	__rte_ethdev_trace_info_get;
>  	__rte_ethdev_trace_is_removed;
>  	__rte_ethdev_trace_is_valid_port;
> +	__rte_ethdev_trace_mac_addr_add;
> +	__rte_ethdev_trace_mac_addr_remove;
>  	__rte_ethdev_trace_owner_delete;
>  	__rte_ethdev_trace_owner_get;
>  	__rte_ethdev_trace_owner_new;
>  	__rte_ethdev_trace_owner_set;
>  	__rte_ethdev_trace_owner_unset;
> +	__rte_ethdev_trace_pool_ops_supported;
> +	__rte_ethdev_trace_priority_flow_ctrl_queue_configure;
> +	__rte_ethdev_trace_priority_flow_ctrl_queue_info_get;
> +	__rte_ethdev_trace_priority_flow_ctrl_set;
>  	__rte_ethdev_trace_reset;
> +	__rte_ethdev_trace_rss_hash_conf_get;
> +	__rte_ethdev_trace_rss_hash_update;
> +	__rte_ethdev_trace_rss_reta_query;
> +	__rte_ethdev_trace_rss_reta_update;
> +	__rte_ethdev_trace_rx_intr_ctl;
> +	__rte_ethdev_trace_rx_intr_ctl_q;
> +	__rte_ethdev_trace_rx_intr_ctl_q_get_fd;
> +	__rte_ethdev_trace_rx_intr_disable;
> +	__rte_ethdev_trace_rx_intr_enable;
>  	__rte_ethdev_trace_rx_offload_name;
>  	__rte_ethdev_trace_rx_queue_start;
>  	__rte_ethdev_trace_rx_queue_stop;
> +	__rte_ethdev_trace_set_eeprom;
>  	__rte_ethdev_trace_set_link_down;
>  	__rte_ethdev_trace_set_link_up;
> +	__rte_ethdev_trace_set_mc_addr_list;
> +	__rte_ethdev_trace_set_mtu;
> +	__rte_ethdev_trace_set_ptypes;
>  	__rte_ethdev_trace_set_rx_queue_stats_mapping;
>  	__rte_ethdev_trace_set_tx_queue_stats_mapping;
> +	__rte_ethdev_trace_set_vlan_ether_type;
> +	__rte_ethdev_trace_set_vlan_offload;
> +	__rte_ethdev_trace_set_vlan_pvid;
> +	__rte_ethdev_trace_set_vlan_strip_on_queue;
>  	__rte_ethdev_trace_socket_id;
>  	__rte_ethdev_trace_tx_offload_name;
>  	__rte_ethdev_trace_tx_queue_start;
>  	__rte_ethdev_trace_tx_queue_stop;
> +	__rte_ethdev_trace_uc_all_hash_table_set;
> +	__rte_ethdev_trace_uc_hash_table_set;
> +	__rte_ethdev_trace_udp_tunnel_port_add;
> +	__rte_ethdev_trace_udp_tunnel_port_delete;
> +	__rte_ethdev_trace_vlan_filter;
>  };
> 
>  INTERNAL {
> --
> 2.25.1


  reply	other threads:[~2023-01-12 16:41 UTC|newest]

Thread overview: 172+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-04 13:44 [PATCH 0/6] add trace points in ethdev library Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 1/6] ethdev: add trace points Ankur Dwivedi
2022-09-12 11:00   ` Andrew Rybchenko
2022-09-13  6:48     ` [EXT] " Ankur Dwivedi
2022-09-13  7:18       ` Andrew Rybchenko
2022-09-26 15:03         ` Andrew Rybchenko
2022-09-28  4:02           ` Jerin Jacob
2022-08-04 13:44 ` [PATCH 2/6] ethdev: add trace points for flow Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 3/6] ethdev: add trace points for mtr Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 4/6] ethdev: add trace points for tm Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 5/6] ethdev: add trace points for driver Ankur Dwivedi
2022-08-04 13:44 ` [PATCH 6/6] devtools: add trace function check in checkpatch Ankur Dwivedi
2022-09-29 10:29 ` [PATCH v2 0/4] add trace points in ethdev library Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06  7:09     ` Andrew Rybchenko
2022-10-06  7:24       ` [EXT] " Ankur Dwivedi
2022-10-06  7:27         ` Andrew Rybchenko
2022-10-06  7:43           ` Ankur Dwivedi
2022-10-06  7:50             ` Andrew Rybchenko
2022-10-06  7:57               ` David Marchand
2022-10-12  9:49                 ` Jerin Jacob
2022-10-12  9:56                   ` David Marchand
2022-09-29 10:29   ` [PATCH v2 2/4] ethdev: add trace points for flow Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 3/4] ethdev: add trace points for mtr Ankur Dwivedi
2022-09-29 10:29   ` [PATCH v2 4/4] ethdev: add trace points for tm Ankur Dwivedi
2022-10-06  7:10   ` [PATCH v2 0/4] add trace points in ethdev library Andrew Rybchenko
2022-10-06  7:26     ` [EXT] " Ankur Dwivedi
2022-10-06  7:28       ` Andrew Rybchenko
2022-10-06  7:47         ` Ankur Dwivedi
2022-10-06 12:55           ` Ankur Dwivedi
2022-10-06 15:18   ` [PATCH v3 " Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06 16:03       ` Morten Brørup
2022-10-07 16:23       ` Ankur Dwivedi
2022-10-10  6:39         ` Ankur Dwivedi
2022-12-12 18:34           ` Ferruh Yigit
2022-12-12 18:38       ` Ferruh Yigit
2022-12-14 10:34         ` David Marchand
2022-12-14 11:04           ` Ferruh Yigit
2022-12-13 20:06       ` Ferruh Yigit
2022-12-14 10:40         ` Jerin Jacob
2022-12-14 12:10           ` Ferruh Yigit
2022-12-15  6:49             ` Jerin Jacob
2023-01-12  9:10               ` Thomas Monjalon
2023-01-12  9:43                 ` trace point symbols Morten Brørup
2023-01-13 11:22                   ` Jerin Jacob
2022-12-14 13:52         ` [EXT] Re: [PATCH v3 1/4] ethdev: add trace points Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 2/4] ethdev: add trace points for flow Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 3/4] ethdev: add trace points for mtr Ankur Dwivedi
2022-10-06 15:18     ` [PATCH v3 4/4] ethdev: add trace points for tm Ankur Dwivedi
2022-12-22  6:32     ` [PATCH v4 0/6] add trace points in ethdev library Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 1/6] eal: trace: add trace point emit for array Ankur Dwivedi
2022-12-22  9:06         ` Sunil Kumar Kori
2022-12-22 10:32         ` Morten Brørup
2022-12-22 15:18           ` Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 2/6] ethdev: add trace points for ethdev Ankur Dwivedi
2022-12-22 10:50         ` Morten Brørup
2022-12-22  6:33       ` [PATCH v4 3/6] ethdev: add trace points for remaining functions Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 4/6] ethdev: add trace points for flow Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2022-12-22  6:33       ` [PATCH v4 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-12 11:21       ` [PATCH v5 0/6] add trace points in ethdev library Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-12 12:38           ` Morten Brørup
2023-01-12 13:22             ` Ankur Dwivedi
2023-01-12 16:29           ` Sunil Kumar Kori
2023-01-12 16:43             ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 2/6] ethdev: add trace points for ethdev Ankur Dwivedi
2023-01-12 16:34           ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 3/6] ethdev: add trace points for remaining functions Ankur Dwivedi
2023-01-12 16:38           ` Sunil Kumar Kori [this message]
2023-01-13  6:31             ` Ankur Dwivedi
2023-01-13  8:11               ` Sunil Kumar Kori
2023-01-12 11:21         ` [PATCH v5 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-12 11:21         ` [PATCH v5 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-12 17:03         ` [PATCH v5 0/6] add trace points in ethdev library Ferruh Yigit
2023-01-13  6:32           ` [EXT] " Ankur Dwivedi
2023-01-20  8:40         ` [PATCH v6 " Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-20 10:11             ` Morten Brørup
2023-01-23 17:27             ` Ferruh Yigit
2023-01-25 15:02               ` [EXT] " Ankur Dwivedi
2023-01-25 16:09                 ` Ferruh Yigit
2023-01-30 13:35                   ` Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-01-23 17:28             ` Ferruh Yigit
2023-01-30 16:01               ` [EXT] " Ankur Dwivedi
2023-01-31 18:38                 ` Ferruh Yigit
2023-01-31 18:46                   ` Jerin Jacob
2023-01-31 22:20                     ` Ferruh Yigit
2023-02-01  8:31                       ` Jerin Jacob
2023-02-01 10:50                         ` Ferruh Yigit
2023-02-01 15:42                   ` Ankur Dwivedi
2023-02-02  8:56                     ` Ferruh Yigit
2023-02-02 10:20                       ` Ankur Dwivedi
2023-02-02 12:52                         ` Ferruh Yigit
2023-02-02 13:40                           ` Ankur Dwivedi
2023-02-02 13:44                             ` Ferruh Yigit
2023-02-02 13:53                               ` Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-20  8:40           ` [PATCH v6 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-01-23  9:02           ` [PATCH v7 0/6] add trace points in ethdev library Ankur Dwivedi
2023-01-23  9:02             ` [PATCH v7 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-01-23 13:01               ` Jerin Jacob
2023-01-23 13:08                 ` Morten Brørup
2023-01-23 13:39                   ` Ankur Dwivedi
2023-01-30  7:30               ` Sunil Kumar Kori
2023-01-30  8:15                 ` Morten Brørup
2023-01-30  8:40                   ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-01-30  8:45               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-01-30  8:47               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-02 13:52               ` Ori Kam
2023-02-02 13:56                 ` Ori Kam
2023-02-02 15:45                   ` Ankur Dwivedi
2023-01-23  9:02             ` [PATCH v7 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-01-30  8:50               ` Sunil Kumar Kori
2023-01-23  9:02             ` [PATCH v7 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-06 11:58             ` [PATCH v8 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-06 14:48                 ` David Marchand
2023-02-07  5:08                   ` [EXT] " Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-06 11:58               ` [PATCH v8 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-07  6:32               ` [PATCH v9 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08  1:16                   ` Ferruh Yigit
2023-02-07  6:32                 ` [PATCH v9 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-08  1:16                   ` Ferruh Yigit
2023-02-08 10:30                     ` [EXT] " Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08  1:20                   ` Ferruh Yigit
2023-02-08 10:42                     ` [EXT] " Ankur Dwivedi
2023-02-08 11:00                       ` Ferruh Yigit
2023-02-08 11:04                         ` Ferruh Yigit
2023-02-08 14:15                           ` Ankur Dwivedi
2023-02-08 15:05                             ` Ferruh Yigit
2023-02-08 15:11                               ` Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-07  6:32                 ` [PATCH v9 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-08 13:28                 ` [PATCH v10 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-08 16:15                     ` Ori Kam
2023-02-08 13:28                   ` [PATCH v10 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-08 13:28                   ` [PATCH v10 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-03-15  7:14                     ` Yuan, DukaiX
2023-03-16  9:58                       ` Ankur Dwivedi
2023-02-08 17:12                   ` [PATCH v11 0/6] add trace points in ethdev library Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 1/6] eal: trace: add trace point emit for blob Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 2/6] ethdev: add trace points for ethdev (part one) Ankur Dwivedi
2023-02-17  7:32                       ` Li, WeiyuanX
2023-02-08 17:12                     ` [PATCH v11 3/6] ethdev: add trace points for ethdev (part two) Ankur Dwivedi
2023-02-08 20:09                       ` Ferruh Yigit
2023-02-08 17:12                     ` [PATCH v11 4/6] ethdev: add trace points for flow Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 5/6] ethdev: add trace points for mtr Ankur Dwivedi
2023-02-08 17:12                     ` [PATCH v11 6/6] ethdev: add trace points for tm Ankur Dwivedi
2023-02-08 20:09                     ` [PATCH v11 0/6] add trace points in ethdev library Ferruh Yigit
2023-02-26 18:34                     ` Ali Alnubani
2023-02-27  9:38                       ` Ankur Dwivedi
2023-01-23 17:30           ` [PATCH v6 " Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO6PR18MB3860140F5D72F792B2193322B4FD9@CO6PR18MB3860.namprd18.prod.outlook.com \
    --to=skori@marvell.com \
    --cc=Yuying.Zhang@intel.com \
    --cc=aboyer@pensando.io \
    --cc=adwivedi@marvell.com \
    --cc=ajit.khaparde@broadcom.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=apeksha.gupta@nxp.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=chandu@amd.com \
    --cc=chaoyong.he@corigine.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=ciara.loftus@intel.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=ed.czeck@atomicrules.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@amd.com \
    --cc=g.singh@nxp.com \
    --cc=grive@u256.net \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=igorch@amazon.com \
    --cc=irusskikh@marvell.com \
    --cc=jasvinder.singh@intel.com \
    --cc=jbehrens@vmware.com \
    --cc=jerinj@marvell.com \
    --cc=jgrajcia@cisco.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.miller@atomicrules.com \
    --cc=johndale@cisco.com \
    --cc=junfeng.guo@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=linville@tuxdriver.com \
    --cc=lironh@marvell.com \
    --cc=liudongdong3@huawei.com \
    --cc=longli@microsoft.com \
    --cc=matan@nvidia.com \
    --cc=matt.peters@windriver.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mb@smartsharesystems.com \
    --cc=mczekaj@marvell.com \
    --cc=mdr@ashroe.eu \
    --cc=mk@semihalf.com \
    --cc=mtetsuyah@gmail.com \
    --cc=mw@semihalf.com \
    --cc=ndabilpuram@marvell.com \
    --cc=niklas.soderlund@corigine.com \
    --cc=orika@nvidia.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radhac@marvell.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=rosen.xu@intel.com \
    --cc=sachin.saxena@nxp.com \
    --cc=sachin.saxena@oss.nxp.com \
    --cc=sedara@marvell.com \
    --cc=shaibran@amazon.com \
    --cc=shepard.siegel@atomicrules.com \
    --cc=shshaikh@marvell.com \
    --cc=simei.su@intel.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=spinler@cesnet.cz \
    --cc=srinivasan@marvell.com \
    --cc=steven.webster@windriver.com \
    --cc=sthotton@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=vburru@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=wenjun1.wu@intel.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=zhouguoyang@huawei.com \
    --cc=zr@semihalf.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.