Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
0002 /* Copyright (C) 2019 Netronome Systems, Inc. */
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 /* _TLS_TRACE_H_ */
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>