xref: /dpdk/lib/ethdev/ethdev_trace.h (revision 25a2a0dc3de31ca0a6fbc9371cf3dd85dfd74b07)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2023 Marvell International Ltd.
3  */
4 
5 #ifndef ETHDEV_TRACE_H
6 #define ETHDEV_TRACE_H
7 
8 /**
9  * @file
10  *
11  * API for ethdev trace support
12  */
13 
14 #include <dev_driver.h>
15 #include <rte_trace_point.h>
16 
17 #include "rte_ethdev.h"
18 #include "rte_mtr.h"
19 #include "rte_tm.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 RTE_TRACE_POINT(
26 	rte_ethdev_trace_configure,
27 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t nb_rx_q,
28 		uint16_t nb_tx_q, const struct rte_eth_conf *dev_conf, int rc),
29 	rte_trace_point_emit_u16(port_id);
30 	rte_trace_point_emit_u16(nb_rx_q);
31 	rte_trace_point_emit_u16(nb_tx_q);
32 	rte_trace_point_emit_u32(dev_conf->link_speeds);
33 	rte_trace_point_emit_u32(dev_conf->rxmode.mq_mode);
34 	rte_trace_point_emit_u32(dev_conf->rxmode.mtu);
35 	rte_trace_point_emit_u32(dev_conf->rxmode.max_lro_pkt_size);
36 	rte_trace_point_emit_u64(dev_conf->rxmode.offloads);
37 	rte_trace_point_emit_u32(dev_conf->txmode.mq_mode);
38 	rte_trace_point_emit_u64(dev_conf->txmode.offloads);
39 	rte_trace_point_emit_u32(dev_conf->lpbk_mode);
40 	rte_trace_point_emit_int(rc);
41 )
42 
43 RTE_TRACE_POINT(
44 	rte_ethdev_trace_rxq_setup,
45 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id,
46 		uint16_t nb_rx_desc, void *mp,
47 		const struct rte_eth_rxconf *rx_conf, int rc),
48 	rte_trace_point_emit_u16(port_id);
49 	rte_trace_point_emit_u16(rx_queue_id);
50 	rte_trace_point_emit_u16(nb_rx_desc);
51 	rte_trace_point_emit_ptr(mp);
52 	rte_trace_point_emit_u8(rx_conf->rx_thresh.pthresh);
53 	rte_trace_point_emit_u8(rx_conf->rx_thresh.hthresh);
54 	rte_trace_point_emit_u8(rx_conf->rx_thresh.wthresh);
55 	rte_trace_point_emit_u8(rx_conf->rx_drop_en);
56 	rte_trace_point_emit_u8(rx_conf->rx_deferred_start);
57 	rte_trace_point_emit_u64(rx_conf->offloads);
58 	rte_trace_point_emit_int(rc);
59 )
60 
61 RTE_TRACE_POINT(
62 	rte_ethdev_trace_txq_setup,
63 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id,
64 		uint16_t nb_tx_desc, const struct rte_eth_txconf *tx_conf),
65 	rte_trace_point_emit_u16(port_id);
66 	rte_trace_point_emit_u16(tx_queue_id);
67 	rte_trace_point_emit_u16(nb_tx_desc);
68 	rte_trace_point_emit_u8(tx_conf->tx_thresh.pthresh);
69 	rte_trace_point_emit_u8(tx_conf->tx_thresh.hthresh);
70 	rte_trace_point_emit_u8(tx_conf->tx_thresh.wthresh);
71 	rte_trace_point_emit_u8(tx_conf->tx_deferred_start);
72 	rte_trace_point_emit_u16(tx_conf->tx_free_thresh);
73 	rte_trace_point_emit_u64(tx_conf->offloads);
74 )
75 
76 RTE_TRACE_POINT(
77 	rte_ethdev_trace_start,
78 	RTE_TRACE_POINT_ARGS(uint16_t port_id),
79 	rte_trace_point_emit_u16(port_id);
80 )
81 
82 RTE_TRACE_POINT(
83 	rte_ethdev_trace_stop,
84 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
85 	rte_trace_point_emit_u16(port_id);
86 	rte_trace_point_emit_int(ret);
87 )
88 
89 RTE_TRACE_POINT(
90 	rte_ethdev_trace_close,
91 	RTE_TRACE_POINT_ARGS(uint16_t port_id),
92 	rte_trace_point_emit_u16(port_id);
93 )
94 
95 RTE_TRACE_POINT(
96 	rte_eth_trace_iterator_init,
97 	RTE_TRACE_POINT_ARGS(const char *devargs),
98 	rte_trace_point_emit_string(devargs);
99 )
100 
101 RTE_TRACE_POINT(
102 	rte_eth_trace_iterator_next,
103 	RTE_TRACE_POINT_ARGS(const struct rte_dev_iterator *iter, uint16_t id),
104 	rte_trace_point_emit_ptr(iter);
105 	rte_trace_point_emit_u16(id);
106 )
107 
108 RTE_TRACE_POINT(
109 	rte_eth_trace_iterator_cleanup,
110 	RTE_TRACE_POINT_ARGS(const struct rte_dev_iterator *iter),
111 	rte_trace_point_emit_ptr(iter);
112 )
113 
114 RTE_TRACE_POINT(
115 	rte_ethdev_trace_owner_new,
116 	RTE_TRACE_POINT_ARGS(uint64_t owner_id, int ret),
117 	rte_trace_point_emit_u64(owner_id);
118 	rte_trace_point_emit_int(ret);
119 )
120 
121 RTE_TRACE_POINT(
122 	rte_ethdev_trace_owner_set,
123 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
124 		const struct rte_eth_dev_owner *owner, int ret),
125 	rte_trace_point_emit_u16(port_id);
126 	rte_trace_point_emit_ptr(owner);
127 	rte_trace_point_emit_int(ret);
128 )
129 
130 RTE_TRACE_POINT(
131 	rte_ethdev_trace_owner_unset,
132 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint64_t owner_id, int ret),
133 	rte_trace_point_emit_u16(port_id);
134 	rte_trace_point_emit_u64(owner_id);
135 	rte_trace_point_emit_int(ret);
136 )
137 
138 RTE_TRACE_POINT(
139 	rte_ethdev_trace_owner_delete,
140 	RTE_TRACE_POINT_ARGS(uint64_t owner_id, int ret),
141 	rte_trace_point_emit_u64(owner_id);
142 	rte_trace_point_emit_int(ret);
143 )
144 
145 RTE_TRACE_POINT(
146 	rte_ethdev_trace_socket_id,
147 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int socket_id),
148 	rte_trace_point_emit_u16(port_id);
149 	rte_trace_point_emit_int(socket_id);
150 )
151 
152 RTE_TRACE_POINT(
153 	rte_ethdev_trace_rx_queue_start,
154 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id, int ret),
155 	rte_trace_point_emit_u16(port_id);
156 	rte_trace_point_emit_u16(rx_queue_id);
157 	rte_trace_point_emit_int(ret);
158 )
159 
160 RTE_TRACE_POINT(
161 	rte_ethdev_trace_rx_queue_stop,
162 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id, int ret),
163 	rte_trace_point_emit_u16(port_id);
164 	rte_trace_point_emit_u16(rx_queue_id);
165 	rte_trace_point_emit_int(ret);
166 )
167 
168 RTE_TRACE_POINT(
169 	rte_ethdev_trace_tx_queue_start,
170 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id, int ret),
171 	rte_trace_point_emit_u16(port_id);
172 	rte_trace_point_emit_u16(tx_queue_id);
173 	rte_trace_point_emit_int(ret);
174 )
175 
176 RTE_TRACE_POINT(
177 	rte_ethdev_trace_tx_queue_stop,
178 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id, int ret),
179 	rte_trace_point_emit_u16(port_id);
180 	rte_trace_point_emit_u16(tx_queue_id);
181 	rte_trace_point_emit_int(ret);
182 )
183 
184 RTE_TRACE_POINT(
185 	rte_eth_trace_speed_bitflag,
186 	RTE_TRACE_POINT_ARGS(uint32_t speed, int duplex, uint32_t ret),
187 	rte_trace_point_emit_u32(speed);
188 	rte_trace_point_emit_int(duplex);
189 	rte_trace_point_emit_u32(ret);
190 )
191 
192 RTE_TRACE_POINT(
193 	rte_ethdev_trace_rx_offload_name,
194 	RTE_TRACE_POINT_ARGS(uint64_t offload, const char *name),
195 	rte_trace_point_emit_u64(offload);
196 	rte_trace_point_emit_string(name);
197 )
198 
199 RTE_TRACE_POINT(
200 	rte_ethdev_trace_tx_offload_name,
201 	RTE_TRACE_POINT_ARGS(uint64_t offload, const char *name),
202 	rte_trace_point_emit_u64(offload);
203 	rte_trace_point_emit_string(name);
204 )
205 
206 RTE_TRACE_POINT(
207 	rte_ethdev_trace_capability_name,
208 	RTE_TRACE_POINT_ARGS(uint64_t capability, const char *name),
209 	rte_trace_point_emit_u64(capability);
210 	rte_trace_point_emit_string(name);
211 )
212 
213 RTE_TRACE_POINT(
214 	rte_ethdev_trace_set_link_up,
215 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
216 	rte_trace_point_emit_u16(port_id);
217 	rte_trace_point_emit_int(ret);
218 )
219 
220 RTE_TRACE_POINT(
221 	rte_ethdev_trace_set_link_down,
222 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
223 	rte_trace_point_emit_u16(port_id);
224 	rte_trace_point_emit_int(ret);
225 )
226 
227 RTE_TRACE_POINT(
228 	rte_ethdev_trace_reset,
229 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
230 	rte_trace_point_emit_u16(port_id);
231 	rte_trace_point_emit_int(ret);
232 )
233 
234 RTE_TRACE_POINT(
235 	rte_eth_trace_rx_hairpin_queue_setup,
236 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id,
237 		uint16_t nb_rx_desc, const struct rte_eth_hairpin_conf *conf,
238 		int ret),
239 	rte_trace_point_emit_u16(port_id);
240 	rte_trace_point_emit_u16(rx_queue_id);
241 	rte_trace_point_emit_u16(nb_rx_desc);
242 	rte_trace_point_emit_ptr(conf);
243 	rte_trace_point_emit_int(ret);
244 )
245 
246 RTE_TRACE_POINT(
247 	rte_eth_trace_tx_hairpin_queue_setup,
248 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id,
249 		uint16_t nb_tx_desc, const struct rte_eth_hairpin_conf *conf,
250 		int ret),
251 	rte_trace_point_emit_u16(port_id);
252 	rte_trace_point_emit_u16(tx_queue_id);
253 	rte_trace_point_emit_u16(nb_tx_desc);
254 	rte_trace_point_emit_ptr(conf);
255 	rte_trace_point_emit_int(ret);
256 )
257 
258 RTE_TRACE_POINT(
259 	rte_eth_trace_hairpin_bind,
260 	RTE_TRACE_POINT_ARGS(uint16_t tx_port, uint16_t rx_port, int ret),
261 	rte_trace_point_emit_u16(tx_port);
262 	rte_trace_point_emit_u16(rx_port);
263 	rte_trace_point_emit_int(ret);
264 )
265 
266 RTE_TRACE_POINT(
267 	rte_eth_trace_hairpin_unbind,
268 	RTE_TRACE_POINT_ARGS(uint16_t tx_port, uint16_t rx_port, int ret),
269 	rte_trace_point_emit_u16(tx_port);
270 	rte_trace_point_emit_u16(rx_port);
271 	rte_trace_point_emit_int(ret);
272 )
273 
274 RTE_TRACE_POINT(
275 	rte_eth_trace_tx_buffer_set_err_callback,
276 	RTE_TRACE_POINT_ARGS(const struct rte_eth_dev_tx_buffer *buffer),
277 	rte_trace_point_emit_ptr(buffer->error_callback);
278 	rte_trace_point_emit_ptr(buffer->error_userdata);
279 )
280 
281 RTE_TRACE_POINT(
282 	rte_eth_trace_promiscuous_enable,
283 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int promiscuous, int ret),
284 	rte_trace_point_emit_u16(port_id);
285 	rte_trace_point_emit_int(promiscuous);
286 	rte_trace_point_emit_int(ret);
287 )
288 
289 RTE_TRACE_POINT(
290 	rte_eth_trace_promiscuous_disable,
291 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int promiscuous, int ret),
292 	rte_trace_point_emit_u16(port_id);
293 	rte_trace_point_emit_int(promiscuous);
294 	rte_trace_point_emit_int(ret);
295 )
296 
297 RTE_TRACE_POINT(
298 	rte_eth_trace_allmulticast_enable,
299 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int all_multicast, int ret),
300 	rte_trace_point_emit_u16(port_id);
301 	rte_trace_point_emit_int(all_multicast);
302 	rte_trace_point_emit_int(ret);
303 )
304 
305 RTE_TRACE_POINT(
306 	rte_eth_trace_allmulticast_disable,
307 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int all_multicast, int ret),
308 	rte_trace_point_emit_u16(port_id);
309 	rte_trace_point_emit_int(all_multicast);
310 	rte_trace_point_emit_int(ret);
311 )
312 
313 RTE_TRACE_POINT(
314 	rte_ethdev_trace_set_rx_queue_stats_mapping,
315 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id,
316 		uint8_t stat_idx, int ret),
317 	rte_trace_point_emit_u16(port_id);
318 	rte_trace_point_emit_u16(rx_queue_id);
319 	rte_trace_point_emit_u8(stat_idx);
320 	rte_trace_point_emit_int(ret);
321 )
322 
323 RTE_TRACE_POINT(
324 	rte_ethdev_trace_set_tx_queue_stats_mapping,
325 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id,
326 		uint8_t stat_idx, int ret),
327 	rte_trace_point_emit_u16(port_id);
328 	rte_trace_point_emit_u16(tx_queue_id);
329 	rte_trace_point_emit_u8(stat_idx);
330 	rte_trace_point_emit_int(ret);
331 )
332 
333 RTE_TRACE_POINT(
334 	rte_ethdev_trace_fw_version_get,
335 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const char *fw_version,
336 		size_t fw_size, int ret),
337 	rte_trace_point_emit_u16(port_id);
338 	rte_trace_point_emit_string(fw_version);
339 	rte_trace_point_emit_size_t(fw_size);
340 	rte_trace_point_emit_int(ret);
341 )
342 
343 RTE_TRACE_POINT(
344 	rte_eth_trace_find_next,
345 	RTE_TRACE_POINT_ARGS(uint16_t port_id),
346 	rte_trace_point_emit_u16(port_id);
347 )
348 
349 RTE_TRACE_POINT(
350 	rte_eth_trace_find_next_of,
351 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_device *parent),
352 	rte_trace_point_emit_u16(port_id);
353 	rte_trace_point_emit_ptr(parent);
354 )
355 
356 RTE_TRACE_POINT(
357 	rte_eth_trace_find_next_sibling,
358 	RTE_TRACE_POINT_ARGS(uint16_t port_id_start, uint16_t ref_port_id,
359 		uint16_t ret),
360 	rte_trace_point_emit_u16(port_id_start);
361 	rte_trace_point_emit_u16(ref_port_id);
362 	rte_trace_point_emit_u16(ret);
363 )
364 
365 RTE_TRACE_POINT(
366 	rte_ethdev_trace_is_valid_port,
367 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int is_valid),
368 	rte_trace_point_emit_u16(port_id);
369 	rte_trace_point_emit_int(is_valid);
370 )
371 
372 RTE_TRACE_POINT(
373 	rte_eth_trace_find_next_owned_by,
374 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint64_t owner_id),
375 	rte_trace_point_emit_u16(port_id);
376 	rte_trace_point_emit_u64(owner_id);
377 )
378 
379 RTE_TRACE_POINT(
380 	rte_ethdev_trace_owner_get,
381 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
382 		const struct rte_eth_dev_owner *owner, int ret),
383 	rte_trace_point_emit_u16(port_id);
384 	rte_trace_point_emit_u64(owner->id);
385 	rte_trace_point_emit_string(owner->name);
386 	rte_trace_point_emit_int(ret);
387 )
388 
389 RTE_TRACE_POINT(
390 	rte_ethdev_trace_get_sec_ctx,
391 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const void *ctx),
392 	rte_trace_point_emit_u16(port_id);
393 	rte_trace_point_emit_ptr(ctx);
394 )
395 
396 RTE_TRACE_POINT(
397 	rte_ethdev_trace_count_avail,
398 	RTE_TRACE_POINT_ARGS(uint16_t count),
399 	rte_trace_point_emit_u16(count);
400 )
401 
402 RTE_TRACE_POINT(
403 	rte_ethdev_trace_count_total,
404 	RTE_TRACE_POINT_ARGS(uint16_t count),
405 	rte_trace_point_emit_u16(count);
406 )
407 
408 RTE_TRACE_POINT(
409 	rte_ethdev_trace_get_name_by_port,
410 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const char *name),
411 	rte_trace_point_emit_u16(port_id);
412 	rte_trace_point_emit_string(name);
413 )
414 
415 RTE_TRACE_POINT(
416 	rte_ethdev_trace_get_port_by_name,
417 	RTE_TRACE_POINT_ARGS(const char *name, uint16_t port_id),
418 	rte_trace_point_emit_string(name);
419 	rte_trace_point_emit_u16(port_id);
420 )
421 
422 RTE_TRACE_POINT(
423 	rte_ethdev_trace_is_removed,
424 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
425 	rte_trace_point_emit_u16(port_id);
426 	rte_trace_point_emit_int(ret);
427 )
428 
429 RTE_TRACE_POINT(
430 	rte_eth_trace_hairpin_get_peer_ports,
431 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const uint16_t *peer_ports,
432 		size_t len, uint32_t direction, int ret),
433 	rte_trace_point_emit_u16(port_id);
434 	rte_trace_point_emit_ptr(peer_ports);
435 	rte_trace_point_emit_size_t(len);
436 	rte_trace_point_emit_u32(direction);
437 	rte_trace_point_emit_int(ret);
438 )
439 
440 RTE_TRACE_POINT(
441 	rte_eth_trace_tx_buffer_init,
442 	RTE_TRACE_POINT_ARGS(const struct rte_eth_dev_tx_buffer *buffer,
443 		uint16_t size, int ret),
444 	rte_trace_point_emit_ptr(buffer);
445 	rte_trace_point_emit_u16(size);
446 	rte_trace_point_emit_int(ret);
447 )
448 
449 RTE_TRACE_POINT(
450 	rte_eth_trace_tx_done_cleanup,
451 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
452 		uint32_t free_cnt, int ret),
453 	rte_trace_point_emit_u16(port_id);
454 	rte_trace_point_emit_u16(queue_id);
455 	rte_trace_point_emit_u32(free_cnt);
456 	rte_trace_point_emit_int(ret);
457 )
458 
459 RTE_TRACE_POINT(
460 	rte_eth_trace_promiscuous_get,
461 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int promiscuous),
462 	rte_trace_point_emit_u16(port_id);
463 	rte_trace_point_emit_int(promiscuous);
464 )
465 
466 RTE_TRACE_POINT(
467 	rte_eth_trace_allmulticast_get,
468 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int all_multicast),
469 	rte_trace_point_emit_u16(port_id);
470 	rte_trace_point_emit_int(all_multicast);
471 )
472 
473 RTE_TRACE_POINT(
474 	rte_eth_trace_link_get_nowait,
475 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_eth_link *link),
476 	rte_trace_point_emit_u16(port_id);
477 	rte_trace_point_emit_u32(link->link_speed);
478 )
479 
480 RTE_TRACE_POINT(
481 	rte_eth_trace_link_to_str,
482 	RTE_TRACE_POINT_ARGS(size_t len, const struct rte_eth_link *link,
483 		char *str, int ret),
484 	rte_trace_point_emit_size_t(len);
485 	rte_trace_point_emit_u32(link->link_speed);
486 	rte_trace_point_emit_string(str);
487 	rte_trace_point_emit_int(ret);
488 )
489 
490 RTE_TRACE_POINT(
491 	rte_eth_trace_stats_reset,
492 	RTE_TRACE_POINT_ARGS(uint16_t port_id),
493 	rte_trace_point_emit_u16(port_id);
494 )
495 
496 RTE_TRACE_POINT(
497 	rte_eth_trace_xstats_get_id_by_name,
498 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const char *xstat_name,
499 		uint64_t id),
500 	rte_trace_point_emit_u16(port_id);
501 	rte_trace_point_emit_string(xstat_name);
502 	rte_trace_point_emit_u64(id);
503 )
504 
505 RTE_TRACE_POINT(
506 	rte_eth_trace_xstats_get_names_by_id,
507 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
508 		const struct rte_eth_xstat_name *xstats_names, uint64_t ids),
509 	rte_trace_point_emit_u16(port_id);
510 	rte_trace_point_emit_string(xstats_names->name);
511 	rte_trace_point_emit_u64(ids);
512 )
513 
514 RTE_TRACE_POINT(
515 	rte_eth_trace_xstats_get_names,
516 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int i,
517 		const struct rte_eth_xstat_name *xstats_names,
518 		unsigned int size, int cnt_used_entries),
519 	rte_trace_point_emit_u16(port_id);
520 	rte_trace_point_emit_int(i);
521 	rte_trace_point_emit_string(xstats_names->name);
522 	rte_trace_point_emit_u32(size);
523 	rte_trace_point_emit_int(cnt_used_entries);
524 )
525 
526 RTE_TRACE_POINT(
527 	rte_eth_trace_xstats_get_by_id,
528 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const uint64_t *ids,
529 		const uint64_t *values, unsigned int size),
530 	rte_trace_point_emit_u16(port_id);
531 	rte_trace_point_emit_ptr(ids);
532 	rte_trace_point_emit_ptr(values);
533 	rte_trace_point_emit_u32(size);
534 )
535 
536 RTE_TRACE_POINT(
537 	rte_eth_trace_xstats_get,
538 	RTE_TRACE_POINT_ARGS(uint16_t port_id, struct rte_eth_xstat xstats),
539 	rte_trace_point_emit_u16(port_id);
540 	rte_trace_point_emit_u64(xstats.id);
541 	rte_trace_point_emit_u64(xstats.value);
542 )
543 
544 RTE_TRACE_POINT(
545 	rte_eth_trace_xstats_reset,
546 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
547 	rte_trace_point_emit_u16(port_id);
548 	rte_trace_point_emit_int(ret);
549 )
550 
551 RTE_TRACE_POINT(
552 	rte_ethdev_trace_info_get,
553 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
554 		const struct rte_eth_dev_info *dev_info),
555 	rte_trace_point_emit_u16(port_id);
556 	rte_trace_point_emit_string(dev_info->driver_name);
557 	rte_trace_point_emit_u16(dev_info->min_mtu);
558 	rte_trace_point_emit_u16(dev_info->max_mtu);
559 	rte_trace_point_emit_u32(dev_info->min_rx_bufsize);
560 	rte_trace_point_emit_u32(dev_info->max_rx_bufsize);
561 	rte_trace_point_emit_u32(dev_info->max_rx_pktlen);
562 	rte_trace_point_emit_u32(dev_info->max_lro_pkt_size);
563 	rte_trace_point_emit_u16(dev_info->max_rx_queues);
564 	rte_trace_point_emit_u16(dev_info->max_tx_queues);
565 	rte_trace_point_emit_u32(dev_info->max_mac_addrs);
566 	rte_trace_point_emit_u64(dev_info->rx_offload_capa);
567 	rte_trace_point_emit_u64(dev_info->tx_offload_capa);
568 	rte_trace_point_emit_u64(dev_info->rx_queue_offload_capa);
569 	rte_trace_point_emit_u64(dev_info->tx_queue_offload_capa);
570 	rte_trace_point_emit_u16(dev_info->reta_size);
571 	rte_trace_point_emit_u8(dev_info->hash_key_size);
572 	rte_trace_point_emit_u32(dev_info->rss_algo_capa);
573 	rte_trace_point_emit_u64(dev_info->flow_type_rss_offloads);
574 	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_max);
575 	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_min);
576 	rte_trace_point_emit_u16(dev_info->rx_desc_lim.nb_align);
577 	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_max);
578 	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_min);
579 	rte_trace_point_emit_u16(dev_info->tx_desc_lim.nb_align);
580 	rte_trace_point_emit_u32(dev_info->speed_capa);
581 	rte_trace_point_emit_u16(dev_info->nb_rx_queues);
582 	rte_trace_point_emit_u16(dev_info->nb_tx_queues);
583 	rte_trace_point_emit_u64(dev_info->dev_capa);
584 )
585 
586 RTE_TRACE_POINT(
587 	rte_ethdev_trace_conf_get,
588 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
589 		const struct rte_eth_conf *dev_conf),
590 	rte_trace_point_emit_u16(port_id);
591 	rte_trace_point_emit_u32(dev_conf->link_speeds);
592 	rte_trace_point_emit_u64(dev_conf->rxmode.offloads);
593 	rte_trace_point_emit_u64(dev_conf->txmode.offloads);
594 	rte_trace_point_emit_u32(dev_conf->lpbk_mode);
595 )
596 
597 RTE_TRACE_POINT(
598 	rte_ethdev_trace_get_supported_ptypes,
599 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num, int num,
600 		uint32_t ptypes),
601 	rte_trace_point_emit_u16(port_id);
602 	rte_trace_point_emit_int(supported_num);
603 	rte_trace_point_emit_int(num);
604 	rte_trace_point_emit_u32(ptypes);
605 )
606 
607 RTE_TRACE_POINT(
608 	rte_ethdev_trace_set_ptypes,
609 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num,
610 		unsigned int num, uint32_t set_ptypes),
611 	rte_trace_point_emit_u16(port_id);
612 	rte_trace_point_emit_int(supported_num);
613 	rte_trace_point_emit_u32(num);
614 	rte_trace_point_emit_u32(set_ptypes);
615 )
616 
617 RTE_TRACE_POINT(
618 	rte_eth_trace_macaddrs_get,
619 	RTE_TRACE_POINT_ARGS(uint16_t port_id, unsigned int num),
620 	rte_trace_point_emit_u16(port_id);
621 	rte_trace_point_emit_u32(num);
622 )
623 
624 RTE_TRACE_POINT(
625 	rte_ethdev_trace_set_mtu,
626 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t mtu, int ret),
627 	rte_trace_point_emit_u16(port_id);
628 	rte_trace_point_emit_u16(mtu);
629 	rte_trace_point_emit_int(ret);
630 )
631 
632 RTE_TRACE_POINT(
633 	rte_ethdev_trace_vlan_filter,
634 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t vlan_id, int on,
635 		int ret),
636 	rte_trace_point_emit_u16(port_id);
637 	rte_trace_point_emit_u16(vlan_id);
638 	rte_trace_point_emit_int(on);
639 	rte_trace_point_emit_int(ret);
640 )
641 
642 RTE_TRACE_POINT(
643 	rte_ethdev_trace_set_vlan_strip_on_queue,
644 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id, int on),
645 	rte_trace_point_emit_u16(port_id);
646 	rte_trace_point_emit_u16(rx_queue_id);
647 	rte_trace_point_emit_int(on);
648 )
649 
650 RTE_TRACE_POINT(
651 	rte_ethdev_trace_set_vlan_ether_type,
652 	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum rte_vlan_type vlan_type,
653 		uint16_t tag_type, int ret),
654 	rte_trace_point_emit_u16(port_id);
655 	rte_trace_point_emit_int(vlan_type);
656 	rte_trace_point_emit_u16(tag_type);
657 	rte_trace_point_emit_int(ret);
658 )
659 
660 RTE_TRACE_POINT(
661 	rte_ethdev_trace_set_vlan_offload,
662 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int offload_mask, int ret),
663 	rte_trace_point_emit_u16(port_id);
664 	rte_trace_point_emit_int(offload_mask);
665 	rte_trace_point_emit_int(ret);
666 )
667 
668 RTE_TRACE_POINT(
669 	rte_ethdev_trace_get_vlan_offload,
670 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
671 	rte_trace_point_emit_u16(port_id);
672 	rte_trace_point_emit_int(ret);
673 )
674 
675 RTE_TRACE_POINT(
676 	rte_ethdev_trace_set_vlan_pvid,
677 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t pvid, int on, int ret),
678 	rte_trace_point_emit_u16(port_id);
679 	rte_trace_point_emit_u16(pvid);
680 	rte_trace_point_emit_int(on);
681 	rte_trace_point_emit_int(ret);
682 )
683 
684 RTE_TRACE_POINT(
685 	rte_ethdev_trace_flow_ctrl_get,
686 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
687 		const struct rte_eth_fc_conf *fc_conf, int ret),
688 	rte_trace_point_emit_u16(port_id);
689 	rte_trace_point_emit_u32(fc_conf->high_water);
690 	rte_trace_point_emit_u32(fc_conf->low_water);
691 	rte_trace_point_emit_u16(fc_conf->pause_time);
692 	rte_trace_point_emit_u16(fc_conf->send_xon);
693 	rte_trace_point_emit_int(fc_conf->mode);
694 	rte_trace_point_emit_u8(fc_conf->mac_ctrl_frame_fwd);
695 	rte_trace_point_emit_u8(fc_conf->autoneg);
696 	rte_trace_point_emit_int(ret);
697 )
698 
699 RTE_TRACE_POINT(
700 	rte_ethdev_trace_flow_ctrl_set,
701 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
702 		const struct rte_eth_fc_conf *fc_conf, int ret),
703 	rte_trace_point_emit_u16(port_id);
704 	rte_trace_point_emit_u32(fc_conf->high_water);
705 	rte_trace_point_emit_u32(fc_conf->low_water);
706 	rte_trace_point_emit_u16(fc_conf->pause_time);
707 	rte_trace_point_emit_u16(fc_conf->send_xon);
708 	rte_trace_point_emit_int(fc_conf->mode);
709 	rte_trace_point_emit_u8(fc_conf->mac_ctrl_frame_fwd);
710 	rte_trace_point_emit_u8(fc_conf->autoneg);
711 	rte_trace_point_emit_int(ret);
712 )
713 
714 RTE_TRACE_POINT(
715 	rte_ethdev_trace_priority_flow_ctrl_set,
716 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
717 		const struct rte_eth_pfc_conf *pfc_conf, int ret),
718 	rte_trace_point_emit_u16(port_id);
719 	rte_trace_point_emit_u32(pfc_conf->fc.high_water);
720 	rte_trace_point_emit_u32(pfc_conf->fc.low_water);
721 	rte_trace_point_emit_u16(pfc_conf->fc.pause_time);
722 	rte_trace_point_emit_u16(pfc_conf->fc.send_xon);
723 	rte_trace_point_emit_int(pfc_conf->fc.mode);
724 	rte_trace_point_emit_u8(pfc_conf->fc.mac_ctrl_frame_fwd);
725 	rte_trace_point_emit_u8(pfc_conf->fc.autoneg);
726 	rte_trace_point_emit_u8(pfc_conf->priority);
727 	rte_trace_point_emit_int(ret);
728 )
729 
730 RTE_TRACE_POINT(
731 	rte_ethdev_trace_priority_flow_ctrl_queue_info_get,
732 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
733 		const struct rte_eth_pfc_queue_info *pfc_queue_info, int ret),
734 	rte_trace_point_emit_u16(port_id);
735 	rte_trace_point_emit_u8(pfc_queue_info->tc_max);
736 	rte_trace_point_emit_int(pfc_queue_info->mode_capa);
737 	rte_trace_point_emit_int(ret);
738 )
739 
740 RTE_TRACE_POINT(
741 	rte_ethdev_trace_priority_flow_ctrl_queue_configure,
742 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
743 		const struct rte_eth_pfc_queue_conf *pfc_queue_conf, int ret),
744 	rte_trace_point_emit_u16(port_id);
745 	rte_trace_point_emit_int(pfc_queue_conf->mode);
746 	rte_trace_point_emit_u16(pfc_queue_conf->rx_pause.tx_qid);
747 	rte_trace_point_emit_u16(pfc_queue_conf->tx_pause.rx_qid);
748 	rte_trace_point_emit_int(ret);
749 )
750 
751 RTE_TRACE_POINT(
752 	rte_ethdev_trace_rss_reta_update,
753 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
754 		const struct rte_eth_rss_reta_entry64 *reta_conf,
755 		uint16_t reta_size, int ret),
756 	rte_trace_point_emit_u16(port_id);
757 	rte_trace_point_emit_u64(reta_conf->mask);
758 	rte_trace_point_emit_u16(reta_size);
759 	rte_trace_point_emit_int(ret);
760 )
761 
762 RTE_TRACE_POINT(
763 	rte_ethdev_trace_rss_reta_query,
764 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
765 		const struct rte_eth_rss_reta_entry64 *reta_conf,
766 		uint16_t reta_size, int ret),
767 	rte_trace_point_emit_u16(port_id);
768 	rte_trace_point_emit_u64(reta_conf->mask);
769 	rte_trace_point_emit_u16(reta_size);
770 	rte_trace_point_emit_int(ret);
771 )
772 
773 RTE_TRACE_POINT(
774 	rte_ethdev_trace_rss_hash_update,
775 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
776 		const struct rte_eth_rss_conf *rss_conf, int ret),
777 	rte_trace_point_emit_u16(port_id);
778 	rte_trace_point_emit_ptr(rss_conf->rss_key);
779 	rte_trace_point_emit_u8(rss_conf->rss_key_len);
780 	rte_trace_point_emit_u64(rss_conf->rss_hf);
781 	rte_trace_point_emit_u32(rss_conf->algorithm);
782 	rte_trace_point_emit_int(ret);
783 )
784 
785 RTE_TRACE_POINT(
786 	rte_ethdev_trace_rss_hash_conf_get,
787 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
788 		const struct rte_eth_rss_conf *rss_conf, int ret),
789 	rte_trace_point_emit_u16(port_id);
790 	rte_trace_point_emit_ptr(rss_conf->rss_key);
791 	rte_trace_point_emit_u8(rss_conf->rss_key_len);
792 	rte_trace_point_emit_u64(rss_conf->rss_hf);
793 	rte_trace_point_emit_u32(rss_conf->algorithm);
794 	rte_trace_point_emit_int(ret);
795 )
796 
797 RTE_TRACE_POINT(
798 	rte_ethdev_trace_udp_tunnel_port_add,
799 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
800 		const struct rte_eth_udp_tunnel *tunnel_udp, int ret),
801 	rte_trace_point_emit_u16(port_id);
802 	rte_trace_point_emit_u16(tunnel_udp->udp_port);
803 	rte_trace_point_emit_u8(tunnel_udp->prot_type);
804 	rte_trace_point_emit_int(ret);
805 )
806 
807 RTE_TRACE_POINT(
808 	rte_ethdev_trace_udp_tunnel_port_delete,
809 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
810 		const struct rte_eth_udp_tunnel *tunnel_udp, int ret),
811 	rte_trace_point_emit_u16(port_id);
812 	rte_trace_point_emit_u16(tunnel_udp->udp_port);
813 	rte_trace_point_emit_u8(tunnel_udp->prot_type);
814 	rte_trace_point_emit_int(ret);
815 )
816 
817 RTE_TRACE_POINT(
818 	rte_eth_trace_led_on,
819 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
820 	rte_trace_point_emit_u16(port_id);
821 	rte_trace_point_emit_int(ret);
822 )
823 
824 RTE_TRACE_POINT(
825 	rte_eth_trace_led_off,
826 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
827 	rte_trace_point_emit_u16(port_id);
828 	rte_trace_point_emit_int(ret);
829 )
830 
831 RTE_TRACE_POINT(
832 	rte_eth_trace_fec_get_capability,
833 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
834 		const struct rte_eth_fec_capa *speed_fec_capa,
835 		unsigned int num, int ret),
836 	rte_trace_point_emit_u16(port_id);
837 	rte_trace_point_emit_ptr(speed_fec_capa);
838 	rte_trace_point_emit_u32(num);
839 	rte_trace_point_emit_int(ret);
840 )
841 
842 RTE_TRACE_POINT(
843 	rte_eth_trace_fec_get,
844 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const uint32_t *fec_capa,
845 		int ret),
846 	rte_trace_point_emit_u16(port_id);
847 	rte_trace_point_emit_ptr(fec_capa);
848 	rte_trace_point_emit_int(ret);
849 )
850 
851 RTE_TRACE_POINT(
852 	rte_eth_trace_fec_set,
853 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t fec_capa, int ret),
854 	rte_trace_point_emit_u16(port_id);
855 	rte_trace_point_emit_u32(fec_capa);
856 	rte_trace_point_emit_int(ret);
857 )
858 
859 RTE_TRACE_POINT(
860 	rte_ethdev_trace_mac_addr_add,
861 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
862 		const struct rte_ether_addr *addr, uint32_t pool, int ret),
863 	uint8_t len = RTE_ETHER_ADDR_LEN;
864 
865 	rte_trace_point_emit_u16(port_id);
866 	rte_trace_point_emit_blob(addr->addr_bytes, len);
867 	rte_trace_point_emit_u32(pool);
868 	rte_trace_point_emit_int(ret);
869 )
870 
871 RTE_TRACE_POINT(
872 	rte_ethdev_trace_mac_addr_remove,
873 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
874 		const struct rte_ether_addr *addr),
875 	uint8_t len = RTE_ETHER_ADDR_LEN;
876 
877 	rte_trace_point_emit_u16(port_id);
878 	rte_trace_point_emit_blob(addr->addr_bytes, len);
879 )
880 
881 RTE_TRACE_POINT(
882 	rte_ethdev_trace_default_mac_addr_set,
883 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
884 		const struct rte_ether_addr *addr),
885 	uint8_t len = RTE_ETHER_ADDR_LEN;
886 
887 	rte_trace_point_emit_u16(port_id);
888 	rte_trace_point_emit_blob(addr->addr_bytes, len);
889 )
890 
891 RTE_TRACE_POINT(
892 	rte_ethdev_trace_uc_hash_table_set,
893 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint8_t on, int ret),
894 	rte_trace_point_emit_u16(port_id);
895 	rte_trace_point_emit_u8(on);
896 	rte_trace_point_emit_int(ret);
897 )
898 
899 RTE_TRACE_POINT(
900 	rte_ethdev_trace_uc_all_hash_table_set,
901 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint8_t on, int ret),
902 	rte_trace_point_emit_u16(port_id);
903 	rte_trace_point_emit_u8(on);
904 	rte_trace_point_emit_int(ret);
905 )
906 
907 RTE_TRACE_POINT(
908 	rte_eth_trace_set_queue_rate_limit,
909 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_idx,
910 		uint16_t tx_rate, int ret),
911 	rte_trace_point_emit_u16(port_id);
912 	rte_trace_point_emit_u16(queue_idx);
913 	rte_trace_point_emit_u16(tx_rate);
914 	rte_trace_point_emit_int(ret);
915 )
916 
917 RTE_TRACE_POINT(
918 	rte_eth_trace_rx_avail_thresh_set,
919 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
920 		uint8_t avail_thresh, int ret),
921 	rte_trace_point_emit_u16(port_id);
922 	rte_trace_point_emit_u16(queue_id);
923 	rte_trace_point_emit_u8(avail_thresh);
924 	rte_trace_point_emit_int(ret);
925 )
926 
927 RTE_TRACE_POINT(
928 	rte_eth_trace_rx_avail_thresh_query,
929 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int ret),
930 	rte_trace_point_emit_u16(port_id);
931 	rte_trace_point_emit_u16(queue_id);
932 	rte_trace_point_emit_int(ret);
933 )
934 
935 RTE_TRACE_POINT(
936 	rte_ethdev_trace_callback_register,
937 	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum rte_eth_event_type event,
938 		rte_eth_dev_cb_fn cb_fn, const void *cb_arg),
939 	rte_trace_point_emit_u16(port_id);
940 	rte_trace_point_emit_int(event);
941 	rte_trace_point_emit_ptr(cb_fn);
942 	rte_trace_point_emit_ptr(cb_arg);
943 )
944 
945 RTE_TRACE_POINT(
946 	rte_ethdev_trace_callback_unregister,
947 	RTE_TRACE_POINT_ARGS(uint16_t port_id, enum rte_eth_event_type event,
948 		rte_eth_dev_cb_fn cb_fn, const void *cb_arg, int ret),
949 	rte_trace_point_emit_u16(port_id);
950 	rte_trace_point_emit_int(event);
951 	rte_trace_point_emit_ptr(cb_fn);
952 	rte_trace_point_emit_ptr(cb_arg);
953 	rte_trace_point_emit_int(ret);
954 )
955 
956 RTE_TRACE_POINT(
957 	rte_ethdev_trace_rx_intr_ctl,
958 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t qid, int epfd, int op,
959 		const void *data, int rc),
960 	rte_trace_point_emit_u16(port_id);
961 	rte_trace_point_emit_u16(qid);
962 	rte_trace_point_emit_int(epfd);
963 	rte_trace_point_emit_int(op);
964 	rte_trace_point_emit_ptr(data);
965 	rte_trace_point_emit_int(rc);
966 )
967 
968 RTE_TRACE_POINT(
969 	rte_ethdev_trace_rx_intr_ctl_q_get_fd,
970 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int fd),
971 	rte_trace_point_emit_u16(port_id);
972 	rte_trace_point_emit_u16(queue_id);
973 	rte_trace_point_emit_int(fd);
974 )
975 
976 RTE_TRACE_POINT(
977 	rte_ethdev_trace_rx_intr_ctl_q,
978 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int epfd,
979 		int op, const void *data, int rc),
980 	rte_trace_point_emit_u16(port_id);
981 	rte_trace_point_emit_u16(queue_id);
982 	rte_trace_point_emit_int(epfd);
983 	rte_trace_point_emit_int(op);
984 	rte_trace_point_emit_ptr(data);
985 	rte_trace_point_emit_int(rc);
986 )
987 
988 RTE_TRACE_POINT(
989 	rte_eth_trace_add_rx_callback,
990 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
991 		rte_rx_callback_fn fn, void *user_param,
992 		const struct rte_eth_rxtx_callback *cb),
993 	rte_trace_point_emit_u16(port_id);
994 	rte_trace_point_emit_u16(queue_id);
995 	rte_trace_point_emit_ptr(fn);
996 	rte_trace_point_emit_ptr(user_param);
997 	rte_trace_point_emit_ptr(cb);
998 )
999 
1000 RTE_TRACE_POINT(
1001 	rte_eth_trace_add_first_rx_callback,
1002 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1003 		rte_rx_callback_fn fn, const void *user_param,
1004 		const struct rte_eth_rxtx_callback *cb),
1005 	rte_trace_point_emit_u16(port_id);
1006 	rte_trace_point_emit_u16(queue_id);
1007 	rte_trace_point_emit_ptr(fn);
1008 	rte_trace_point_emit_ptr(user_param);
1009 	rte_trace_point_emit_ptr(cb);
1010 )
1011 
1012 RTE_TRACE_POINT(
1013 	rte_eth_trace_add_tx_callback,
1014 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1015 		rte_tx_callback_fn fn, const void *user_param,
1016 		const struct rte_eth_rxtx_callback *cb),
1017 	rte_trace_point_emit_u16(port_id);
1018 	rte_trace_point_emit_u16(queue_id);
1019 	rte_trace_point_emit_ptr(fn);
1020 	rte_trace_point_emit_ptr(user_param);
1021 	rte_trace_point_emit_ptr(cb);
1022 )
1023 
1024 RTE_TRACE_POINT(
1025 	rte_eth_trace_remove_rx_callback,
1026 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1027 		const struct rte_eth_rxtx_callback *user_cb, int ret),
1028 	rte_trace_point_emit_u16(port_id);
1029 	rte_trace_point_emit_u16(queue_id);
1030 	rte_trace_point_emit_ptr(user_cb);
1031 	rte_trace_point_emit_int(ret);
1032 )
1033 
1034 RTE_TRACE_POINT(
1035 	rte_eth_trace_remove_tx_callback,
1036 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1037 		const struct rte_eth_rxtx_callback *user_cb, int ret),
1038 	rte_trace_point_emit_u16(port_id);
1039 	rte_trace_point_emit_u16(queue_id);
1040 	rte_trace_point_emit_ptr(user_cb);
1041 	rte_trace_point_emit_int(ret);
1042 )
1043 
1044 RTE_TRACE_POINT(
1045 	rte_eth_trace_rx_queue_info_get,
1046 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1047 		const struct rte_eth_rxq_info *qinfo),
1048 	rte_trace_point_emit_u16(port_id);
1049 	rte_trace_point_emit_u16(queue_id);
1050 	rte_trace_point_emit_ptr(qinfo->mp);
1051 	rte_trace_point_emit_u8(qinfo->conf.rx_drop_en);
1052 	rte_trace_point_emit_u64(qinfo->conf.offloads);
1053 	rte_trace_point_emit_u8(qinfo->scattered_rx);
1054 	rte_trace_point_emit_u8(qinfo->queue_state);
1055 	rte_trace_point_emit_u16(qinfo->nb_desc);
1056 	rte_trace_point_emit_u16(qinfo->rx_buf_size);
1057 )
1058 
1059 RTE_TRACE_POINT(
1060 	rte_eth_trace_tx_queue_info_get,
1061 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1062 		const struct rte_eth_txq_info *qinfo),
1063 	rte_trace_point_emit_u16(port_id);
1064 	rte_trace_point_emit_u16(queue_id);
1065 	rte_trace_point_emit_u16(qinfo->nb_desc);
1066 	rte_trace_point_emit_u8(qinfo->queue_state);
1067 )
1068 
1069 RTE_TRACE_POINT(
1070 	rte_eth_trace_rx_burst_mode_get,
1071 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1072 		const struct rte_eth_burst_mode *mode, int ret),
1073 	rte_trace_point_emit_u16(port_id);
1074 	rte_trace_point_emit_u16(queue_id);
1075 	rte_trace_point_emit_u64(mode->flags);
1076 	rte_trace_point_emit_int(ret);
1077 )
1078 
1079 RTE_TRACE_POINT(
1080 	rte_eth_trace_tx_burst_mode_get,
1081 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1082 		const struct rte_eth_burst_mode *mode, int ret),
1083 	rte_trace_point_emit_u16(port_id);
1084 	rte_trace_point_emit_u16(queue_id);
1085 	rte_trace_point_emit_u64(mode->flags);
1086 	rte_trace_point_emit_int(ret);
1087 )
1088 
1089 RTE_TRACE_POINT(
1090 	rte_eth_trace_get_monitor_addr,
1091 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
1092 		const struct rte_power_monitor_cond *pmc, int ret),
1093 	rte_trace_point_emit_u16(port_id);
1094 	rte_trace_point_emit_u16(queue_id);
1095 	rte_trace_point_emit_ptr(pmc->addr);
1096 	rte_trace_point_emit_u8(pmc->size);
1097 	rte_trace_point_emit_int(ret);
1098 )
1099 
1100 RTE_TRACE_POINT(
1101 	rte_ethdev_trace_set_mc_addr_list,
1102 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1103 		const struct rte_ether_addr *mc_addr_set, uint32_t nb_mc_addr,
1104 		int ret),
1105 	uint8_t len = nb_mc_addr * RTE_ETHER_ADDR_LEN;
1106 
1107 	rte_trace_point_emit_u16(port_id);
1108 	rte_trace_point_emit_u32(nb_mc_addr);
1109 	rte_trace_point_emit_blob(mc_addr_set, len);
1110 	rte_trace_point_emit_int(ret);
1111 )
1112 
1113 RTE_TRACE_POINT(
1114 	rte_eth_trace_timesync_enable,
1115 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
1116 	rte_trace_point_emit_u16(port_id);
1117 	rte_trace_point_emit_int(ret);
1118 )
1119 
1120 RTE_TRACE_POINT(
1121 	rte_eth_trace_timesync_disable,
1122 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
1123 	rte_trace_point_emit_u16(port_id);
1124 	rte_trace_point_emit_int(ret);
1125 )
1126 
1127 RTE_TRACE_POINT(
1128 	rte_eth_trace_timesync_write_time,
1129 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
1130 		int ret),
1131 	rte_trace_point_emit_u16(port_id);
1132 	rte_trace_point_emit_size_t(time->tv_sec);
1133 	rte_trace_point_emit_long(time->tv_nsec);
1134 	rte_trace_point_emit_int(ret);
1135 )
1136 
1137 RTE_TRACE_POINT(
1138 	rte_eth_trace_read_clock,
1139 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const uint64_t *clk, int ret),
1140 	rte_trace_point_emit_u16(port_id);
1141 	rte_trace_point_emit_ptr(clk);
1142 	rte_trace_point_emit_int(ret);
1143 )
1144 
1145 RTE_TRACE_POINT(
1146 	rte_ethdev_trace_get_reg_info,
1147 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1148 		const struct rte_dev_reg_info *info, int ret),
1149 	rte_trace_point_emit_u16(port_id);
1150 	rte_trace_point_emit_ptr(info->data);
1151 	rte_trace_point_emit_u32(info->offset);
1152 	rte_trace_point_emit_u32(info->length);
1153 	rte_trace_point_emit_u32(info->width);
1154 	rte_trace_point_emit_u32(info->version);
1155 	rte_trace_point_emit_ptr(info->names);
1156 	rte_trace_point_emit_ptr(info->filter);
1157 	rte_trace_point_emit_int(ret);
1158 )
1159 
1160 RTE_TRACE_POINT(
1161 	rte_ethdev_trace_get_eeprom_length,
1162 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
1163 	rte_trace_point_emit_u16(port_id);
1164 	rte_trace_point_emit_int(ret);
1165 )
1166 
1167 RTE_TRACE_POINT(
1168 	rte_ethdev_trace_get_eeprom,
1169 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1170 		const struct rte_dev_eeprom_info *info, int ret),
1171 	rte_trace_point_emit_u16(port_id);
1172 	rte_trace_point_emit_ptr(info->data);
1173 	rte_trace_point_emit_u32(info->offset);
1174 	rte_trace_point_emit_u32(info->length);
1175 	rte_trace_point_emit_u32(info->magic);
1176 	rte_trace_point_emit_int(ret);
1177 )
1178 
1179 RTE_TRACE_POINT(
1180 	rte_ethdev_trace_set_eeprom,
1181 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1182 		const struct rte_dev_eeprom_info *info, int ret),
1183 	rte_trace_point_emit_u16(port_id);
1184 	rte_trace_point_emit_ptr(info->data);
1185 	rte_trace_point_emit_u32(info->offset);
1186 	rte_trace_point_emit_u32(info->length);
1187 	rte_trace_point_emit_u32(info->magic);
1188 	rte_trace_point_emit_int(ret);
1189 )
1190 
1191 RTE_TRACE_POINT(
1192 	rte_ethdev_trace_get_module_info,
1193 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1194 		const struct rte_eth_dev_module_info *modinfo, int ret),
1195 	rte_trace_point_emit_u16(port_id);
1196 	rte_trace_point_emit_u32(modinfo->type);
1197 	rte_trace_point_emit_u32(modinfo->eeprom_len);
1198 	rte_trace_point_emit_int(ret);
1199 )
1200 
1201 RTE_TRACE_POINT(
1202 	rte_ethdev_trace_get_module_eeprom,
1203 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1204 		const struct rte_dev_eeprom_info *info, int ret),
1205 	rte_trace_point_emit_u16(port_id);
1206 	rte_trace_point_emit_ptr(info->data);
1207 	rte_trace_point_emit_u32(info->offset);
1208 	rte_trace_point_emit_u32(info->length);
1209 	rte_trace_point_emit_u32(info->magic);
1210 	rte_trace_point_emit_int(ret);
1211 )
1212 
1213 RTE_TRACE_POINT(
1214 	rte_ethdev_trace_get_dcb_info,
1215 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1216 		const struct rte_eth_dcb_info *dcb_info, int ret),
1217 	uint8_t num_user_priorities = RTE_ETH_DCB_NUM_USER_PRIORITIES;
1218 	uint8_t num_tcs = RTE_ETH_DCB_NUM_TCS;
1219 
1220 	rte_trace_point_emit_u16(port_id);
1221 	rte_trace_point_emit_u8(dcb_info->nb_tcs);
1222 	rte_trace_point_emit_blob(dcb_info->prio_tc, num_user_priorities);
1223 	rte_trace_point_emit_blob(dcb_info->tc_bws, num_tcs);
1224 	rte_trace_point_emit_int(ret);
1225 )
1226 
1227 RTE_TRACE_POINT(
1228 	rte_ethdev_trace_adjust_nb_rx_tx_desc,
1229 	RTE_TRACE_POINT_ARGS(uint16_t port_id),
1230 	rte_trace_point_emit_u16(port_id);
1231 )
1232 
1233 RTE_TRACE_POINT(
1234 	rte_ethdev_trace_hairpin_capability_get,
1235 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1236 		const struct rte_eth_hairpin_cap *cap, int ret),
1237 	rte_trace_point_emit_u16(port_id);
1238 	rte_trace_point_emit_u16(cap->max_nb_queues);
1239 	rte_trace_point_emit_u16(cap->max_rx_2_tx);
1240 	rte_trace_point_emit_u16(cap->max_tx_2_rx);
1241 	rte_trace_point_emit_u16(cap->max_nb_desc);
1242 	rte_trace_point_emit_int(ret);
1243 )
1244 
1245 RTE_TRACE_POINT(
1246 	rte_ethdev_trace_pool_ops_supported,
1247 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const char *pool, int ret),
1248 	rte_trace_point_emit_u16(port_id);
1249 	rte_trace_point_emit_string(pool);
1250 	rte_trace_point_emit_int(ret);
1251 )
1252 
1253 RTE_TRACE_POINT(
1254 	rte_eth_trace_representor_info_get,
1255 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1256 		const struct rte_eth_representor_info *info, int ret),
1257 	rte_trace_point_emit_u16(port_id);
1258 	rte_trace_point_emit_ptr(info);
1259 	rte_trace_point_emit_int(ret);
1260 )
1261 
1262 RTE_TRACE_POINT(
1263 	rte_eth_trace_rx_metadata_negotiate,
1264 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint64_t features_val, int ret),
1265 	rte_trace_point_emit_u16(port_id);
1266 	rte_trace_point_emit_u64(features_val);
1267 	rte_trace_point_emit_int(ret);
1268 )
1269 
1270 RTE_TRACE_POINT(
1271 	rte_eth_trace_ip_reassembly_capability_get,
1272 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1273 		const struct rte_eth_ip_reassembly_params *capa, int ret),
1274 	rte_trace_point_emit_u16(port_id);
1275 	rte_trace_point_emit_u32(capa->timeout_ms);
1276 	rte_trace_point_emit_u16(capa->max_frags);
1277 	rte_trace_point_emit_u16(capa->flags);
1278 	rte_trace_point_emit_int(ret);
1279 )
1280 
1281 RTE_TRACE_POINT(
1282 	rte_eth_trace_ip_reassembly_conf_get,
1283 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1284 		const struct rte_eth_ip_reassembly_params *conf, int ret),
1285 	rte_trace_point_emit_u16(port_id);
1286 	rte_trace_point_emit_u32(conf->timeout_ms);
1287 	rte_trace_point_emit_u16(conf->max_frags);
1288 	rte_trace_point_emit_u16(conf->flags);
1289 	rte_trace_point_emit_int(ret);
1290 )
1291 
1292 RTE_TRACE_POINT(
1293 	rte_eth_trace_ip_reassembly_conf_set,
1294 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1295 		const struct rte_eth_ip_reassembly_params *conf, int ret),
1296 	rte_trace_point_emit_u16(port_id);
1297 	rte_trace_point_emit_u32(conf->timeout_ms);
1298 	rte_trace_point_emit_u16(conf->max_frags);
1299 	rte_trace_point_emit_u16(conf->flags);
1300 	rte_trace_point_emit_int(ret);
1301 )
1302 
1303 RTE_TRACE_POINT(
1304 	rte_eth_trace_buffer_split_get_supported_hdr_ptypes,
1305 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int supported_num,
1306 		uint32_t ptypes),
1307 	rte_trace_point_emit_u16(port_id);
1308 	rte_trace_point_emit_int(supported_num);
1309 	rte_trace_point_emit_u32(ptypes);
1310 )
1311 
1312 RTE_TRACE_POINT(
1313 	rte_eth_trace_cman_info_get,
1314 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1315 		const struct rte_eth_cman_info *info, int ret),
1316 	rte_trace_point_emit_u16(port_id);
1317 	rte_trace_point_emit_u64(info->modes_supported);
1318 	rte_trace_point_emit_u64(info->objs_supported);
1319 	rte_trace_point_emit_int(ret);
1320 )
1321 
1322 RTE_TRACE_POINT(
1323 	rte_eth_trace_cman_config_init,
1324 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1325 		const struct rte_eth_cman_config *config, int ret),
1326 	rte_trace_point_emit_u16(port_id);
1327 	rte_trace_point_emit_int(config->obj);
1328 	rte_trace_point_emit_int(config->mode);
1329 	rte_trace_point_emit_int(ret);
1330 )
1331 
1332 RTE_TRACE_POINT(
1333 	rte_eth_trace_cman_config_set,
1334 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1335 		const struct rte_eth_cman_config *config, int ret),
1336 	rte_trace_point_emit_u16(port_id);
1337 	rte_trace_point_emit_int(config->obj);
1338 	rte_trace_point_emit_int(config->mode);
1339 	rte_trace_point_emit_int(ret);
1340 )
1341 
1342 RTE_TRACE_POINT(
1343 	rte_eth_trace_cman_config_get,
1344 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1345 		const struct rte_eth_cman_config *config, int ret),
1346 	rte_trace_point_emit_u16(port_id);
1347 	rte_trace_point_emit_int(config->obj);
1348 	rte_trace_point_emit_int(config->mode);
1349 	rte_trace_point_emit_int(ret);
1350 )
1351 
1352 RTE_TRACE_POINT(
1353 	rte_eth_trace_count_aggr_ports,
1354 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
1355 	rte_trace_point_emit_u16(port_id);
1356 	rte_trace_point_emit_int(ret);
1357 )
1358 
1359 RTE_TRACE_POINT(
1360 	rte_eth_trace_map_aggr_tx_affinity,
1361 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id,
1362 			     uint8_t affinity, int ret),
1363 	rte_trace_point_emit_u16(port_id);
1364 	rte_trace_point_emit_u16(tx_queue_id);
1365 	rte_trace_point_emit_u8(affinity);
1366 	rte_trace_point_emit_int(ret);
1367 )
1368 
1369 RTE_TRACE_POINT(
1370 	rte_flow_trace_dynf_metadata_register,
1371 	RTE_TRACE_POINT_ARGS(int offset, uint64_t flag),
1372 	rte_trace_point_emit_int(offset);
1373 	rte_trace_point_emit_u64(flag);
1374 )
1375 
1376 RTE_TRACE_POINT(
1377 	rte_flow_trace_validate,
1378 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1379 		const struct rte_flow_attr *attr,
1380 		const struct rte_flow_item *pattern,
1381 		const struct rte_flow_action *actions, int ret),
1382 	rte_trace_point_emit_u16(port_id);
1383 	rte_trace_point_emit_ptr(attr);
1384 	rte_trace_point_emit_ptr(pattern);
1385 	rte_trace_point_emit_ptr(actions);
1386 	rte_trace_point_emit_int(ret);
1387 )
1388 
1389 RTE_TRACE_POINT(
1390 	rte_flow_trace_flush,
1391 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret),
1392 	rte_trace_point_emit_u16(port_id);
1393 	rte_trace_point_emit_int(ret);
1394 )
1395 
1396 RTE_TRACE_POINT(
1397 	rte_flow_trace_conv,
1398 	RTE_TRACE_POINT_ARGS(enum rte_flow_conv_op op, const void *dst,
1399 		size_t size, const void *src, int ret),
1400 	rte_trace_point_emit_int(op);
1401 	rte_trace_point_emit_ptr(dst);
1402 	rte_trace_point_emit_size_t(size);
1403 	rte_trace_point_emit_ptr(src);
1404 	rte_trace_point_emit_int(ret);
1405 )
1406 
1407 RTE_TRACE_POINT(
1408 	rte_flow_trace_copy,
1409 	RTE_TRACE_POINT_ARGS(struct rte_flow_desc *fd, size_t len,
1410 		const struct rte_flow_attr *attr,
1411 		const struct rte_flow_item *items,
1412 		const struct rte_flow_action *actions, int ret),
1413 	rte_trace_point_emit_ptr(fd);
1414 	rte_trace_point_emit_size_t(len);
1415 	rte_trace_point_emit_u32(attr->group);
1416 	rte_trace_point_emit_u32(attr->priority);
1417 	rte_trace_point_emit_ptr(items);
1418 	rte_trace_point_emit_ptr(actions);
1419 	rte_trace_point_emit_int(ret);
1420 )
1421 
1422 RTE_TRACE_POINT(
1423 	rte_flow_trace_tunnel_decap_set,
1424 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1425 		const struct rte_flow_tunnel *tunnel,
1426 		struct rte_flow_action **actions,
1427 		const uint32_t *num_of_actions, int ret),
1428 	rte_trace_point_emit_u16(port_id);
1429 	rte_trace_point_emit_ptr(tunnel);
1430 	rte_trace_point_emit_ptr(actions);
1431 	rte_trace_point_emit_ptr(num_of_actions);
1432 	rte_trace_point_emit_int(ret);
1433 )
1434 
1435 RTE_TRACE_POINT(
1436 	rte_flow_trace_tunnel_match,
1437 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1438 		const struct rte_flow_tunnel *tunnel,
1439 		struct rte_flow_item **items,
1440 		const uint32_t *num_of_items, int ret),
1441 	rte_trace_point_emit_u16(port_id);
1442 	rte_trace_point_emit_ptr(tunnel);
1443 	rte_trace_point_emit_ptr(items);
1444 	rte_trace_point_emit_ptr(num_of_items);
1445 	rte_trace_point_emit_int(ret);
1446 )
1447 
1448 RTE_TRACE_POINT(
1449 	rte_flow_trace_tunnel_action_decap_release,
1450 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1451 		const struct rte_flow_action *actions, uint32_t num_of_actions,
1452 		int ret),
1453 	rte_trace_point_emit_u16(port_id);
1454 	rte_trace_point_emit_ptr(actions);
1455 	rte_trace_point_emit_u32(num_of_actions);
1456 	rte_trace_point_emit_int(ret);
1457 )
1458 
1459 RTE_TRACE_POINT(
1460 	rte_flow_trace_tunnel_item_release,
1461 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1462 		const struct rte_flow_item *items, uint32_t num_of_items,
1463 		int ret),
1464 	rte_trace_point_emit_u16(port_id);
1465 	rte_trace_point_emit_ptr(items);
1466 	rte_trace_point_emit_u32(num_of_items);
1467 	rte_trace_point_emit_int(ret);
1468 )
1469 
1470 RTE_TRACE_POINT(
1471 	rte_flow_trace_flex_item_create,
1472 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1473 		const struct rte_flow_item_flex_conf *conf,
1474 		const struct rte_flow_item_flex_handle *handle),
1475 	rte_trace_point_emit_u16(port_id);
1476 	rte_trace_point_emit_ptr(conf);
1477 	rte_trace_point_emit_ptr(handle);
1478 )
1479 
1480 RTE_TRACE_POINT(
1481 	rte_flow_trace_flex_item_release,
1482 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1483 		const struct rte_flow_item_flex_handle *handle, int ret),
1484 	rte_trace_point_emit_u16(port_id);
1485 	rte_trace_point_emit_ptr(handle);
1486 	rte_trace_point_emit_int(ret);
1487 )
1488 
1489 RTE_TRACE_POINT(
1490 	rte_flow_trace_info_get,
1491 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1492 		const struct rte_flow_port_info *port_info,
1493 		const struct rte_flow_queue_info *queue_info, int ret),
1494 	rte_trace_point_emit_u16(port_id);
1495 	rte_trace_point_emit_u32(port_info->max_nb_queues);
1496 	rte_trace_point_emit_u32(port_info->max_nb_counters);
1497 	rte_trace_point_emit_u32(port_info->max_nb_aging_objects);
1498 	rte_trace_point_emit_u32(port_info->max_nb_meters);
1499 	rte_trace_point_emit_u32(port_info->max_nb_conn_tracks);
1500 	rte_trace_point_emit_u32(port_info->supported_flags);
1501 	rte_trace_point_emit_ptr(queue_info);
1502 	rte_trace_point_emit_int(ret);
1503 )
1504 
1505 RTE_TRACE_POINT(
1506 	rte_flow_trace_configure,
1507 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1508 		const struct rte_flow_port_attr *port_attr,
1509 		uint16_t nb_queue,
1510 		const struct rte_flow_queue_attr **queue_attr, int ret),
1511 	rte_trace_point_emit_u16(port_id);
1512 	rte_trace_point_emit_u32(port_attr->nb_counters);
1513 	rte_trace_point_emit_u32(port_attr->nb_aging_objects);
1514 	rte_trace_point_emit_u32(port_attr->nb_meters);
1515 	rte_trace_point_emit_u32(port_attr->nb_conn_tracks);
1516 	rte_trace_point_emit_u32(port_attr->flags);
1517 	rte_trace_point_emit_u16(nb_queue);
1518 	rte_trace_point_emit_ptr(queue_attr);
1519 	rte_trace_point_emit_int(ret);
1520 )
1521 
1522 RTE_TRACE_POINT(
1523 	rte_flow_trace_pattern_template_create,
1524 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1525 		const struct rte_flow_pattern_template_attr *template_attr,
1526 		const struct rte_flow_item *pattern, const void *tmplate),
1527 	rte_trace_point_emit_u16(port_id);
1528 	rte_trace_point_emit_ptr(template_attr);
1529 	rte_trace_point_emit_ptr(pattern);
1530 	rte_trace_point_emit_ptr(tmplate);
1531 )
1532 
1533 RTE_TRACE_POINT(
1534 	rte_flow_trace_pattern_template_destroy,
1535 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1536 		const struct rte_flow_pattern_template *pattern_template,
1537 		int ret),
1538 	rte_trace_point_emit_u16(port_id);
1539 	rte_trace_point_emit_ptr(pattern_template);
1540 	rte_trace_point_emit_int(ret);
1541 )
1542 
1543 RTE_TRACE_POINT(
1544 	rte_flow_trace_actions_template_create,
1545 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1546 		const struct rte_flow_actions_template_attr *template_attr,
1547 		const struct rte_flow_action *actions,
1548 		const struct rte_flow_action *masks, const void *tmplate),
1549 	rte_trace_point_emit_u16(port_id);
1550 	rte_trace_point_emit_ptr(template_attr);
1551 	rte_trace_point_emit_ptr(actions);
1552 	rte_trace_point_emit_ptr(masks);
1553 	rte_trace_point_emit_ptr(tmplate);
1554 )
1555 
1556 RTE_TRACE_POINT(
1557 	rte_flow_trace_actions_template_destroy,
1558 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1559 		const struct rte_flow_actions_template *actions_template,
1560 		int ret),
1561 	rte_trace_point_emit_u16(port_id);
1562 	rte_trace_point_emit_ptr(actions_template);
1563 	rte_trace_point_emit_int(ret);
1564 )
1565 
1566 RTE_TRACE_POINT(
1567 	rte_flow_trace_template_table_create,
1568 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1569 		const struct rte_flow_template_table_attr *table_attr,
1570 		struct rte_flow_pattern_template **pattern_templates,
1571 		uint8_t nb_pattern_templates,
1572 		struct rte_flow_actions_template **actions_templates,
1573 		uint8_t nb_actions_templates,
1574 		const struct rte_flow_template_table *table),
1575 	rte_trace_point_emit_u16(port_id);
1576 	rte_trace_point_emit_u32(table_attr->nb_flows);
1577 	rte_trace_point_emit_u32(table_attr->flow_attr.group);
1578 	rte_trace_point_emit_u32(table_attr->flow_attr.priority);
1579 	rte_trace_point_emit_ptr(pattern_templates);
1580 	rte_trace_point_emit_u8(nb_pattern_templates);
1581 	rte_trace_point_emit_ptr(actions_templates);
1582 	rte_trace_point_emit_u8(nb_actions_templates);
1583 	rte_trace_point_emit_ptr(table);
1584 )
1585 
1586 RTE_TRACE_POINT(
1587 	rte_flow_trace_template_table_destroy,
1588 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1589 		const struct rte_flow_template_table *template_table, int ret),
1590 	rte_trace_point_emit_u16(port_id);
1591 	rte_trace_point_emit_ptr(template_table);
1592 	rte_trace_point_emit_int(ret);
1593 )
1594 
1595 RTE_TRACE_POINT(
1596 	rte_mtr_trace_capabilities_get,
1597 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1598 		const struct rte_mtr_capabilities *cap, int ret),
1599 	rte_trace_point_emit_u16(port_id);
1600 	rte_trace_point_emit_ptr(cap);
1601 	rte_trace_point_emit_int(ret);
1602 )
1603 
1604 RTE_TRACE_POINT(
1605 	rte_mtr_trace_meter_profile_add,
1606 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1607 		uint32_t meter_profile_id,
1608 		const struct rte_mtr_meter_profile *profile, int ret),
1609 	rte_trace_point_emit_u16(port_id);
1610 	rte_trace_point_emit_u32(meter_profile_id);
1611 	rte_trace_point_emit_ptr(profile);
1612 	rte_trace_point_emit_int(ret);
1613 )
1614 
1615 RTE_TRACE_POINT(
1616 	rte_mtr_trace_meter_profile_delete,
1617 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1618 		uint32_t meter_profile_id, int ret),
1619 	rte_trace_point_emit_u16(port_id);
1620 	rte_trace_point_emit_u32(meter_profile_id);
1621 	rte_trace_point_emit_int(ret);
1622 )
1623 
1624 RTE_TRACE_POINT(
1625 	rte_mtr_trace_meter_profile_get,
1626 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1627 		uint32_t meter_profile_id, const void *ret),
1628 	rte_trace_point_emit_u16(port_id);
1629 	rte_trace_point_emit_u32(meter_profile_id);
1630 	rte_trace_point_emit_ptr(ret);
1631 )
1632 
1633 RTE_TRACE_POINT(
1634 	rte_mtr_trace_meter_policy_validate,
1635 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1636 		const struct rte_mtr_meter_policy_params *policy, int ret),
1637 	rte_trace_point_emit_u16(port_id);
1638 	rte_trace_point_emit_ptr(policy);
1639 	rte_trace_point_emit_int(ret);
1640 )
1641 
1642 RTE_TRACE_POINT(
1643 	rte_mtr_trace_meter_policy_add,
1644 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t policy_id,
1645 		const struct rte_mtr_meter_policy_params *policy, int ret),
1646 	rte_trace_point_emit_u16(port_id);
1647 	rte_trace_point_emit_u32(policy_id);
1648 	rte_trace_point_emit_ptr(policy);
1649 	rte_trace_point_emit_int(ret);
1650 )
1651 
1652 RTE_TRACE_POINT(
1653 	rte_mtr_trace_meter_policy_get,
1654 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t policy_id,
1655 		const void *ret),
1656 	rte_trace_point_emit_u16(port_id);
1657 	rte_trace_point_emit_u32(policy_id);
1658 	rte_trace_point_emit_ptr(ret);
1659 )
1660 
1661 RTE_TRACE_POINT(
1662 	rte_mtr_trace_meter_enable,
1663 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id, int ret),
1664 	rte_trace_point_emit_u16(port_id);
1665 	rte_trace_point_emit_u32(mtr_id);
1666 	rte_trace_point_emit_int(ret);
1667 )
1668 
1669 RTE_TRACE_POINT(
1670 	rte_mtr_trace_meter_disable,
1671 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id, int ret),
1672 	rte_trace_point_emit_u16(port_id);
1673 	rte_trace_point_emit_u32(mtr_id);
1674 	rte_trace_point_emit_int(ret);
1675 )
1676 
1677 RTE_TRACE_POINT(
1678 	rte_mtr_trace_meter_profile_update,
1679 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1680 		uint32_t meter_profile_id, int ret),
1681 	rte_trace_point_emit_u16(port_id);
1682 	rte_trace_point_emit_u32(mtr_id);
1683 	rte_trace_point_emit_u32(meter_profile_id);
1684 	rte_trace_point_emit_int(ret);
1685 )
1686 
1687 RTE_TRACE_POINT(
1688 	rte_mtr_trace_meter_policy_update,
1689 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1690 		uint32_t meter_policy_id, int ret),
1691 	rte_trace_point_emit_u16(port_id);
1692 	rte_trace_point_emit_u32(mtr_id);
1693 	rte_trace_point_emit_u32(meter_policy_id);
1694 	rte_trace_point_emit_int(ret);
1695 )
1696 
1697 RTE_TRACE_POINT(
1698 	rte_mtr_trace_meter_dscp_table_update,
1699 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1700 		enum rte_color *dscp_table, int ret),
1701 	rte_trace_point_emit_u16(port_id);
1702 	rte_trace_point_emit_u32(mtr_id);
1703 	rte_trace_point_emit_ptr(dscp_table);
1704 	rte_trace_point_emit_int(ret);
1705 )
1706 
1707 RTE_TRACE_POINT(
1708 	rte_mtr_trace_meter_vlan_table_update,
1709 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1710 		const enum rte_color *vlan_table, int ret),
1711 	rte_trace_point_emit_u16(port_id);
1712 	rte_trace_point_emit_u32(mtr_id);
1713 	rte_trace_point_emit_ptr(vlan_table);
1714 	rte_trace_point_emit_int(ret);
1715 )
1716 
1717 RTE_TRACE_POINT(
1718 	rte_mtr_trace_color_in_protocol_set,
1719 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1720 		enum rte_mtr_color_in_protocol proto, uint32_t priority,
1721 		int ret),
1722 	rte_trace_point_emit_u16(port_id);
1723 	rte_trace_point_emit_u32(mtr_id);
1724 	rte_trace_point_emit_int(proto);
1725 	rte_trace_point_emit_u32(priority);
1726 	rte_trace_point_emit_int(ret);
1727 )
1728 
1729 RTE_TRACE_POINT(
1730 	rte_mtr_trace_color_in_protocol_get,
1731 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id, int ret),
1732 	rte_trace_point_emit_u16(port_id);
1733 	rte_trace_point_emit_u32(mtr_id);
1734 	rte_trace_point_emit_int(ret);
1735 )
1736 
1737 RTE_TRACE_POINT(
1738 	rte_mtr_trace_color_in_protocol_priority_get,
1739 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1740 		enum rte_mtr_color_in_protocol proto, int ret),
1741 	rte_trace_point_emit_u16(port_id);
1742 	rte_trace_point_emit_u32(mtr_id);
1743 	rte_trace_point_emit_int(proto);
1744 	rte_trace_point_emit_int(ret);
1745 )
1746 
1747 RTE_TRACE_POINT(
1748 	rte_mtr_trace_stats_update,
1749 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1750 		uint64_t stats_mask, int ret),
1751 	rte_trace_point_emit_u16(port_id);
1752 	rte_trace_point_emit_u32(mtr_id);
1753 	rte_trace_point_emit_u64(stats_mask);
1754 	rte_trace_point_emit_int(ret);
1755 )
1756 
1757 RTE_TRACE_POINT(
1758 	rte_mtr_trace_stats_read,
1759 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
1760 		const struct rte_mtr_stats *stats, uint64_t stats_mask,
1761 		int clear, int ret),
1762 	rte_trace_point_emit_u16(port_id);
1763 	rte_trace_point_emit_u32(mtr_id);
1764 	rte_trace_point_emit_ptr(stats);
1765 	rte_trace_point_emit_u64(stats_mask);
1766 	rte_trace_point_emit_int(clear);
1767 	rte_trace_point_emit_int(ret);
1768 )
1769 
1770 RTE_TRACE_POINT(
1771 	rte_tm_trace_get_number_of_leaf_nodes,
1772 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t n_leaf_nodes),
1773 	rte_trace_point_emit_u16(port_id);
1774 	rte_trace_point_emit_u32(n_leaf_nodes);
1775 )
1776 
1777 RTE_TRACE_POINT(
1778 	rte_tm_trace_node_type_get,
1779 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int is_leaf,
1780 		int ret),
1781 	rte_trace_point_emit_u16(port_id);
1782 	rte_trace_point_emit_u32(node_id);
1783 	rte_trace_point_emit_int(is_leaf);
1784 	rte_trace_point_emit_int(ret);
1785 )
1786 
1787 RTE_TRACE_POINT(
1788 	rte_tm_trace_capabilities_get,
1789 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
1790 		const struct rte_tm_capabilities *cap, int ret),
1791 	rte_trace_point_emit_u16(port_id);
1792 	rte_trace_point_emit_ptr(cap);
1793 	rte_trace_point_emit_int(ret);
1794 )
1795 
1796 RTE_TRACE_POINT(
1797 	rte_tm_trace_level_capabilities_get,
1798 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t level_id,
1799 		const struct rte_tm_level_capabilities *cap, int ret),
1800 	rte_trace_point_emit_u16(port_id);
1801 	rte_trace_point_emit_u32(level_id);
1802 	rte_trace_point_emit_ptr(cap);
1803 	rte_trace_point_emit_int(ret);
1804 )
1805 
1806 RTE_TRACE_POINT(
1807 	rte_tm_trace_node_capabilities_get,
1808 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1809 		const struct rte_tm_node_capabilities *cap, int ret),
1810 	rte_trace_point_emit_u16(port_id);
1811 	rte_trace_point_emit_u32(node_id);
1812 	rte_trace_point_emit_ptr(cap);
1813 	rte_trace_point_emit_int(ret);
1814 )
1815 
1816 RTE_TRACE_POINT(
1817 	rte_tm_trace_wred_profile_add,
1818 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id,
1819 		const struct rte_tm_wred_params *profile, int ret),
1820 	rte_trace_point_emit_u16(port_id);
1821 	rte_trace_point_emit_u32(wred_profile_id);
1822 	rte_trace_point_emit_ptr(profile);
1823 	rte_trace_point_emit_int(ret);
1824 )
1825 
1826 RTE_TRACE_POINT(
1827 	rte_tm_trace_wred_profile_delete,
1828 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t wred_profile_id,
1829 		int ret),
1830 	rte_trace_point_emit_u16(port_id);
1831 	rte_trace_point_emit_u32(wred_profile_id);
1832 	rte_trace_point_emit_int(ret);
1833 )
1834 
1835 RTE_TRACE_POINT(
1836 	rte_tm_trace_shared_wred_context_add_update,
1837 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_wred_context_id,
1838 		uint32_t wred_profile_id, int ret),
1839 	rte_trace_point_emit_u16(port_id);
1840 	rte_trace_point_emit_u32(shared_wred_context_id);
1841 	rte_trace_point_emit_u32(wred_profile_id);
1842 	rte_trace_point_emit_int(ret);
1843 )
1844 
1845 RTE_TRACE_POINT(
1846 	rte_tm_trace_shared_wred_context_delete,
1847 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_wred_context_id,
1848 		int ret),
1849 	rte_trace_point_emit_u16(port_id);
1850 	rte_trace_point_emit_u32(shared_wred_context_id);
1851 	rte_trace_point_emit_int(ret);
1852 )
1853 
1854 RTE_TRACE_POINT(
1855 	rte_tm_trace_shaper_profile_add,
1856 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shaper_profile_id,
1857 		const struct rte_tm_shaper_params *profile, int ret),
1858 	rte_trace_point_emit_u16(port_id);
1859 	rte_trace_point_emit_u32(shaper_profile_id);
1860 	rte_trace_point_emit_ptr(profile);
1861 	rte_trace_point_emit_int(ret);
1862 )
1863 
1864 RTE_TRACE_POINT(
1865 	rte_tm_trace_shaper_profile_delete,
1866 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shaper_profile_id,
1867 		int ret),
1868 	rte_trace_point_emit_u16(port_id);
1869 	rte_trace_point_emit_u32(shaper_profile_id);
1870 	rte_trace_point_emit_int(ret);
1871 )
1872 
1873 RTE_TRACE_POINT(
1874 	rte_tm_trace_shared_shaper_add_update,
1875 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_shaper_id,
1876 		uint32_t shaper_profile_id, int ret),
1877 	rte_trace_point_emit_u16(port_id);
1878 	rte_trace_point_emit_u32(shared_shaper_id);
1879 	rte_trace_point_emit_u32(shaper_profile_id);
1880 	rte_trace_point_emit_int(ret);
1881 )
1882 
1883 RTE_TRACE_POINT(
1884 	rte_tm_trace_shared_shaper_delete,
1885 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t shared_shaper_id,
1886 		int ret),
1887 	rte_trace_point_emit_u16(port_id);
1888 	rte_trace_point_emit_u32(shared_shaper_id);
1889 	rte_trace_point_emit_int(ret);
1890 )
1891 
1892 RTE_TRACE_POINT(
1893 	rte_tm_trace_node_add,
1894 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1895 		uint32_t parent_node_id, uint32_t priority,
1896 		uint32_t weight, uint32_t level_id,
1897 		const struct rte_tm_node_params *params, int ret),
1898 	rte_trace_point_emit_u16(port_id);
1899 	rte_trace_point_emit_u32(node_id);
1900 	rte_trace_point_emit_u32(parent_node_id);
1901 	rte_trace_point_emit_u32(priority);
1902 	rte_trace_point_emit_u32(weight);
1903 	rte_trace_point_emit_u32(level_id);
1904 	rte_trace_point_emit_ptr(params);
1905 	rte_trace_point_emit_int(ret);
1906 )
1907 
1908 RTE_TRACE_POINT(
1909 	rte_tm_trace_node_query,
1910 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1911 		uint32_t *parent_node_id, uint32_t *priority,
1912 		uint32_t *weight, uint32_t *level_id,
1913 		struct rte_tm_node_params *params, int ret),
1914 	rte_trace_point_emit_u16(port_id);
1915 	rte_trace_point_emit_u32(node_id);
1916 	rte_trace_point_emit_ptr(parent_node_id);
1917 	rte_trace_point_emit_ptr(priority);
1918 	rte_trace_point_emit_ptr(weight);
1919 	rte_trace_point_emit_ptr(level_id);
1920 	rte_trace_point_emit_ptr(params);
1921 	rte_trace_point_emit_int(ret);
1922 )
1923 
1924 RTE_TRACE_POINT(
1925 	rte_tm_trace_node_delete,
1926 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
1927 	rte_trace_point_emit_u16(port_id);
1928 	rte_trace_point_emit_u32(node_id);
1929 	rte_trace_point_emit_int(ret);
1930 )
1931 
1932 RTE_TRACE_POINT(
1933 	rte_tm_trace_node_suspend,
1934 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
1935 	rte_trace_point_emit_u16(port_id);
1936 	rte_trace_point_emit_u32(node_id);
1937 	rte_trace_point_emit_int(ret);
1938 )
1939 
1940 RTE_TRACE_POINT(
1941 	rte_tm_trace_node_resume,
1942 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id, int ret),
1943 	rte_trace_point_emit_u16(port_id);
1944 	rte_trace_point_emit_u32(node_id);
1945 	rte_trace_point_emit_int(ret);
1946 )
1947 
1948 RTE_TRACE_POINT(
1949 	rte_tm_trace_hierarchy_commit,
1950 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int clear_on_fail, int ret),
1951 	rte_trace_point_emit_u16(port_id);
1952 	rte_trace_point_emit_int(clear_on_fail);
1953 	rte_trace_point_emit_int(ret);
1954 )
1955 
1956 RTE_TRACE_POINT(
1957 	rte_tm_trace_node_parent_update,
1958 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1959 		uint32_t parent_node_id, uint32_t priority,
1960 		uint32_t weight, int ret),
1961 	rte_trace_point_emit_u16(port_id);
1962 	rte_trace_point_emit_u32(node_id);
1963 	rte_trace_point_emit_u32(parent_node_id);
1964 	rte_trace_point_emit_u32(priority);
1965 	rte_trace_point_emit_u32(weight);
1966 	rte_trace_point_emit_int(ret);
1967 )
1968 
1969 RTE_TRACE_POINT(
1970 	rte_tm_trace_node_shaper_update,
1971 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1972 		uint32_t shaper_profile_id, int ret),
1973 	rte_trace_point_emit_u16(port_id);
1974 	rte_trace_point_emit_u32(node_id);
1975 	rte_trace_point_emit_u32(shaper_profile_id);
1976 	rte_trace_point_emit_int(ret);
1977 )
1978 
1979 RTE_TRACE_POINT(
1980 	rte_tm_trace_node_shared_shaper_update,
1981 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1982 		uint32_t shared_shaper_id, int add, int ret),
1983 	rte_trace_point_emit_u16(port_id);
1984 	rte_trace_point_emit_u32(node_id);
1985 	rte_trace_point_emit_u32(shared_shaper_id);
1986 	rte_trace_point_emit_int(add);
1987 	rte_trace_point_emit_int(ret);
1988 )
1989 
1990 RTE_TRACE_POINT(
1991 	rte_tm_trace_node_stats_update,
1992 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
1993 		uint64_t stats_mask, int ret),
1994 	rte_trace_point_emit_u16(port_id);
1995 	rte_trace_point_emit_u32(node_id);
1996 	rte_trace_point_emit_u64(stats_mask);
1997 	rte_trace_point_emit_int(ret);
1998 )
1999 
2000 RTE_TRACE_POINT(
2001 	rte_tm_trace_node_wfq_weight_mode_update,
2002 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
2003 		const int *wfq_weight_mode, uint32_t n_sp_priorities,
2004 		int ret),
2005 	rte_trace_point_emit_u16(port_id);
2006 	rte_trace_point_emit_u32(node_id);
2007 	rte_trace_point_emit_ptr(wfq_weight_mode);
2008 	rte_trace_point_emit_u32(n_sp_priorities);
2009 	rte_trace_point_emit_int(ret);
2010 )
2011 
2012 RTE_TRACE_POINT(
2013 	rte_tm_trace_node_cman_update,
2014 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
2015 		enum rte_tm_cman_mode cman, int ret),
2016 	rte_trace_point_emit_u16(port_id);
2017 	rte_trace_point_emit_u32(node_id);
2018 	rte_trace_point_emit_int(cman);
2019 	rte_trace_point_emit_int(ret);
2020 )
2021 
2022 RTE_TRACE_POINT(
2023 	rte_tm_trace_node_wred_context_update,
2024 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
2025 		uint32_t wred_profile_id, int ret),
2026 	rte_trace_point_emit_u16(port_id);
2027 	rte_trace_point_emit_u32(node_id);
2028 	rte_trace_point_emit_u32(wred_profile_id);
2029 	rte_trace_point_emit_int(ret);
2030 )
2031 
2032 RTE_TRACE_POINT(
2033 	rte_tm_trace_node_shared_wred_context_update,
2034 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
2035 		uint32_t shared_wred_context_id, int add, int ret),
2036 	rte_trace_point_emit_u16(port_id);
2037 	rte_trace_point_emit_u32(node_id);
2038 	rte_trace_point_emit_u32(shared_wred_context_id);
2039 	rte_trace_point_emit_int(add);
2040 	rte_trace_point_emit_int(ret);
2041 )
2042 
2043 RTE_TRACE_POINT(
2044 	rte_tm_trace_node_stats_read,
2045 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t node_id,
2046 		const struct rte_tm_node_stats *stats,
2047 		uint64_t stats_mask, int clear, int ret),
2048 	rte_trace_point_emit_u16(port_id);
2049 	rte_trace_point_emit_u32(node_id);
2050 	rte_trace_point_emit_ptr(stats);
2051 	rte_trace_point_emit_u64(stats_mask);
2052 	rte_trace_point_emit_int(clear);
2053 	rte_trace_point_emit_int(ret);
2054 )
2055 
2056 RTE_TRACE_POINT(
2057 	rte_tm_trace_mark_vlan_dei,
2058 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
2059 		int mark_yellow, int mark_red, int ret),
2060 	rte_trace_point_emit_u16(port_id);
2061 	rte_trace_point_emit_int(mark_green);
2062 	rte_trace_point_emit_int(mark_yellow);
2063 	rte_trace_point_emit_int(mark_red);
2064 	rte_trace_point_emit_int(ret);
2065 )
2066 
2067 RTE_TRACE_POINT(
2068 	rte_tm_trace_mark_ip_ecn,
2069 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
2070 		int mark_yellow, int mark_red, int ret),
2071 	rte_trace_point_emit_u16(port_id);
2072 	rte_trace_point_emit_int(mark_green);
2073 	rte_trace_point_emit_int(mark_yellow);
2074 	rte_trace_point_emit_int(mark_red);
2075 	rte_trace_point_emit_int(ret);
2076 )
2077 
2078 RTE_TRACE_POINT(
2079 	rte_tm_trace_mark_ip_dscp,
2080 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int mark_green,
2081 		int mark_yellow, int mark_red, int ret),
2082 	rte_trace_point_emit_u16(port_id);
2083 	rte_trace_point_emit_int(mark_green);
2084 	rte_trace_point_emit_int(mark_yellow);
2085 	rte_trace_point_emit_int(mark_red);
2086 	rte_trace_point_emit_int(ret);
2087 )
2088 
2089 /* Fast path trace points */
2090 
2091 /* Called in loop in examples/qos_sched and examples/distributor */
2092 RTE_TRACE_POINT_FP(
2093 	rte_eth_trace_stats_get,
2094 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2095 		const struct rte_eth_stats *stats, int ret),
2096 	rte_trace_point_emit_u16(port_id);
2097 	rte_trace_point_emit_u64(stats->rx_nombuf);
2098 	rte_trace_point_emit_u64(stats->ipackets);
2099 	rte_trace_point_emit_u64(stats->opackets);
2100 	rte_trace_point_emit_u64(stats->ibytes);
2101 	rte_trace_point_emit_u64(stats->obytes);
2102 	rte_trace_point_emit_u64(stats->imissed);
2103 	rte_trace_point_emit_u64(stats->ierrors);
2104 	rte_trace_point_emit_u64(stats->oerrors);
2105 	rte_trace_point_emit_int(ret);
2106 )
2107 
2108 /* Called in loop in examples/ip_pipeline */
2109 RTE_TRACE_POINT_FP(
2110 	rte_eth_trace_link_get,
2111 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_eth_link *link),
2112 	rte_trace_point_emit_u16(port_id);
2113 	rte_trace_point_emit_u32(link->link_speed);
2114 )
2115 
2116 /* Called in loop in examples/ip_pipeline */
2117 RTE_TRACE_POINT_FP(
2118 	rte_eth_trace_link_speed_to_str,
2119 	RTE_TRACE_POINT_ARGS(uint32_t link_speed, const char *ret),
2120 	rte_trace_point_emit_u32(link_speed);
2121 	rte_trace_point_emit_string(ret);
2122 )
2123 
2124 /* Called in loop in examples/bond and examples/ethtool */
2125 RTE_TRACE_POINT_FP(
2126 	rte_eth_trace_macaddr_get,
2127 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2128 		const struct rte_ether_addr *mac_addr),
2129 	uint8_t len = RTE_ETHER_ADDR_LEN;
2130 
2131 	rte_trace_point_emit_u16(port_id);
2132 	rte_trace_point_emit_blob(mac_addr->addr_bytes, len);
2133 )
2134 
2135 /* Called in loop in examples/ip_pipeline */
2136 RTE_TRACE_POINT_FP(
2137 	rte_ethdev_trace_get_mtu,
2138 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t mtu),
2139 	rte_trace_point_emit_u16(port_id);
2140 	rte_trace_point_emit_u16(mtu);
2141 )
2142 
2143 /* Called in loop in examples/l3fwd-power */
2144 RTE_TRACE_POINT_FP(
2145 	rte_ethdev_trace_rx_intr_enable,
2146 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int ret),
2147 	rte_trace_point_emit_u16(port_id);
2148 	rte_trace_point_emit_u16(queue_id);
2149 	rte_trace_point_emit_int(ret);
2150 )
2151 
2152 /* Called in loop in examples/l3fwd-power */
2153 RTE_TRACE_POINT_FP(
2154 	rte_ethdev_trace_rx_intr_disable,
2155 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id, int ret),
2156 	rte_trace_point_emit_u16(port_id);
2157 	rte_trace_point_emit_u16(queue_id);
2158 	rte_trace_point_emit_int(ret);
2159 )
2160 
2161 /* Called in loop in examples/ptpclient */
2162 RTE_TRACE_POINT_FP(
2163 	rte_eth_trace_timesync_read_rx_timestamp,
2164 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
2165 		uint32_t flags, int ret),
2166 	rte_trace_point_emit_u16(port_id);
2167 	rte_trace_point_emit_size_t(timestamp->tv_sec);
2168 	rte_trace_point_emit_long(timestamp->tv_nsec);
2169 	rte_trace_point_emit_u32(flags);
2170 	rte_trace_point_emit_int(ret);
2171 )
2172 
2173 /* Called in loop in examples/ptpclient */
2174 RTE_TRACE_POINT_FP(
2175 	rte_eth_trace_timesync_read_tx_timestamp,
2176 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
2177 		int ret),
2178 	rte_trace_point_emit_u16(port_id);
2179 	rte_trace_point_emit_size_t(timestamp->tv_sec);
2180 	rte_trace_point_emit_long(timestamp->tv_nsec);
2181 	rte_trace_point_emit_int(ret);
2182 )
2183 
2184 /* Called in loop in examples/ptpclient */
2185 RTE_TRACE_POINT_FP(
2186 	rte_eth_trace_timesync_read_time,
2187 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
2188 		int ret),
2189 	rte_trace_point_emit_u16(port_id);
2190 	rte_trace_point_emit_size_t(time->tv_sec);
2191 	rte_trace_point_emit_long(time->tv_nsec);
2192 	rte_trace_point_emit_int(ret);
2193 )
2194 
2195 /* Called in loop in examples/ptpclient */
2196 RTE_TRACE_POINT_FP(
2197 	rte_eth_trace_timesync_adjust_time,
2198 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int64_t delta, int ret),
2199 	rte_trace_point_emit_u16(port_id);
2200 	rte_trace_point_emit_i64(delta);
2201 	rte_trace_point_emit_int(ret);
2202 )
2203 
2204 /* Called in loop in examples/ptpclient */
2205 RTE_TRACE_POINT_FP(
2206 	rte_eth_trace_timesync_adjust_freq,
2207 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int64_t ppm, int ret),
2208 	rte_trace_point_emit_u16(port_id);
2209 	rte_trace_point_emit_i64(ppm);
2210 	rte_trace_point_emit_int(ret);
2211 )
2212 
2213 /* Called in loop in app/test-flow-perf */
2214 RTE_TRACE_POINT_FP(
2215 	rte_flow_trace_create,
2216 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_flow_attr *attr,
2217 		const struct rte_flow_item *pattern,
2218 		const struct rte_flow_action *actions,
2219 		const struct rte_flow *flow),
2220 	rte_trace_point_emit_u16(port_id);
2221 	rte_trace_point_emit_ptr(attr);
2222 	rte_trace_point_emit_ptr(pattern);
2223 	rte_trace_point_emit_ptr(actions);
2224 	rte_trace_point_emit_ptr(flow);
2225 )
2226 
2227 /* Called in loop in app/test-flow-perf */
2228 RTE_TRACE_POINT_FP(
2229 	rte_flow_trace_destroy,
2230 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_flow *flow,
2231 		int ret),
2232 	rte_trace_point_emit_u16(port_id);
2233 	rte_trace_point_emit_ptr(flow);
2234 	rte_trace_point_emit_int(ret);
2235 )
2236 
2237 /* Called in loop in app/test-flow-perf */
2238 RTE_TRACE_POINT_FP(
2239 	rte_flow_trace_actions_update,
2240 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_flow *flow,
2241 		const struct rte_flow_action *actions, int ret),
2242 	rte_trace_point_emit_u16(port_id);
2243 	rte_trace_point_emit_ptr(flow);
2244 	rte_trace_point_emit_ptr(actions);
2245 	rte_trace_point_emit_int(ret);
2246 )
2247 
2248 RTE_TRACE_POINT_FP(
2249 	rte_flow_trace_query,
2250 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_flow *flow,
2251 		const struct rte_flow_action *action, const void *data,
2252 		int ret),
2253 	rte_trace_point_emit_u16(port_id);
2254 	rte_trace_point_emit_ptr(flow);
2255 	rte_trace_point_emit_ptr(action);
2256 	rte_trace_point_emit_ptr(data);
2257 	rte_trace_point_emit_int(ret);
2258 )
2259 
2260 RTE_TRACE_POINT_FP(
2261 	rte_flow_trace_isolate,
2262 	RTE_TRACE_POINT_ARGS(uint16_t port_id, int set, int ret),
2263 	rte_trace_point_emit_u16(port_id);
2264 	rte_trace_point_emit_int(set);
2265 	rte_trace_point_emit_int(ret);
2266 )
2267 
2268 RTE_TRACE_POINT_FP(
2269 	rte_flow_trace_get_aged_flows,
2270 	RTE_TRACE_POINT_ARGS(uint16_t port_id, void **contexts,
2271 		uint32_t nb_contexts, int ret),
2272 	rte_trace_point_emit_u16(port_id);
2273 	rte_trace_point_emit_ptr(contexts);
2274 	rte_trace_point_emit_u32(nb_contexts);
2275 	rte_trace_point_emit_int(ret);
2276 )
2277 
2278 RTE_TRACE_POINT_FP(
2279 	rte_flow_trace_get_q_aged_flows,
2280 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2281 		void **contexts, uint32_t nb_contexts, int ret),
2282 	rte_trace_point_emit_u16(port_id);
2283 	rte_trace_point_emit_u32(queue_id);
2284 	rte_trace_point_emit_ptr(contexts);
2285 	rte_trace_point_emit_u32(nb_contexts);
2286 	rte_trace_point_emit_int(ret);
2287 )
2288 
2289 RTE_TRACE_POINT_FP(
2290 	rte_flow_trace_action_handle_create,
2291 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2292 		const struct rte_flow_indir_action_conf *conf,
2293 		const struct rte_flow_action *action,
2294 		const struct rte_flow_action_handle *handle),
2295 	rte_trace_point_emit_u16(port_id);
2296 	rte_trace_point_emit_ptr(conf);
2297 	rte_trace_point_emit_ptr(action);
2298 	rte_trace_point_emit_ptr(handle);
2299 )
2300 
2301 RTE_TRACE_POINT_FP(
2302 	rte_flow_trace_action_handle_destroy,
2303 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2304 		const struct rte_flow_action_handle *handle, int ret),
2305 	rte_trace_point_emit_u16(port_id);
2306 	rte_trace_point_emit_ptr(handle);
2307 	rte_trace_point_emit_int(ret);
2308 )
2309 
2310 RTE_TRACE_POINT_FP(
2311 	rte_flow_trace_action_handle_update,
2312 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2313 		const struct rte_flow_action_handle *handle,
2314 		const void *update, int ret),
2315 	rte_trace_point_emit_u16(port_id);
2316 	rte_trace_point_emit_ptr(handle);
2317 	rte_trace_point_emit_ptr(update);
2318 	rte_trace_point_emit_int(ret);
2319 )
2320 
2321 RTE_TRACE_POINT_FP(
2322 	rte_flow_trace_action_handle_query,
2323 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2324 		const struct rte_flow_action_handle *handle,
2325 		const void *data, int ret),
2326 	rte_trace_point_emit_u16(port_id);
2327 	rte_trace_point_emit_ptr(handle);
2328 	rte_trace_point_emit_ptr(data);
2329 	rte_trace_point_emit_int(ret);
2330 )
2331 
2332 RTE_TRACE_POINT_FP(
2333 	rte_flow_trace_get_restore_info,
2334 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct rte_mbuf *m,
2335 		const struct rte_flow_restore_info *info, int ret),
2336 	rte_trace_point_emit_u16(port_id);
2337 	rte_trace_point_emit_ptr(m);
2338 	rte_trace_point_emit_ptr(info);
2339 	rte_trace_point_emit_int(ret);
2340 )
2341 
2342 RTE_TRACE_POINT_FP(
2343 	rte_flow_trace_pick_transfer_proxy,
2344 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const uint16_t *proxy_port_id,
2345 		int ret),
2346 	rte_trace_point_emit_u16(port_id);
2347 	rte_trace_point_emit_ptr(proxy_port_id);
2348 	rte_trace_point_emit_int(ret);
2349 )
2350 
2351 RTE_TRACE_POINT_FP(
2352 	rte_flow_trace_async_create,
2353 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2354 		const struct rte_flow_op_attr *op_attr,
2355 		const struct rte_flow_template_table *template_table,
2356 		const struct rte_flow_item *pattern,
2357 		uint8_t pattern_template_index,
2358 		const struct rte_flow_action *actions,
2359 		uint8_t actions_template_index,
2360 		const void *user_data, const struct rte_flow *flow),
2361 	rte_trace_point_emit_u16(port_id);
2362 	rte_trace_point_emit_u32(queue_id);
2363 	rte_trace_point_emit_ptr(op_attr);
2364 	rte_trace_point_emit_ptr(template_table);
2365 	rte_trace_point_emit_ptr(pattern);
2366 	rte_trace_point_emit_u8(pattern_template_index);
2367 	rte_trace_point_emit_ptr(actions);
2368 	rte_trace_point_emit_u8(actions_template_index);
2369 	rte_trace_point_emit_ptr(user_data);
2370 	rte_trace_point_emit_ptr(flow);
2371 )
2372 
2373 RTE_TRACE_POINT_FP(
2374 	rte_flow_trace_async_create_by_index,
2375 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2376 		const struct rte_flow_op_attr *op_attr,
2377 		const struct rte_flow_template_table *template_table,
2378 		uint32_t rule_index,
2379 		const struct rte_flow_action *actions,
2380 		uint8_t actions_template_index,
2381 		const void *user_data, const struct rte_flow *flow),
2382 	rte_trace_point_emit_u16(port_id);
2383 	rte_trace_point_emit_u32(queue_id);
2384 	rte_trace_point_emit_ptr(op_attr);
2385 	rte_trace_point_emit_ptr(template_table);
2386 	rte_trace_point_emit_u32(rule_index);
2387 	rte_trace_point_emit_ptr(actions);
2388 	rte_trace_point_emit_u8(actions_template_index);
2389 	rte_trace_point_emit_ptr(user_data);
2390 	rte_trace_point_emit_ptr(flow);
2391 )
2392 
2393 RTE_TRACE_POINT_FP(
2394 	rte_flow_trace_async_create_by_index_with_pattern,
2395 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2396 		const struct rte_flow_op_attr *op_attr,
2397 		const struct rte_flow_template_table *template_table,
2398 		uint32_t rule_index,
2399 		const struct rte_flow_item *pattern,
2400 		uint8_t pattern_template_index,
2401 		const struct rte_flow_action *actions,
2402 		uint8_t actions_template_index,
2403 		const void *user_data, const struct rte_flow *flow),
2404 	rte_trace_point_emit_u16(port_id);
2405 	rte_trace_point_emit_u32(queue_id);
2406 	rte_trace_point_emit_ptr(op_attr);
2407 	rte_trace_point_emit_ptr(template_table);
2408 	rte_trace_point_emit_u32(rule_index);
2409 	rte_trace_point_emit_ptr(pattern);
2410 	rte_trace_point_emit_u8(pattern_template_index);
2411 	rte_trace_point_emit_ptr(actions);
2412 	rte_trace_point_emit_u8(actions_template_index);
2413 	rte_trace_point_emit_ptr(user_data);
2414 	rte_trace_point_emit_ptr(flow);
2415 )
2416 
2417 RTE_TRACE_POINT_FP(
2418 	rte_flow_trace_async_destroy,
2419 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2420 		const struct rte_flow_op_attr *op_attr,
2421 		const struct rte_flow *flow, const void *user_data, int ret),
2422 	rte_trace_point_emit_u16(port_id);
2423 	rte_trace_point_emit_u32(queue_id);
2424 	rte_trace_point_emit_ptr(op_attr);
2425 	rte_trace_point_emit_ptr(flow);
2426 	rte_trace_point_emit_ptr(user_data);
2427 	rte_trace_point_emit_int(ret);
2428 )
2429 
2430 RTE_TRACE_POINT_FP(
2431 	rte_flow_trace_async_actions_update,
2432 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2433 		const struct rte_flow_op_attr *op_attr,
2434 		const struct rte_flow *flow,
2435 		const struct rte_flow_action *actions,
2436 		uint8_t actions_template_index,
2437 		const void *user_data, int ret),
2438 	rte_trace_point_emit_u16(port_id);
2439 	rte_trace_point_emit_u32(queue_id);
2440 	rte_trace_point_emit_ptr(op_attr);
2441 	rte_trace_point_emit_ptr(flow);
2442 	rte_trace_point_emit_ptr(actions);
2443 	rte_trace_point_emit_u8(actions_template_index);
2444 	rte_trace_point_emit_ptr(user_data);
2445 	rte_trace_point_emit_int(ret);
2446 )
2447 
2448 RTE_TRACE_POINT_FP(
2449 	rte_flow_trace_push,
2450 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id, int ret),
2451 	rte_trace_point_emit_u16(port_id);
2452 	rte_trace_point_emit_u32(queue_id);
2453 	rte_trace_point_emit_int(ret);
2454 )
2455 
2456 RTE_TRACE_POINT_FP(
2457 	rte_flow_trace_pull,
2458 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2459 		const struct rte_flow_op_result *res, uint16_t n_res, int ret),
2460 	rte_trace_point_emit_u16(port_id);
2461 	rte_trace_point_emit_u32(queue_id);
2462 	rte_trace_point_emit_ptr(res);
2463 	rte_trace_point_emit_u16(n_res);
2464 	rte_trace_point_emit_int(ret);
2465 )
2466 
2467 RTE_TRACE_POINT_FP(
2468 	rte_flow_trace_async_action_handle_create,
2469 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2470 		const struct rte_flow_op_attr *op_attr,
2471 		const struct rte_flow_indir_action_conf *indir_action_conf,
2472 		const struct rte_flow_action *action,
2473 		const void *user_data,
2474 		const struct rte_flow_action_handle *handle),
2475 	rte_trace_point_emit_u16(port_id);
2476 	rte_trace_point_emit_u32(queue_id);
2477 	rte_trace_point_emit_ptr(op_attr);
2478 	rte_trace_point_emit_ptr(indir_action_conf);
2479 	rte_trace_point_emit_ptr(action);
2480 	rte_trace_point_emit_ptr(user_data);
2481 	rte_trace_point_emit_ptr(handle);
2482 )
2483 
2484 RTE_TRACE_POINT_FP(
2485 	rte_flow_trace_async_action_handle_destroy,
2486 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2487 		const struct rte_flow_op_attr *op_attr,
2488 		const struct rte_flow_action_handle *action_handle,
2489 		const void *user_data, int ret),
2490 	rte_trace_point_emit_u16(port_id);
2491 	rte_trace_point_emit_u32(queue_id);
2492 	rte_trace_point_emit_ptr(op_attr);
2493 	rte_trace_point_emit_ptr(action_handle);
2494 	rte_trace_point_emit_ptr(user_data);
2495 	rte_trace_point_emit_int(ret);
2496 )
2497 
2498 RTE_TRACE_POINT_FP(
2499 	rte_flow_trace_async_action_handle_update,
2500 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2501 		const struct rte_flow_op_attr *op_attr,
2502 		const struct rte_flow_action_handle *action_handle,
2503 		const void *update, const void *user_data, int ret),
2504 	rte_trace_point_emit_u16(port_id);
2505 	rte_trace_point_emit_u32(queue_id);
2506 	rte_trace_point_emit_ptr(op_attr);
2507 	rte_trace_point_emit_ptr(action_handle);
2508 	rte_trace_point_emit_ptr(update);
2509 	rte_trace_point_emit_ptr(user_data);
2510 	rte_trace_point_emit_int(ret);
2511 )
2512 
2513 RTE_TRACE_POINT_FP(
2514 	rte_flow_trace_async_action_handle_query,
2515 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue_id,
2516 		const struct rte_flow_op_attr *op_attr,
2517 		const struct rte_flow_action_handle *action_handle,
2518 		const void *data, const void *user_data, int ret),
2519 	rte_trace_point_emit_u16(port_id);
2520 	rte_trace_point_emit_u32(queue_id);
2521 	rte_trace_point_emit_ptr(op_attr);
2522 	rte_trace_point_emit_ptr(action_handle);
2523 	rte_trace_point_emit_ptr(data);
2524 	rte_trace_point_emit_ptr(user_data);
2525 	rte_trace_point_emit_int(ret);
2526 )
2527 
2528 /* Called in loop in app/test-flow-perf */
2529 RTE_TRACE_POINT_FP(
2530 	rte_mtr_trace_create,
2531 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id,
2532 		const struct rte_mtr_params *params, int shared, int ret),
2533 	rte_trace_point_emit_u16(port_id);
2534 	rte_trace_point_emit_u32(mtr_id);
2535 	rte_trace_point_emit_ptr(params);
2536 	rte_trace_point_emit_int(shared);
2537 	rte_trace_point_emit_int(ret);
2538 )
2539 
2540 /* Called in loop in app/test-flow-perf */
2541 RTE_TRACE_POINT_FP(
2542 	rte_mtr_trace_destroy,
2543 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t mtr_id, int ret),
2544 	rte_trace_point_emit_u16(port_id);
2545 	rte_trace_point_emit_u32(mtr_id);
2546 	rte_trace_point_emit_int(ret);
2547 )
2548 
2549 /* Called in loop in app/test-flow-perf */
2550 RTE_TRACE_POINT_FP(
2551 	rte_mtr_trace_meter_policy_delete,
2552 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t policy_id, int ret),
2553 	rte_trace_point_emit_u16(port_id);
2554 	rte_trace_point_emit_u32(policy_id);
2555 	rte_trace_point_emit_int(ret);
2556 )
2557 
2558 RTE_TRACE_POINT_FP(
2559 	rte_flow_trace_action_list_handle_create,
2560 	RTE_TRACE_POINT_ARGS
2561 		(uint16_t port_id,
2562 		 const struct rte_flow_indir_action_conf *conf,
2563 		 const struct rte_flow_action *actions, int ret),
2564 	rte_trace_point_emit_u16(port_id);
2565 	rte_trace_point_emit_ptr(conf);
2566 	rte_trace_point_emit_ptr(actions);
2567 	rte_trace_point_emit_int(ret);
2568 )
2569 
2570 RTE_TRACE_POINT_FP(
2571 	rte_flow_trace_action_list_handle_destroy,
2572 	RTE_TRACE_POINT_ARGS
2573 		(uint16_t port_id,
2574 		 const struct rte_flow_action_list_handle *handle, int ret),
2575 	rte_trace_point_emit_u16(port_id);
2576 	rte_trace_point_emit_ptr(handle);
2577 	rte_trace_point_emit_int(ret);
2578 )
2579 
2580 RTE_TRACE_POINT_FP(
2581 	rte_flow_trace_async_action_list_handle_create,
2582 	RTE_TRACE_POINT_ARGS
2583 		(uint16_t port_id, uint32_t queue_id,
2584 		 const struct rte_flow_op_attr *op_attr,
2585 		 const struct rte_flow_indir_action_conf *conf,
2586 		 const struct rte_flow_action *action,
2587 		 const void *user_data, int ret),
2588 	rte_trace_point_emit_u16(port_id);
2589 	rte_trace_point_emit_u32(queue_id);
2590 	rte_trace_point_emit_ptr(op_attr);
2591 	rte_trace_point_emit_ptr(conf);
2592 	rte_trace_point_emit_ptr(action);
2593 	rte_trace_point_emit_ptr(user_data);
2594 	rte_trace_point_emit_int(ret);
2595 )
2596 
2597 RTE_TRACE_POINT_FP(
2598 	rte_flow_trace_async_action_list_handle_destroy,
2599 	RTE_TRACE_POINT_ARGS
2600 		(uint16_t port_id, uint32_t queue_id,
2601 		 const struct rte_flow_op_attr *op_attr,
2602 		 const struct rte_flow_action_list_handle *handle,
2603 		 const void *user_data, int ret),
2604 	rte_trace_point_emit_u16(port_id);
2605 	rte_trace_point_emit_u32(queue_id);
2606 	rte_trace_point_emit_ptr(op_attr);
2607 	rte_trace_point_emit_ptr(handle);
2608 	rte_trace_point_emit_ptr(user_data);
2609 	rte_trace_point_emit_int(ret);
2610 )
2611 
2612 RTE_TRACE_POINT_FP(
2613 	rte_flow_trace_action_list_handle_query_update,
2614 	RTE_TRACE_POINT_ARGS
2615 		(uint16_t port_id,
2616 		 const struct rte_flow_action_list_handle *handle,
2617 		 const void **update, void **query,
2618 		 enum rte_flow_query_update_mode mode, int ret),
2619 		rte_trace_point_emit_u16(port_id);
2620 		rte_trace_point_emit_ptr(handle);
2621 		rte_trace_point_emit_ptr(update);
2622 		rte_trace_point_emit_ptr(query);
2623 		rte_trace_point_emit_int(mode);
2624 		rte_trace_point_emit_int(ret);
2625 )
2626 
2627 RTE_TRACE_POINT_FP(
2628 	rte_flow_trace_async_action_list_handle_query_update,
2629 	RTE_TRACE_POINT_ARGS
2630 		(uint16_t port_id, uint32_t queue_id,
2631 		 const struct rte_flow_op_attr *attr,
2632 		 const struct rte_flow_action_list_handle *handle,
2633 		 const void **update, void **query,
2634 		 enum rte_flow_query_update_mode mode,
2635 		 void *user_data, int ret),
2636 	rte_trace_point_emit_u16(port_id);
2637 	rte_trace_point_emit_u32(queue_id);
2638 	rte_trace_point_emit_ptr(attr);
2639 	rte_trace_point_emit_ptr(handle);
2640 	rte_trace_point_emit_ptr(update);
2641 	rte_trace_point_emit_ptr(query);
2642 	rte_trace_point_emit_int(mode);
2643 	rte_trace_point_emit_ptr(user_data);
2644 	rte_trace_point_emit_int(ret);
2645 )
2646 
2647 RTE_TRACE_POINT_FP(
2648 	rte_flow_trace_template_table_resize,
2649 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2650 			     struct rte_flow_template_table *table,
2651 			     uint32_t nb_rules, int ret),
2652 	rte_trace_point_emit_u16(port_id);
2653 	rte_trace_point_emit_ptr(table);
2654 	rte_trace_point_emit_u32(nb_rules);
2655 	rte_trace_point_emit_int(ret);
2656 )
2657 
2658 RTE_TRACE_POINT_FP(
2659 	rte_flow_trace_async_update_resized,
2660 	RTE_TRACE_POINT_ARGS(uint16_t port_id, uint32_t queue,
2661 			     const struct rte_flow_op_attr *attr,
2662 			     struct rte_flow *rule, void *user_data, int ret),
2663 	rte_trace_point_emit_u16(port_id);
2664 	rte_trace_point_emit_u32(queue);
2665 	rte_trace_point_emit_ptr(attr);
2666 	rte_trace_point_emit_ptr(rule);
2667 	rte_trace_point_emit_ptr(user_data);
2668 	rte_trace_point_emit_int(ret);
2669 )
2670 
2671 RTE_TRACE_POINT_FP(
2672 	rte_flow_trace_table_resize_complete,
2673 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
2674 			     struct rte_flow_template_table *table, int ret),
2675 	rte_trace_point_emit_u16(port_id);
2676 	rte_trace_point_emit_ptr(table);
2677 	rte_trace_point_emit_int(ret);
2678 )
2679 
2680 #ifdef __cplusplus
2681 }
2682 #endif
2683 
2684 #endif /* ETHDEV_TRACE_H */
2685