1 /* SPDX-License-Identifier: GPL-2.0 */
2 
3 #undef TRACE_SYSTEM
4 #define TRACE_SYSTEM mctp
5 
6 #if !defined(_TRACE_MCTP_H) || defined(TRACE_HEADER_MULTI_READ)
7 #define _TRACE_MCTP_H
8 
9 #include <linux/tracepoint.h>
10 
11 #ifndef __TRACE_MCTP_ENUMS
12 #define __TRACE_MCTP_ENUMS
13 enum {
14 	MCTP_TRACE_KEY_TIMEOUT,
15 	MCTP_TRACE_KEY_REPLIED,
16 	MCTP_TRACE_KEY_INVALIDATED,
17 	MCTP_TRACE_KEY_CLOSED,
18 	MCTP_TRACE_KEY_DROPPED,
19 };
20 #endif /* __TRACE_MCTP_ENUMS */
21 
22 TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_TIMEOUT);
23 TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_REPLIED);
24 TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_INVALIDATED);
25 TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_CLOSED);
26 TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_DROPPED);
27 
28 TRACE_EVENT(mctp_key_acquire,
29 	TP_PROTO(const struct mctp_sk_key *key),
30 	TP_ARGS(key),
31 	TP_STRUCT__entry(
32 		__field(__u8,	paddr)
33 		__field(__u8,	laddr)
34 		__field(__u8,	tag)
35 	),
36 	TP_fast_assign(
37 		__entry->paddr = key->peer_addr;
38 		__entry->laddr = key->local_addr;
39 		__entry->tag = key->tag;
40 	),
41 	TP_printk("local %d, peer %d, tag %1x",
42 		__entry->laddr,
43 		__entry->paddr,
44 		__entry->tag
45 	)
46 );
47 
48 TRACE_EVENT(mctp_key_release,
49 	TP_PROTO(const struct mctp_sk_key *key, int reason),
50 	TP_ARGS(key, reason),
51 	TP_STRUCT__entry(
52 		__field(__u8,	paddr)
53 		__field(__u8,	laddr)
54 		__field(__u8,	tag)
55 		__field(int,	reason)
56 	),
57 	TP_fast_assign(
58 		__entry->paddr = key->peer_addr;
59 		__entry->laddr = key->local_addr;
60 		__entry->tag = key->tag;
61 		__entry->reason = reason;
62 	),
63 	TP_printk("local %d, peer %d, tag %1x %s",
64 		__entry->laddr,
65 		__entry->paddr,
66 		__entry->tag,
67 		__print_symbolic(__entry->reason,
68 				 { MCTP_TRACE_KEY_TIMEOUT, "timeout" },
69 				 { MCTP_TRACE_KEY_REPLIED, "replied" },
70 				 { MCTP_TRACE_KEY_INVALIDATED, "invalidated" },
71 				 { MCTP_TRACE_KEY_CLOSED, "closed" },
72 				 { MCTP_TRACE_KEY_DROPPED, "dropped" })
73 	)
74 );
75 
76 #endif
77 
78 #include <trace/define_trace.h>
79