2019-10-04 23:19:22 +00:00
|
|
|
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
|
|
|
|
/* Copyright (C) 2019 Netronome Systems, Inc. */
|
|
|
|
|
|
|
|
#undef TRACE_SYSTEM
|
|
|
|
#define TRACE_SYSTEM tls
|
|
|
|
|
|
|
|
#if !defined(_TLS_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
|
|
|
|
#define _TLS_TRACE_H_
|
|
|
|
|
|
|
|
#include <asm/unaligned.h>
|
|
|
|
#include <linux/tracepoint.h>
|
|
|
|
|
|
|
|
struct sock;
|
|
|
|
|
|
|
|
TRACE_EVENT(tls_device_offload_set,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, int dir, u32 tcp_seq, u8 *rec_no, int ret),
|
|
|
|
|
|
|
|
TP_ARGS(sk, dir, tcp_seq, rec_no, ret),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u64, rec_no )
|
|
|
|
__field( int, dir )
|
|
|
|
__field( u32, tcp_seq )
|
|
|
|
__field( int, ret )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->rec_no = get_unaligned_be64(rec_no);
|
|
|
|
__entry->dir = dir;
|
|
|
|
__entry->tcp_seq = tcp_seq;
|
|
|
|
__entry->ret = ret;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p direction=%d tcp_seq=%u rec_no=%llu ret=%d",
|
|
|
|
__entry->sk, __entry->dir, __entry->tcp_seq, __entry->rec_no,
|
|
|
|
__entry->ret
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
2019-10-04 23:19:23 +00:00
|
|
|
TRACE_EVENT(tls_device_decrypted,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, u32 rec_len,
|
|
|
|
bool encrypted, bool decrypted),
|
|
|
|
|
|
|
|
TP_ARGS(sk, tcp_seq, rec_no, rec_len, encrypted, decrypted),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u64, rec_no )
|
|
|
|
__field( u32, tcp_seq )
|
|
|
|
__field( u32, rec_len )
|
|
|
|
__field( bool, encrypted )
|
|
|
|
__field( bool, decrypted )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->rec_no = get_unaligned_be64(rec_no);
|
|
|
|
__entry->tcp_seq = tcp_seq;
|
|
|
|
__entry->rec_len = rec_len;
|
|
|
|
__entry->encrypted = encrypted;
|
|
|
|
__entry->decrypted = decrypted;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p tcp_seq=%u rec_no=%llu len=%u encrypted=%d decrypted=%d",
|
|
|
|
__entry->sk, __entry->tcp_seq,
|
|
|
|
__entry->rec_no, __entry->rec_len,
|
|
|
|
__entry->encrypted, __entry->decrypted
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
2019-10-04 23:19:22 +00:00
|
|
|
TRACE_EVENT(tls_device_rx_resync_send,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no, int sync_type),
|
|
|
|
|
|
|
|
TP_ARGS(sk, tcp_seq, rec_no, sync_type),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u64, rec_no )
|
|
|
|
__field( u32, tcp_seq )
|
|
|
|
__field( int, sync_type )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->rec_no = get_unaligned_be64(rec_no);
|
|
|
|
__entry->tcp_seq = tcp_seq;
|
|
|
|
__entry->sync_type = sync_type;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p tcp_seq=%u rec_no=%llu sync_type=%d",
|
|
|
|
__entry->sk, __entry->tcp_seq, __entry->rec_no,
|
|
|
|
__entry->sync_type
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
TRACE_EVENT(tls_device_rx_resync_nh_schedule,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk),
|
|
|
|
|
|
|
|
TP_ARGS(sk),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p", __entry->sk
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
TRACE_EVENT(tls_device_rx_resync_nh_delay,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, u32 sock_data, u32 rec_len),
|
|
|
|
|
|
|
|
TP_ARGS(sk, sock_data, rec_len),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u32, sock_data )
|
|
|
|
__field( u32, rec_len )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->sock_data = sock_data;
|
|
|
|
__entry->rec_len = rec_len;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p sock_data=%u rec_len=%u",
|
|
|
|
__entry->sk, __entry->sock_data, __entry->rec_len
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
TRACE_EVENT(tls_device_tx_resync_req,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, u32 tcp_seq, u32 exp_tcp_seq),
|
|
|
|
|
|
|
|
TP_ARGS(sk, tcp_seq, exp_tcp_seq),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u32, tcp_seq )
|
|
|
|
__field( u32, exp_tcp_seq )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->tcp_seq = tcp_seq;
|
|
|
|
__entry->exp_tcp_seq = exp_tcp_seq;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p tcp_seq=%u exp_tcp_seq=%u",
|
|
|
|
__entry->sk, __entry->tcp_seq, __entry->exp_tcp_seq
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
TRACE_EVENT(tls_device_tx_resync_send,
|
|
|
|
|
|
|
|
TP_PROTO(struct sock *sk, u32 tcp_seq, u8 *rec_no),
|
|
|
|
|
|
|
|
TP_ARGS(sk, tcp_seq, rec_no),
|
|
|
|
|
|
|
|
TP_STRUCT__entry(
|
|
|
|
__field( struct sock *, sk )
|
|
|
|
__field( u64, rec_no )
|
|
|
|
__field( u32, tcp_seq )
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_fast_assign(
|
|
|
|
__entry->sk = sk;
|
|
|
|
__entry->rec_no = get_unaligned_be64(rec_no);
|
|
|
|
__entry->tcp_seq = tcp_seq;
|
|
|
|
),
|
|
|
|
|
|
|
|
TP_printk(
|
|
|
|
"sk=%p tcp_seq=%u rec_no=%llu",
|
|
|
|
__entry->sk, __entry->tcp_seq, __entry->rec_no
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
#endif /* _TLS_TRACE_H_ */
|
|
|
|
|
|
|
|
#undef TRACE_INCLUDE_PATH
|
|
|
|
#define TRACE_INCLUDE_PATH .
|
|
|
|
#undef TRACE_INCLUDE_FILE
|
|
|
|
#define TRACE_INCLUDE_FILE trace
|
|
|
|
|
|
|
|
#include <trace/define_trace.h>
|