xref: /dpdk/lib/ethdev/rte_ethdev_trace_fp.h (revision e9fd1ebf981f361844aea9ec94e17f4bda5e1479)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4 
5 #ifndef _RTE_ETHDEV_TRACE_FP_H_
6 #define _RTE_ETHDEV_TRACE_FP_H_
7 
8 /**
9  * @file
10  *
11  * API for ethdev trace support
12  */
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include <rte_trace_point.h>
19 
20 RTE_TRACE_POINT_FP(
21 	rte_ethdev_trace_rx_burst,
22 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
23 		void **pkt_tbl, uint16_t nb_rx),
24 	rte_trace_point_emit_u16(port_id);
25 	rte_trace_point_emit_u16(queue_id);
26 	rte_trace_point_emit_ptr(pkt_tbl);
27 	rte_trace_point_emit_u16(nb_rx);
28 )
29 
30 RTE_TRACE_POINT_FP(
31 	rte_ethdev_trace_tx_burst,
32 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
33 		void **pkts_tbl, uint16_t nb_pkts),
34 	rte_trace_point_emit_u16(port_id);
35 	rte_trace_point_emit_u16(queue_id);
36 	rte_trace_point_emit_ptr(pkts_tbl);
37 	rte_trace_point_emit_u16(nb_pkts);
38 )
39 
40 RTE_TRACE_POINT_FP(
41 	rte_eth_trace_call_rx_callbacks,
42 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
43 		void **rx_pkts, uint16_t nb_rx, uint16_t nb_pkts),
44 	rte_trace_point_emit_u16(port_id);
45 	rte_trace_point_emit_u16(queue_id);
46 	rte_trace_point_emit_ptr(rx_pkts);
47 	rte_trace_point_emit_u16(nb_rx);
48 	rte_trace_point_emit_u16(nb_pkts);
49 )
50 
51 RTE_TRACE_POINT_FP(
52 	rte_eth_trace_call_tx_callbacks,
53 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
54 		void **tx_pkts, uint16_t nb_pkts),
55 	rte_trace_point_emit_u16(port_id);
56 	rte_trace_point_emit_u16(queue_id);
57 	rte_trace_point_emit_ptr(tx_pkts);
58 	rte_trace_point_emit_u16(nb_pkts);
59 )
60 
61 RTE_TRACE_POINT_FP(
62 	rte_eth_trace_tx_buffer_drop_callback,
63 	RTE_TRACE_POINT_ARGS(void **pkts, uint16_t unsent),
64 	rte_trace_point_emit_ptr(pkts);
65 	rte_trace_point_emit_u16(unsent);
66 )
67 
68 RTE_TRACE_POINT_FP(
69 	rte_eth_trace_tx_buffer_count_callback,
70 	RTE_TRACE_POINT_ARGS(void **pkts, uint16_t unsent, uint64_t count),
71 	rte_trace_point_emit_ptr(pkts);
72 	rte_trace_point_emit_u16(unsent);
73 	rte_trace_point_emit_u64(count);
74 )
75 
76 RTE_TRACE_POINT_FP(
77 	rte_eth_trace_tx_queue_count,
78 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int rc),
79 	rte_trace_point_emit_u16(port_id);
80 	rte_trace_point_emit_u16(queue_id);
81 	rte_trace_point_emit_int(rc);
82 )
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* _RTE_ETHDEV_TRACE_FP_H_ */
89