2021-11-01 10:39:12 +03:00
/* SPDX-License-Identifier: GPL-2.0 */
# undef TRACE_SYSTEM
# define TRACE_SYSTEM smc
# if !defined(_TRACE_SMC_H) || defined(TRACE_HEADER_MULTI_READ)
# define _TRACE_SMC_H
# include <linux/ipv6.h>
# include <linux/tcp.h>
# include <linux/tracepoint.h>
# include <net/ipv6.h>
# include "smc.h"
# include "smc_core.h"
TRACE_EVENT ( smc_switch_to_fallback ,
TP_PROTO ( const struct smc_sock * smc , int fallback_rsn ) ,
TP_ARGS ( smc , fallback_rsn ) ,
TP_STRUCT__entry (
__field ( const void * , sk )
__field ( const void * , clcsk )
2021-12-28 16:06:12 +03:00
__field ( u64 , net_cookie )
2021-11-01 10:39:12 +03:00
__field ( int , fallback_rsn )
) ,
TP_fast_assign (
const struct sock * sk = & smc - > sk ;
const struct sock * clcsk = smc - > clcsock - > sk ;
__entry - > sk = sk ;
__entry - > clcsk = clcsk ;
2021-12-28 16:06:12 +03:00
__entry - > net_cookie = sock_net ( sk ) - > net_cookie ;
2021-11-01 10:39:12 +03:00
__entry - > fallback_rsn = fallback_rsn ;
) ,
2021-12-28 16:06:12 +03:00
TP_printk ( " sk=%p clcsk=%p net=%llu fallback_rsn=%d " ,
__entry - > sk , __entry - > clcsk ,
__entry - > net_cookie , __entry - > fallback_rsn )
2021-11-01 10:39:12 +03:00
) ;
2021-11-01 10:39:14 +03:00
DECLARE_EVENT_CLASS ( smc_msg_event ,
TP_PROTO ( const struct smc_sock * smc , size_t len ) ,
TP_ARGS ( smc , len ) ,
TP_STRUCT__entry (
__field ( const void * , smc )
2021-12-28 16:06:12 +03:00
__field ( u64 , net_cookie )
2021-11-01 10:39:14 +03:00
__field ( size_t , len )
__string ( name , smc - > conn . lnk - > ibname )
) ,
TP_fast_assign (
2021-12-28 16:06:12 +03:00
const struct sock * sk = & smc - > sk ;
2021-11-01 10:39:14 +03:00
__entry - > smc = smc ;
2021-12-28 16:06:12 +03:00
__entry - > net_cookie = sock_net ( sk ) - > net_cookie ;
2021-11-01 10:39:14 +03:00
__entry - > len = len ;
__assign_str ( name , smc - > conn . lnk - > ibname ) ;
) ,
2021-12-28 16:06:12 +03:00
TP_printk ( " smc=%p net=%llu len=%zu dev=%s " ,
__entry - > smc , __entry - > net_cookie ,
__entry - > len , __get_str ( name ) )
2021-11-01 10:39:14 +03:00
) ;
DEFINE_EVENT ( smc_msg_event , smc_tx_sendmsg ,
TP_PROTO ( const struct smc_sock * smc , size_t len ) ,
TP_ARGS ( smc , len )
) ;
DEFINE_EVENT ( smc_msg_event , smc_rx_recvmsg ,
TP_PROTO ( const struct smc_sock * smc , size_t len ) ,
TP_ARGS ( smc , len )
) ;
2021-11-01 10:39:16 +03:00
TRACE_EVENT ( smcr_link_down ,
TP_PROTO ( const struct smc_link * lnk , void * location ) ,
TP_ARGS ( lnk , location ) ,
TP_STRUCT__entry (
__field ( const void * , lnk )
__field ( const void * , lgr )
2021-12-28 16:06:12 +03:00
__field ( u64 , net_cookie )
2021-11-01 10:39:16 +03:00
__field ( int , state )
__string ( name , lnk - > ibname )
__field ( void * , location )
) ,
TP_fast_assign (
const struct smc_link_group * lgr = lnk - > lgr ;
__entry - > lnk = lnk ;
__entry - > lgr = lgr ;
2021-12-28 16:06:12 +03:00
__entry - > net_cookie = lgr - > net - > net_cookie ;
2021-11-01 10:39:16 +03:00
__entry - > state = lnk - > state ;
__assign_str ( name , lnk - > ibname ) ;
__entry - > location = location ;
) ,
2021-12-28 16:06:12 +03:00
TP_printk ( " lnk=%p lgr=%p net=%llu state=%d dev=%s location=%pS " ,
__entry - > lnk , __entry - > lgr , __entry - > net_cookie ,
2021-11-01 10:39:16 +03:00
__entry - > state , __get_str ( name ) ,
__entry - > location )
) ;
2021-11-01 10:39:12 +03:00
# endif /* _TRACE_SMC_H */
# undef TRACE_INCLUDE_PATH
# define TRACE_INCLUDE_PATH .
# undef TRACE_INCLUDE_FILE
# define TRACE_INCLUDE_FILE smc_tracepoint
# include <trace/define_trace.h>