Linux-libre 5.7.3-gnu
[librecmc/linux-libre.git] / net / tls / trace.h
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>