0001
0002
0003
0004 #undef TRACE_SYSTEM
0005 #define TRACE_SYSTEM tls
0006
0007 #if !defined(_TLS_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
0008 #define _TLS_TRACE_H_
0009
0010 #include <asm/unaligned.h>
0011 #include <linux/tracepoint.h>
0012
0013 struct sock;
0014
0015 TRACE_EVENT(tls_device_offload_set,
0016
0017 TP_PROTO(struct sock *sk, int dir, u32 tcp_seq, u8 *rec_no, int ret),
0018
0019 TP_ARGS(sk, dir, tcp_seq, rec_no, ret),
0020
0021 TP_STRUCT__entry(
0022 __field( struct sock *, sk )
0023 __field( u64, rec_no )
0024 __field( int, dir )
0025 __field( u32, tcp_seq )
0026 __field( int, ret )
0027 ),
0028
0029 TP_fast_assign(
0030 __entry->sk = sk;
0031 __entry->rec_no = get_unaligned_be64(rec_no);
0032 __entry->dir = dir;
0033 __entry->tcp_seq = tcp_seq;
0034 __entry->ret = ret;
0035 ),
0036
0037 TP_printk(
0038 "sk=%p direction=%d tcp_seq=%u rec_no=%llu ret=%d",
0039 __entry->sk, __entry->dir, __entry->tcp_seq, __entry->rec_no,
0040 __entry->ret
0041 )
0042 );
0043
0044 TRACE_EVENT(tls_device_decrypted,
0045
0046 TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, u32 rec_len,
0047 bool encrypted, bool decrypted),
0048
0049 TP_ARGS(sk, tcp_seq, rec_no, rec_len, encrypted, decrypted),
0050
0051 TP_STRUCT__entry(
0052 __field( struct sock *, sk )
0053 __field( u64, rec_no )
0054 __field( u32, tcp_seq )
0055 __field( u32, rec_len )
0056 __field( bool, encrypted )
0057 __field( bool, decrypted )
0058 ),
0059
0060 TP_fast_assign(
0061 __entry->sk = sk;
0062 __entry->rec_no = get_unaligned_be64(rec_no);
0063 __entry->tcp_seq = tcp_seq;
0064 __entry->rec_len = rec_len;
0065 __entry->encrypted = encrypted;
0066 __entry->decrypted = decrypted;
0067 ),
0068
0069 TP_printk(
0070 "sk=%p tcp_seq=%u rec_no=%llu len=%u encrypted=%d decrypted=%d",
0071 __entry->sk, __entry->tcp_seq,
0072 __entry->rec_no, __entry->rec_len,
0073 __entry->encrypted, __entry->decrypted
0074 )
0075 );
0076
0077 TRACE_EVENT(tls_device_rx_resync_send,
0078
0079 TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, int sync_type),
0080
0081 TP_ARGS(sk, tcp_seq, rec_no, sync_type),
0082
0083 TP_STRUCT__entry(
0084 __field( struct sock *, sk )
0085 __field( u64, rec_no )
0086 __field( u32, tcp_seq )
0087 __field( int, sync_type )
0088 ),
0089
0090 TP_fast_assign(
0091 __entry->sk = sk;
0092 __entry->rec_no = get_unaligned_be64(rec_no);
0093 __entry->tcp_seq = tcp_seq;
0094 __entry->sync_type = sync_type;
0095 ),
0096
0097 TP_printk(
0098 "sk=%p tcp_seq=%u rec_no=%llu sync_type=%d",
0099 __entry->sk, __entry->tcp_seq, __entry->rec_no,
0100 __entry->sync_type
0101 )
0102 );
0103
0104 TRACE_EVENT(tls_device_rx_resync_nh_schedule,
0105
0106 TP_PROTO(struct sock *sk),
0107
0108 TP_ARGS(sk),
0109
0110 TP_STRUCT__entry(
0111 __field( struct sock *, sk )
0112 ),
0113
0114 TP_fast_assign(
0115 __entry->sk = sk;
0116 ),
0117
0118 TP_printk(
0119 "sk=%p", __entry->sk
0120 )
0121 );
0122
0123 TRACE_EVENT(tls_device_rx_resync_nh_delay,
0124
0125 TP_PROTO(struct sock *sk, u32 sock_data, u32 rec_len),
0126
0127 TP_ARGS(sk, sock_data, rec_len),
0128
0129 TP_STRUCT__entry(
0130 __field( struct sock *, sk )
0131 __field( u32, sock_data )
0132 __field( u32, rec_len )
0133 ),
0134
0135 TP_fast_assign(
0136 __entry->sk = sk;
0137 __entry->sock_data = sock_data;
0138 __entry->rec_len = rec_len;
0139 ),
0140
0141 TP_printk(
0142 "sk=%p sock_data=%u rec_len=%u",
0143 __entry->sk, __entry->sock_data, __entry->rec_len
0144 )
0145 );
0146
0147 TRACE_EVENT(tls_device_tx_resync_req,
0148
0149 TP_PROTO(struct sock *sk, u32 tcp_seq, u32 exp_tcp_seq),
0150
0151 TP_ARGS(sk, tcp_seq, exp_tcp_seq),
0152
0153 TP_STRUCT__entry(
0154 __field( struct sock *, sk )
0155 __field( u32, tcp_seq )
0156 __field( u32, exp_tcp_seq )
0157 ),
0158
0159 TP_fast_assign(
0160 __entry->sk = sk;
0161 __entry->tcp_seq = tcp_seq;
0162 __entry->exp_tcp_seq = exp_tcp_seq;
0163 ),
0164
0165 TP_printk(
0166 "sk=%p tcp_seq=%u exp_tcp_seq=%u",
0167 __entry->sk, __entry->tcp_seq, __entry->exp_tcp_seq
0168 )
0169 );
0170
0171 TRACE_EVENT(tls_device_tx_resync_send,
0172
0173 TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no),
0174
0175 TP_ARGS(sk, tcp_seq, rec_no),
0176
0177 TP_STRUCT__entry(
0178 __field( struct sock *, sk )
0179 __field( u64, rec_no )
0180 __field( u32, tcp_seq )
0181 ),
0182
0183 TP_fast_assign(
0184 __entry->sk = sk;
0185 __entry->rec_no = get_unaligned_be64(rec_no);
0186 __entry->tcp_seq = tcp_seq;
0187 ),
0188
0189 TP_printk(
0190 "sk=%p tcp_seq=%u rec_no=%llu",
0191 __entry->sk, __entry->tcp_seq, __entry->rec_no
0192 )
0193 );
0194
0195 #endif
0196
0197 #undef TRACE_INCLUDE_PATH
0198 #define TRACE_INCLUDE_PATH .
0199 #undef TRACE_INCLUDE_FILE
0200 #define TRACE_INCLUDE_FILE trace
0201
0202 #include <trace/define_trace.h>