Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
06a8fc78 AH |
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 | ||
11 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_STREAM); | |
12 | ||
13 | #define show_type(val) \ | |
14 | __print_symbolic(val, { VIRTIO_VSOCK_TYPE_STREAM, "STREAM" }) | |
15 | ||
16 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_INVALID); | |
17 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_REQUEST); | |
18 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RESPONSE); | |
19 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RST); | |
20 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_SHUTDOWN); | |
21 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RW); | |
22 | TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_UPDATE); | |
23 | TRACE_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 | ||
36 | TRACE_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 | ||
82 | TRACE_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> |