2019-10-05 02:19:22 +03: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-05 02:19:23 +03: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-05 02:19:22 +03: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>