forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
4.0 KiB
202 lines
4.0 KiB
/* 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 |
|
) |
|
); |
|
|
|
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 |
|
) |
|
); |
|
|
|
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>
|
|
|