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
13enum {
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
22TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_TIMEOUT);
23TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_REPLIED);
24TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_INVALIDATED);
25TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_CLOSED);
26TRACE_DEFINE_ENUM(MCTP_TRACE_KEY_DROPPED);
27
28TRACE_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
48TRACE_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