xref: /dpdk/lib/cryptodev/cryptodev_trace.h (revision 665b49c51639a10c553433bc2bcd85c7331c631e)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2020 Marvell International Ltd.
3  */
4 
5 #ifndef CRYPTODEV_TRACE_H
6 #define CRYPTODEV_TRACE_H
7 
8 /**
9  * @file
10  *
11  * API for cryptodev trace support
12  */
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #include <rte_trace_point.h>
19 
20 #include "rte_cryptodev.h"
21 
22 RTE_TRACE_POINT(
23 	rte_cryptodev_trace_configure,
24 	RTE_TRACE_POINT_ARGS(uint8_t dev_id,
25 		struct rte_cryptodev_config *conf),
26 	rte_trace_point_emit_u8(dev_id);
27 	rte_trace_point_emit_u16(conf->nb_queue_pairs);
28 	rte_trace_point_emit_i64(conf->ff_disable);
29 )
30 
31 RTE_TRACE_POINT(
32 	rte_cryptodev_trace_start,
33 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, int rc),
34 	rte_trace_point_emit_u8(dev_id);
35 	rte_trace_point_emit_int(rc);
36 )
37 
38 RTE_TRACE_POINT(
39 	rte_cryptodev_trace_stop,
40 	RTE_TRACE_POINT_ARGS(uint8_t dev_id),
41 	rte_trace_point_emit_u8(dev_id);
42 )
43 
44 RTE_TRACE_POINT(
45 	rte_cryptodev_trace_close,
46 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, int rc),
47 	rte_trace_point_emit_u8(dev_id);
48 	rte_trace_point_emit_int(rc);
49 )
50 
51 RTE_TRACE_POINT(
52 	rte_cryptodev_trace_queue_pair_setup,
53 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t queue_pair_id,
54 		const struct rte_cryptodev_qp_conf *conf),
55 	rte_trace_point_emit_u8(dev_id);
56 	rte_trace_point_emit_u16(queue_pair_id);
57 	rte_trace_point_emit_u32(conf->nb_descriptors);
58 	rte_trace_point_emit_ptr(conf->mp_session);
59 )
60 
61 RTE_TRACE_POINT(
62 	rte_cryptodev_trace_sym_session_pool_create,
63 	RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
64 		uint32_t elt_size, uint32_t cache_size,
65 		uint16_t user_data_size, void *mempool),
66 	rte_trace_point_emit_string(name);
67 	rte_trace_point_emit_u32(nb_elts);
68 	rte_trace_point_emit_u32(elt_size);
69 	rte_trace_point_emit_u32(cache_size);
70 	rte_trace_point_emit_u16(user_data_size);
71 	rte_trace_point_emit_ptr(mempool);
72 )
73 
74 RTE_TRACE_POINT(
75 	rte_cryptodev_trace_sym_session_create,
76 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *sess, void *xforms,
77 		void *mempool),
78 	rte_trace_point_emit_u8(dev_id);
79 	rte_trace_point_emit_ptr(sess);
80 	rte_trace_point_emit_ptr(xforms);
81 	rte_trace_point_emit_ptr(mempool);
82 )
83 
84 RTE_TRACE_POINT(
85 	rte_cryptodev_trace_asym_session_pool_create,
86 	RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
87 		uint16_t user_data_size, uint32_t cache_size, void *mempool),
88 	rte_trace_point_emit_string(name);
89 	rte_trace_point_emit_u32(nb_elts);
90 	rte_trace_point_emit_u16(user_data_size);
91 	rte_trace_point_emit_u32(cache_size);
92 	rte_trace_point_emit_ptr(mempool);
93 )
94 
95 RTE_TRACE_POINT(
96 	rte_cryptodev_trace_asym_session_create,
97 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *xforms, void *mempool,
98 			void *sess),
99 	rte_trace_point_emit_u8(dev_id);
100 	rte_trace_point_emit_ptr(xforms);
101 	rte_trace_point_emit_ptr(mempool);
102 	rte_trace_point_emit_ptr(sess);
103 )
104 
105 RTE_TRACE_POINT(
106 	rte_cryptodev_trace_sym_session_free,
107 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *sess),
108 	rte_trace_point_emit_u8(dev_id);
109 	rte_trace_point_emit_ptr(sess);
110 )
111 
112 RTE_TRACE_POINT(
113 	rte_cryptodev_trace_asym_session_free,
114 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, void *sess),
115 	rte_trace_point_emit_u8(dev_id);
116 	rte_trace_point_emit_ptr(sess);
117 )
118 
119 RTE_TRACE_POINT(
120 	rte_cryptodev_trace_callback_register,
121 	RTE_TRACE_POINT_ARGS(uint8_t dev_id,
122 		enum rte_cryptodev_event_type event, const void *cb_fn),
123 	rte_trace_point_emit_u8(dev_id);
124 	rte_trace_point_emit_int(event);
125 	rte_trace_point_emit_ptr(cb_fn);
126 )
127 
128 RTE_TRACE_POINT(
129 	rte_cryptodev_trace_callback_unregister,
130 	RTE_TRACE_POINT_ARGS(uint8_t dev_id,
131 		enum rte_cryptodev_event_type event, const void *cb_fn),
132 	rte_trace_point_emit_u8(dev_id);
133 	rte_trace_point_emit_int(event);
134 	rte_trace_point_emit_ptr(cb_fn);
135 )
136 
137 RTE_TRACE_POINT(
138 	rte_cryptodev_trace_device_count_by_driver,
139 	RTE_TRACE_POINT_ARGS(uint8_t driver_id, uint8_t dev_count),
140 	rte_trace_point_emit_u8(driver_id);
141 	rte_trace_point_emit_u8(dev_count);
142 )
143 
144 RTE_TRACE_POINT(
145 	rte_cryptodev_trace_devices_get,
146 	RTE_TRACE_POINT_ARGS(const char *driver_name, uint8_t count),
147 	rte_trace_point_emit_string(driver_name);
148 	rte_trace_point_emit_u8(count);
149 )
150 
151 RTE_TRACE_POINT(
152 	rte_cryptodev_trace_driver_id_get,
153 	RTE_TRACE_POINT_ARGS(const char *name, int driver_id),
154 	rte_trace_point_emit_string(name);
155 	rte_trace_point_emit_int(driver_id);
156 )
157 
158 RTE_TRACE_POINT(
159 	rte_cryptodev_trace_driver_name_get,
160 	RTE_TRACE_POINT_ARGS(uint8_t driver_id, const char *name),
161 	rte_trace_point_emit_u8(driver_id);
162 	rte_trace_point_emit_string(name);
163 )
164 
165 RTE_TRACE_POINT(
166 	rte_cryptodev_trace_get_aead_algo_enum,
167 	RTE_TRACE_POINT_ARGS(const char *algo_string,
168 		enum rte_crypto_aead_algorithm algo_enum, int ret),
169 	rte_trace_point_emit_string(algo_string);
170 	rte_trace_point_emit_int(algo_enum);
171 	rte_trace_point_emit_int(ret);
172 )
173 
174 RTE_TRACE_POINT(
175 	rte_cryptodev_trace_get_auth_algo_enum,
176 	RTE_TRACE_POINT_ARGS(const char *algo_string,
177 		enum rte_crypto_auth_algorithm algo_enum, int ret),
178 	rte_trace_point_emit_string(algo_string);
179 	rte_trace_point_emit_int(algo_enum);
180 	rte_trace_point_emit_int(ret);
181 )
182 
183 RTE_TRACE_POINT(
184 	rte_cryptodev_trace_get_cipher_algo_enum,
185 	RTE_TRACE_POINT_ARGS(const char *algo_string,
186 		enum rte_crypto_cipher_algorithm algo_enum, int ret),
187 	rte_trace_point_emit_string(algo_string);
188 	rte_trace_point_emit_int(algo_enum);
189 	rte_trace_point_emit_int(ret);
190 )
191 
192 RTE_TRACE_POINT(
193 	rte_cryptodev_trace_get_aead_algo_string,
194 	RTE_TRACE_POINT_ARGS(enum rte_crypto_aead_algorithm algo_enum,
195 		const char *algo_string),
196 	rte_trace_point_emit_int(algo_enum);
197 	rte_trace_point_emit_string(algo_string);
198 )
199 
200 RTE_TRACE_POINT(
201 	rte_cryptodev_trace_get_auth_algo_string,
202 	RTE_TRACE_POINT_ARGS(enum rte_crypto_auth_algorithm algo_enum,
203 		const char *algo_string),
204 	rte_trace_point_emit_int(algo_enum);
205 	rte_trace_point_emit_string(algo_string);
206 )
207 
208 RTE_TRACE_POINT(
209 	rte_cryptodev_trace_get_cipher_algo_string,
210 	RTE_TRACE_POINT_ARGS(enum rte_crypto_cipher_algorithm algo_enum,
211 		const char *algo_string),
212 	rte_trace_point_emit_int(algo_enum);
213 	rte_trace_point_emit_string(algo_string);
214 )
215 
216 RTE_TRACE_POINT(
217 	rte_cryptodev_trace_get_dev_id,
218 	RTE_TRACE_POINT_ARGS(const char *name, int ret),
219 	rte_trace_point_emit_string(name);
220 	rte_trace_point_emit_int(ret);
221 )
222 
223 RTE_TRACE_POINT(
224 	rte_cryptodev_trace_get_feature_name,
225 	RTE_TRACE_POINT_ARGS(uint64_t flag),
226 	rte_trace_point_emit_u64(flag);
227 )
228 
229 RTE_TRACE_POINT(
230 	rte_cryptodev_trace_get_sec_ctx,
231 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const void *sec_ctx),
232 	rte_trace_point_emit_u8(dev_id);
233 	rte_trace_point_emit_ptr(sec_ctx);
234 )
235 
236 RTE_TRACE_POINT(
237 	rte_cryptodev_trace_info_get,
238 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const char *driver_name),
239 	rte_trace_point_emit_u8(dev_id);
240 	rte_trace_point_emit_string(driver_name);
241 )
242 
243 RTE_TRACE_POINT(
244 	rte_cryptodev_trace_is_valid_dev,
245 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, unsigned int ret),
246 	rte_trace_point_emit_u8(dev_id);
247 	rte_trace_point_emit_u32(ret);
248 )
249 
250 RTE_TRACE_POINT(
251 	rte_cryptodev_trace_name_get,
252 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const char *name),
253 	rte_trace_point_emit_u8(dev_id);
254 	rte_trace_point_emit_string(name);
255 )
256 
257 RTE_TRACE_POINT(
258 	rte_cryptodev_trace_queue_pair_count,
259 	RTE_TRACE_POINT_ARGS(const void *dev, const char *name,
260 		uint8_t socket_id, uint8_t dev_id, uint16_t nb_queue_pairs),
261 	rte_trace_point_emit_ptr(dev);
262 	rte_trace_point_emit_string(name);
263 	rte_trace_point_emit_u8(socket_id);
264 	rte_trace_point_emit_u8(dev_id);
265 	rte_trace_point_emit_u16(nb_queue_pairs);
266 )
267 
268 RTE_TRACE_POINT(
269 	rte_cryptodev_trace_socket_id,
270 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const char *name, int socket_id),
271 	rte_trace_point_emit_u8(dev_id);
272 	rte_trace_point_emit_string(name);
273 	rte_trace_point_emit_int(socket_id);
274 )
275 
276 RTE_TRACE_POINT(
277 	rte_cryptodev_trace_stats_get,
278 	RTE_TRACE_POINT_ARGS(uint8_t dev_id,
279 		const struct rte_cryptodev_stats *stats),
280 	rte_trace_point_emit_u8(dev_id);
281 	rte_trace_point_emit_u64(stats->enqueued_count);
282 	rte_trace_point_emit_u64(stats->dequeued_count);
283 	rte_trace_point_emit_u64(stats->enqueue_err_count);
284 	rte_trace_point_emit_u64(stats->dequeue_err_count);
285 )
286 
287 RTE_TRACE_POINT(
288 	rte_cryptodev_trace_stats_reset,
289 	RTE_TRACE_POINT_ARGS(uint8_t dev_id),
290 	rte_trace_point_emit_u8(dev_id);
291 )
292 
293 RTE_TRACE_POINT(
294 	rte_cryptodev_trace_sym_capability_check_aead,
295 	RTE_TRACE_POINT_ARGS(
296 		const struct rte_cryptodev_symmetric_capability *capability,
297 		uint16_t key_size, uint16_t digest_size, uint16_t aad_size,
298 		uint16_t iv_size, int ret),
299 	rte_trace_point_emit_ptr(capability);
300 	rte_trace_point_emit_int(capability->xform_type);
301 	rte_trace_point_emit_u16(key_size);
302 	rte_trace_point_emit_u16(digest_size);
303 	rte_trace_point_emit_u16(aad_size);
304 	rte_trace_point_emit_u16(iv_size);
305 	rte_trace_point_emit_int(ret);
306 )
307 
308 RTE_TRACE_POINT(
309 	rte_cryptodev_trace_sym_capability_check_auth,
310 	RTE_TRACE_POINT_ARGS(
311 		const struct rte_cryptodev_symmetric_capability *capability,
312 		uint16_t key_size, uint16_t digest_size, uint16_t iv_size,
313 		int ret),
314 	rte_trace_point_emit_ptr(capability);
315 	rte_trace_point_emit_int(capability->xform_type);
316 	rte_trace_point_emit_u16(key_size);
317 	rte_trace_point_emit_u16(digest_size);
318 	rte_trace_point_emit_u16(iv_size);
319 	rte_trace_point_emit_int(ret);
320 )
321 
322 RTE_TRACE_POINT(
323 	rte_cryptodev_trace_sym_capability_check_cipher,
324 	RTE_TRACE_POINT_ARGS(
325 		const struct rte_cryptodev_symmetric_capability *capability,
326 		uint16_t key_size, uint16_t iv_size, int ret),
327 	rte_trace_point_emit_ptr(capability);
328 	rte_trace_point_emit_int(capability->xform_type);
329 	rte_trace_point_emit_u16(key_size);
330 	rte_trace_point_emit_u16(iv_size);
331 	rte_trace_point_emit_int(ret);
332 )
333 
334 RTE_TRACE_POINT(
335 	rte_cryptodev_trace_sym_capability_get,
336 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const char *driver_name,
337 		uint8_t driver_id, int idx_type, const void *sym_capability),
338 	rte_trace_point_emit_u8(dev_id);
339 	rte_trace_point_emit_string(driver_name);
340 	rte_trace_point_emit_u8(driver_id);
341 	rte_trace_point_emit_int(idx_type);
342 	rte_trace_point_emit_ptr(sym_capability);
343 )
344 
345 RTE_TRACE_POINT(
346 	rte_cryptodev_trace_sym_get_private_session_size,
347 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint32_t priv_sess_size),
348 	rte_trace_point_emit_u8(dev_id);
349 	rte_trace_point_emit_u32(priv_sess_size);
350 )
351 
352 RTE_TRACE_POINT(
353 	rte_cryptodev_trace_asym_capability_get,
354 	RTE_TRACE_POINT_ARGS(const char *driver_name, uint8_t driver_id,
355 		int idx_type, const void *asym_cap),
356 	rte_trace_point_emit_string(driver_name);
357 	rte_trace_point_emit_u8(driver_id);
358 	rte_trace_point_emit_int(idx_type);
359 	rte_trace_point_emit_ptr(asym_cap);
360 )
361 
362 RTE_TRACE_POINT(
363 	rte_cryptodev_trace_asym_get_private_session_size,
364 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint32_t priv_sess_size),
365 	rte_trace_point_emit_u8(dev_id);
366 	rte_trace_point_emit_u32(priv_sess_size);
367 )
368 
369 RTE_TRACE_POINT(
370 	rte_cryptodev_trace_asym_get_xform_enum,
371 	RTE_TRACE_POINT_ARGS(const char *xform_string,
372 		enum rte_crypto_asym_xform_type xform_enum, int ret),
373 	rte_trace_point_emit_string(xform_string);
374 	rte_trace_point_emit_int(xform_enum);
375 	rte_trace_point_emit_int(ret);
376 )
377 
378 RTE_TRACE_POINT(
379 	rte_cryptodev_trace_asym_get_xform_string,
380 	RTE_TRACE_POINT_ARGS(enum rte_crypto_asym_xform_type xform_enum,
381 		const char *xform_string),
382 	rte_trace_point_emit_int(xform_enum);
383 	rte_trace_point_emit_string(xform_string);
384 )
385 
386 RTE_TRACE_POINT(
387 	rte_cryptodev_trace_asym_xform_capability_check_modlen,
388 	RTE_TRACE_POINT_ARGS(const void *capability, uint16_t modlen, int ret),
389 	rte_trace_point_emit_ptr(capability);
390 	rte_trace_point_emit_u16(modlen);
391 	rte_trace_point_emit_int(ret);
392 )
393 
394 RTE_TRACE_POINT(
395 	rte_cryptodev_trace_sym_cpu_crypto_process,
396 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const void *sess),
397 	rte_trace_point_emit_u8(dev_id);
398 	rte_trace_point_emit_ptr(sess);
399 )
400 
401 RTE_TRACE_POINT(
402 	rte_cryptodev_trace_sym_session_get_user_data,
403 	RTE_TRACE_POINT_ARGS(const void *sess, const void *data),
404 	rte_trace_point_emit_ptr(sess);
405 	rte_trace_point_emit_ptr(data);
406 )
407 
408 RTE_TRACE_POINT(
409 	rte_cryptodev_trace_sym_session_set_user_data,
410 	RTE_TRACE_POINT_ARGS(const void *sess, const void *data, uint16_t size),
411 	rte_trace_point_emit_ptr(sess);
412 	rte_trace_point_emit_ptr(data);
413 	rte_trace_point_emit_u16(size);
414 )
415 
416 RTE_TRACE_POINT(
417 	rte_cryptodev_trace_get_qp_status,
418 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t queue_pair_id, int ret),
419 	rte_trace_point_emit_u8(dev_id);
420 	rte_trace_point_emit_u16(queue_pair_id);
421 	rte_trace_point_emit_int(ret);
422 )
423 
424 RTE_TRACE_POINT(
425 	rte_cryptodev_trace_configure_raw_dp_ctx,
426 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, int sess_type),
427 	rte_trace_point_emit_u8(dev_id);
428 	rte_trace_point_emit_u16(qp_id);
429 	rte_trace_point_emit_int(sess_type);
430 )
431 
432 RTE_TRACE_POINT(
433 	rte_cryptodev_trace_get_raw_dp_ctx_size,
434 	RTE_TRACE_POINT_ARGS(uint8_t dev_id),
435 	rte_trace_point_emit_u8(dev_id);
436 )
437 
438 RTE_TRACE_POINT(
439 	rte_cryptodev_trace_add_deq_callback,
440 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, const void *cb_fn),
441 	rte_trace_point_emit_u8(dev_id);
442 	rte_trace_point_emit_u16(qp_id);
443 	rte_trace_point_emit_ptr(cb_fn);
444 )
445 
446 RTE_TRACE_POINT(
447 	rte_cryptodev_trace_add_enq_callback,
448 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, const void *cb_fn),
449 	rte_trace_point_emit_u8(dev_id);
450 	rte_trace_point_emit_u16(qp_id);
451 	rte_trace_point_emit_ptr(cb_fn);
452 )
453 
454 RTE_TRACE_POINT(
455 	rte_cryptodev_trace_remove_deq_callback,
456 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, const void *fn),
457 	rte_trace_point_emit_u8(dev_id);
458 	rte_trace_point_emit_u16(qp_id);
459 	rte_trace_point_emit_ptr(fn);
460 )
461 
462 RTE_TRACE_POINT(
463 	rte_cryptodev_trace_remove_enq_callback,
464 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, const void *fn),
465 	rte_trace_point_emit_u8(dev_id);
466 	rte_trace_point_emit_u16(qp_id);
467 	rte_trace_point_emit_ptr(fn);
468 )
469 
470 RTE_TRACE_POINT(
471 	rte_cryptodev_trace_asym_session_get_user_data,
472 	RTE_TRACE_POINT_ARGS(const void *sess, const void *data),
473 	rte_trace_point_emit_ptr(sess);
474 	rte_trace_point_emit_ptr(data);
475 )
476 
477 RTE_TRACE_POINT(
478 	rte_cryptodev_trace_asym_session_set_user_data,
479 	RTE_TRACE_POINT_ARGS(const void *sess, const void *data, uint16_t size),
480 	rte_trace_point_emit_ptr(sess);
481 	rte_trace_point_emit_ptr(data);
482 	rte_trace_point_emit_u16(size);
483 )
484 
485 RTE_TRACE_POINT(
486 	rte_cryptodev_trace_session_event_mdata_set,
487 	RTE_TRACE_POINT_ARGS(uint8_t dev_id, const void *sess, int op_type,
488 		int sess_type, const void *ev_mdata, uint16_t size),
489 	rte_trace_point_emit_u8(dev_id);
490 	rte_trace_point_emit_ptr(sess);
491 	rte_trace_point_emit_int(op_type);
492 	rte_trace_point_emit_int(sess_type);
493 	rte_trace_point_emit_ptr(ev_mdata);
494 	rte_trace_point_emit_u16(size);
495 )
496 
497 RTE_TRACE_POINT(
498 	rte_cryptodev_trace_allocate_driver,
499 	RTE_TRACE_POINT_ARGS(const char *name),
500 	rte_trace_point_emit_string(name);
501 )
502 
503 RTE_TRACE_POINT(
504 	rte_cryptodev_trace_op_pool_create,
505 	RTE_TRACE_POINT_ARGS(const char *name, int socket_id, int type,
506 		uint32_t nb_elts, const void *mp),
507 	rte_trace_point_emit_string(name);
508 	rte_trace_point_emit_int(socket_id);
509 	rte_trace_point_emit_int(type);
510 	rte_trace_point_emit_u32(nb_elts);
511 	rte_trace_point_emit_ptr(mp);
512 )
513 
514 RTE_TRACE_POINT(
515 	rte_cryptodev_trace_asym_xform_capability_check_optype,
516 	RTE_TRACE_POINT_ARGS(uint32_t op_types,
517 		enum rte_crypto_asym_op_type op_type, int ret),
518 	rte_trace_point_emit_u32(op_types);
519 	rte_trace_point_emit_int(op_type);
520 	rte_trace_point_emit_int(ret);
521 )
522 
523 RTE_TRACE_POINT(
524 	rte_cryptodev_trace_count,
525 	RTE_TRACE_POINT_ARGS(uint8_t nb_devs),
526 	rte_trace_point_emit_u8(nb_devs);
527 )
528 
529 #ifdef __cplusplus
530 }
531 #endif
532 
533 #endif /* CRYPTODEV_TRACE_H */
534