Commit | Line | Data |
---|---|---|
8538d29c JK |
1 | /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ |
2 | /* Copyright (C) 2019 Netronome Systems, Inc. */ | |
3 | ||
4 | #undef TRACE_SYSTEM | |
5 | #define TRACE_SYSTEM tls | |
6 | ||
7 | #if !defined(_TLS_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) | |
8 | #define _TLS_TRACE_H_ | |
9 | ||
10 | #include <asm/unaligned.h> | |
11 | #include <linux/tracepoint.h> | |
12 | ||
13 | struct sock; | |
14 | ||
15 | TRACE_EVENT(tls_device_offload_set, | |
16 | ||
17 | TP_PROTO(struct sock *sk, int dir, u32 tcp_seq, u8 *rec_no, int ret), | |
18 | ||
19 | TP_ARGS(sk, dir, tcp_seq, rec_no, ret), | |
20 | ||
21 | TP_STRUCT__entry( | |
22 | __field( struct sock *, sk ) | |
23 | __field( u64, rec_no ) | |
24 | __field( int, dir ) | |
25 | __field( u32, tcp_seq ) | |
26 | __field( int, ret ) | |
27 | ), | |
28 | ||
29 | TP_fast_assign( | |
30 | __entry->sk = sk; | |
31 | __entry->rec_no = get_unaligned_be64(rec_no); | |
32 | __entry->dir = dir; | |
33 | __entry->tcp_seq = tcp_seq; | |
34 | __entry->ret = ret; | |
35 | ), | |
36 | ||
37 | TP_printk( | |
38 | "sk=%p direction=%d tcp_seq=%u rec_no=%llu ret=%d", | |
39 | __entry->sk, __entry->dir, __entry->tcp_seq, __entry->rec_no, | |
40 | __entry->ret | |
41 | ) | |
42 | ); | |
43 | ||
9ec1c6ac JK |
44 | TRACE_EVENT(tls_device_decrypted, |
45 | ||
46 | TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, u32 rec_len, | |
47 | bool encrypted, bool decrypted), | |
48 | ||
49 | TP_ARGS(sk, tcp_seq, rec_no, rec_len, encrypted, decrypted), | |
50 | ||
51 | TP_STRUCT__entry( | |
52 | __field( struct sock *, sk ) | |
53 | __field( u64, rec_no ) | |
54 | __field( u32, tcp_seq ) | |
55 | __field( u32, rec_len ) | |
56 | __field( bool, encrypted ) | |
57 | __field( bool, decrypted ) | |
58 | ), | |
59 | ||
60 | TP_fast_assign( | |
61 | __entry->sk = sk; | |
62 | __entry->rec_no = get_unaligned_be64(rec_no); | |
63 | __entry->tcp_seq = tcp_seq; | |
64 | __entry->rec_len = rec_len; | |
65 | __entry->encrypted = encrypted; | |
66 | __entry->decrypted = decrypted; | |
67 | ), | |
68 | ||
69 | TP_printk( | |
70 | "sk=%p tcp_seq=%u rec_no=%llu len=%u encrypted=%d decrypted=%d", | |
71 | __entry->sk, __entry->tcp_seq, | |
72 | __entry->rec_no, __entry->rec_len, | |
73 | __entry->encrypted, __entry->decrypted | |
74 | ) | |
75 | ); | |
76 | ||
8538d29c JK |
77 | TRACE_EVENT(tls_device_rx_resync_send, |
78 | ||
79 | TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, int sync_type), | |
80 | ||
81 | TP_ARGS(sk, tcp_seq, rec_no, sync_type), | |
82 | ||
83 | TP_STRUCT__entry( | |
84 | __field( struct sock *, sk ) | |
85 | __field( u64, rec_no ) | |
86 | __field( u32, tcp_seq ) | |
87 | __field( int, sync_type ) | |
88 | ), | |
89 | ||
90 | TP_fast_assign( | |
91 | __entry->sk = sk; | |
92 | __entry->rec_no = get_unaligned_be64(rec_no); | |
93 | __entry->tcp_seq = tcp_seq; | |
94 | __entry->sync_type = sync_type; | |
95 | ), | |
96 | ||
97 | TP_printk( | |
98 | "sk=%p tcp_seq=%u rec_no=%llu sync_type=%d", | |
99 | __entry->sk, __entry->tcp_seq, __entry->rec_no, | |
100 | __entry->sync_type | |
101 | ) | |
102 | ); | |
103 | ||
104 | TRACE_EVENT(tls_device_rx_resync_nh_schedule, | |
105 | ||
106 | TP_PROTO(struct sock *sk), | |
107 | ||
108 | TP_ARGS(sk), | |
109 | ||
110 | TP_STRUCT__entry( | |
111 | __field( struct sock *, sk ) | |
112 | ), | |
113 | ||
114 | TP_fast_assign( | |
115 | __entry->sk = sk; | |
116 | ), | |
117 | ||
118 | TP_printk( | |
119 | "sk=%p", __entry->sk | |
120 | ) | |
121 | ); | |
122 | ||
123 | TRACE_EVENT(tls_device_rx_resync_nh_delay, | |
124 | ||
125 | TP_PROTO(struct sock *sk, u32 sock_data, u32 rec_len), | |
126 | ||
127 | TP_ARGS(sk, sock_data, rec_len), | |
128 | ||
129 | TP_STRUCT__entry( | |
130 | __field( struct sock *, sk ) | |
131 | __field( u32, sock_data ) | |
132 | __field( u32, rec_len ) | |
133 | ), | |
134 | ||
135 | TP_fast_assign( | |
136 | __entry->sk = sk; | |
137 | __entry->sock_data = sock_data; | |
138 | __entry->rec_len = rec_len; | |
139 | ), | |
140 | ||
141 | TP_printk( | |
142 | "sk=%p sock_data=%u rec_len=%u", | |
143 | __entry->sk, __entry->sock_data, __entry->rec_len | |
144 | ) | |
145 | ); | |
146 | ||
147 | TRACE_EVENT(tls_device_tx_resync_req, | |
148 | ||
149 | TP_PROTO(struct sock *sk, u32 tcp_seq, u32 exp_tcp_seq), | |
150 | ||
151 | TP_ARGS(sk, tcp_seq, exp_tcp_seq), | |
152 | ||
153 | TP_STRUCT__entry( | |
154 | __field( struct sock *, sk ) | |
155 | __field( u32, tcp_seq ) | |
156 | __field( u32, exp_tcp_seq ) | |
157 | ), | |
158 | ||
159 | TP_fast_assign( | |
160 | __entry->sk = sk; | |
161 | __entry->tcp_seq = tcp_seq; | |
162 | __entry->exp_tcp_seq = exp_tcp_seq; | |
163 | ), | |
164 | ||
165 | TP_printk( | |
166 | "sk=%p tcp_seq=%u exp_tcp_seq=%u", | |
167 | __entry->sk, __entry->tcp_seq, __entry->exp_tcp_seq | |
168 | ) | |
169 | ); | |
170 | ||
171 | TRACE_EVENT(tls_device_tx_resync_send, | |
172 | ||
173 | TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no), | |
174 | ||
175 | TP_ARGS(sk, tcp_seq, rec_no), | |
176 | ||
177 | TP_STRUCT__entry( | |
178 | __field( struct sock *, sk ) | |
179 | __field( u64, rec_no ) | |
180 | __field( u32, tcp_seq ) | |
181 | ), | |
182 | ||
183 | TP_fast_assign( | |
184 | __entry->sk = sk; | |
185 | __entry->rec_no = get_unaligned_be64(rec_no); | |
186 | __entry->tcp_seq = tcp_seq; | |
187 | ), | |
188 | ||
189 | TP_printk( | |
190 | "sk=%p tcp_seq=%u rec_no=%llu", | |
191 | __entry->sk, __entry->tcp_seq, __entry->rec_no | |
192 | ) | |
193 | ); | |
194 | ||
195 | #endif /* _TLS_TRACE_H_ */ | |
196 | ||
197 | #undef TRACE_INCLUDE_PATH | |
198 | #define TRACE_INCLUDE_PATH . | |
199 | #undef TRACE_INCLUDE_FILE | |
200 | #define TRACE_INCLUDE_FILE trace | |
201 | ||
202 | #include <trace/define_trace.h> |