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