Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM vsock
4
5#if !defined(_TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H) || \
6 defined(TRACE_HEADER_MULTI_READ)
7#define _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H
8
9#include <linux/tracepoint.h>
10
11TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_STREAM);
12
13#define show_type(val) \
14 __print_symbolic(val, { VIRTIO_VSOCK_TYPE_STREAM, "STREAM" })
15
16TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_INVALID);
17TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_REQUEST);
18TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RESPONSE);
19TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RST);
20TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_SHUTDOWN);
21TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RW);
22TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_UPDATE);
23TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_REQUEST);
24
25#define show_op(val) \
26 __print_symbolic(val, \
27 { VIRTIO_VSOCK_OP_INVALID, "INVALID" }, \
28 { VIRTIO_VSOCK_OP_REQUEST, "REQUEST" }, \
29 { VIRTIO_VSOCK_OP_RESPONSE, "RESPONSE" }, \
30 { VIRTIO_VSOCK_OP_RST, "RST" }, \
31 { VIRTIO_VSOCK_OP_SHUTDOWN, "SHUTDOWN" }, \
32 { VIRTIO_VSOCK_OP_RW, "RW" }, \
33 { VIRTIO_VSOCK_OP_CREDIT_UPDATE, "CREDIT_UPDATE" }, \
34 { VIRTIO_VSOCK_OP_CREDIT_REQUEST, "CREDIT_REQUEST" })
35
36TRACE_EVENT(virtio_transport_alloc_pkt,
37 TP_PROTO(
38 __u32 src_cid, __u32 src_port,
39 __u32 dst_cid, __u32 dst_port,
40 __u32 len,
41 __u16 type,
42 __u16 op,
43 __u32 flags
44 ),
45 TP_ARGS(
46 src_cid, src_port,
47 dst_cid, dst_port,
48 len,
49 type,
50 op,
51 flags
52 ),
53 TP_STRUCT__entry(
54 __field(__u32, src_cid)
55 __field(__u32, src_port)
56 __field(__u32, dst_cid)
57 __field(__u32, dst_port)
58 __field(__u32, len)
59 __field(__u16, type)
60 __field(__u16, op)
61 __field(__u32, flags)
62 ),
63 TP_fast_assign(
64 __entry->src_cid = src_cid;
65 __entry->src_port = src_port;
66 __entry->dst_cid = dst_cid;
67 __entry->dst_port = dst_port;
68 __entry->len = len;
69 __entry->type = type;
70 __entry->op = op;
71 __entry->flags = flags;
72 ),
73 TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x",
74 __entry->src_cid, __entry->src_port,
75 __entry->dst_cid, __entry->dst_port,
76 __entry->len,
77 show_type(__entry->type),
78 show_op(__entry->op),
79 __entry->flags)
80);
81
82TRACE_EVENT(virtio_transport_recv_pkt,
83 TP_PROTO(
84 __u32 src_cid, __u32 src_port,
85 __u32 dst_cid, __u32 dst_port,
86 __u32 len,
87 __u16 type,
88 __u16 op,
89 __u32 flags,
90 __u32 buf_alloc,
91 __u32 fwd_cnt
92 ),
93 TP_ARGS(
94 src_cid, src_port,
95 dst_cid, dst_port,
96 len,
97 type,
98 op,
99 flags,
100 buf_alloc,
101 fwd_cnt
102 ),
103 TP_STRUCT__entry(
104 __field(__u32, src_cid)
105 __field(__u32, src_port)
106 __field(__u32, dst_cid)
107 __field(__u32, dst_port)
108 __field(__u32, len)
109 __field(__u16, type)
110 __field(__u16, op)
111 __field(__u32, flags)
112 __field(__u32, buf_alloc)
113 __field(__u32, fwd_cnt)
114 ),
115 TP_fast_assign(
116 __entry->src_cid = src_cid;
117 __entry->src_port = src_port;
118 __entry->dst_cid = dst_cid;
119 __entry->dst_port = dst_port;
120 __entry->len = len;
121 __entry->type = type;
122 __entry->op = op;
123 __entry->flags = flags;
124 __entry->buf_alloc = buf_alloc;
125 __entry->fwd_cnt = fwd_cnt;
126 ),
127 TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x "
128 "buf_alloc=%u fwd_cnt=%u",
129 __entry->src_cid, __entry->src_port,
130 __entry->dst_cid, __entry->dst_port,
131 __entry->len,
132 show_type(__entry->type),
133 show_op(__entry->op),
134 __entry->flags,
135 __entry->buf_alloc,
136 __entry->fwd_cnt)
137);
138
139#endif /* _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H */
140
141#undef TRACE_INCLUDE_FILE
142#define TRACE_INCLUDE_FILE vsock_virtio_transport_common
143
144/* This part must be outside protection */
145#include <trace/define_trace.h>
1/* SPDX-License-Identifier: GPL-2.0 */
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM vsock
4
5#if !defined(_TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H) || \
6 defined(TRACE_HEADER_MULTI_READ)
7#define _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H
8
9#include <linux/tracepoint.h>
10
11TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_STREAM);
12TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_SEQPACKET);
13
14#define show_type(val) \
15 __print_symbolic(val, \
16 { VIRTIO_VSOCK_TYPE_STREAM, "STREAM" }, \
17 { VIRTIO_VSOCK_TYPE_SEQPACKET, "SEQPACKET" })
18
19TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_INVALID);
20TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_REQUEST);
21TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RESPONSE);
22TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RST);
23TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_SHUTDOWN);
24TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RW);
25TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_UPDATE);
26TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_REQUEST);
27
28#define show_op(val) \
29 __print_symbolic(val, \
30 { VIRTIO_VSOCK_OP_INVALID, "INVALID" }, \
31 { VIRTIO_VSOCK_OP_REQUEST, "REQUEST" }, \
32 { VIRTIO_VSOCK_OP_RESPONSE, "RESPONSE" }, \
33 { VIRTIO_VSOCK_OP_RST, "RST" }, \
34 { VIRTIO_VSOCK_OP_SHUTDOWN, "SHUTDOWN" }, \
35 { VIRTIO_VSOCK_OP_RW, "RW" }, \
36 { VIRTIO_VSOCK_OP_CREDIT_UPDATE, "CREDIT_UPDATE" }, \
37 { VIRTIO_VSOCK_OP_CREDIT_REQUEST, "CREDIT_REQUEST" })
38
39TRACE_EVENT(virtio_transport_alloc_pkt,
40 TP_PROTO(
41 __u32 src_cid, __u32 src_port,
42 __u32 dst_cid, __u32 dst_port,
43 __u32 len,
44 __u16 type,
45 __u16 op,
46 __u32 flags,
47 bool zcopy
48 ),
49 TP_ARGS(
50 src_cid, src_port,
51 dst_cid, dst_port,
52 len,
53 type,
54 op,
55 flags,
56 zcopy
57 ),
58 TP_STRUCT__entry(
59 __field(__u32, src_cid)
60 __field(__u32, src_port)
61 __field(__u32, dst_cid)
62 __field(__u32, dst_port)
63 __field(__u32, len)
64 __field(__u16, type)
65 __field(__u16, op)
66 __field(__u32, flags)
67 __field(bool, zcopy)
68 ),
69 TP_fast_assign(
70 __entry->src_cid = src_cid;
71 __entry->src_port = src_port;
72 __entry->dst_cid = dst_cid;
73 __entry->dst_port = dst_port;
74 __entry->len = len;
75 __entry->type = type;
76 __entry->op = op;
77 __entry->flags = flags;
78 __entry->zcopy = zcopy;
79 ),
80 TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x zcopy=%s",
81 __entry->src_cid, __entry->src_port,
82 __entry->dst_cid, __entry->dst_port,
83 __entry->len,
84 show_type(__entry->type),
85 show_op(__entry->op),
86 __entry->flags, __entry->zcopy ? "true" : "false")
87);
88
89TRACE_EVENT(virtio_transport_recv_pkt,
90 TP_PROTO(
91 __u32 src_cid, __u32 src_port,
92 __u32 dst_cid, __u32 dst_port,
93 __u32 len,
94 __u16 type,
95 __u16 op,
96 __u32 flags,
97 __u32 buf_alloc,
98 __u32 fwd_cnt
99 ),
100 TP_ARGS(
101 src_cid, src_port,
102 dst_cid, dst_port,
103 len,
104 type,
105 op,
106 flags,
107 buf_alloc,
108 fwd_cnt
109 ),
110 TP_STRUCT__entry(
111 __field(__u32, src_cid)
112 __field(__u32, src_port)
113 __field(__u32, dst_cid)
114 __field(__u32, dst_port)
115 __field(__u32, len)
116 __field(__u16, type)
117 __field(__u16, op)
118 __field(__u32, flags)
119 __field(__u32, buf_alloc)
120 __field(__u32, fwd_cnt)
121 ),
122 TP_fast_assign(
123 __entry->src_cid = src_cid;
124 __entry->src_port = src_port;
125 __entry->dst_cid = dst_cid;
126 __entry->dst_port = dst_port;
127 __entry->len = len;
128 __entry->type = type;
129 __entry->op = op;
130 __entry->flags = flags;
131 __entry->buf_alloc = buf_alloc;
132 __entry->fwd_cnt = fwd_cnt;
133 ),
134 TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x "
135 "buf_alloc=%u fwd_cnt=%u",
136 __entry->src_cid, __entry->src_port,
137 __entry->dst_cid, __entry->dst_port,
138 __entry->len,
139 show_type(__entry->type),
140 show_op(__entry->op),
141 __entry->flags,
142 __entry->buf_alloc,
143 __entry->fwd_cnt)
144);
145
146#endif /* _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H */
147
148#undef TRACE_INCLUDE_FILE
149#define TRACE_INCLUDE_FILE vsock_virtio_transport_common
150
151/* This part must be outside protection */
152#include <trace/define_trace.h>