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