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