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