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 | |
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 | |
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> |
203 | |