PATH:
usr
/
src
/
kernels
/
5.14.0-611.49.2.el9_7.x86_64
/
include
/
trace
/
events
/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM handshake #if !defined(_TRACE_HANDSHAKE_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_HANDSHAKE_H #include <linux/net.h> #include <net/tls_prot.h> #include <linux/tracepoint.h> #include <trace/events/net_probe_common.h> #define TLS_RECORD_TYPE_LIST \ record_type(CHANGE_CIPHER_SPEC) \ record_type(ALERT) \ record_type(HANDSHAKE) \ record_type(DATA) \ record_type(HEARTBEAT) \ record_type(TLS12_CID) \ record_type_end(ACK) #undef record_type #undef record_type_end #define record_type(x) TRACE_DEFINE_ENUM(TLS_RECORD_TYPE_##x); #define record_type_end(x) TRACE_DEFINE_ENUM(TLS_RECORD_TYPE_##x); TLS_RECORD_TYPE_LIST #undef record_type #undef record_type_end #define record_type(x) { TLS_RECORD_TYPE_##x, #x }, #define record_type_end(x) { TLS_RECORD_TYPE_##x, #x } #define show_tls_content_type(type) \ __print_symbolic(type, TLS_RECORD_TYPE_LIST) TRACE_DEFINE_ENUM(TLS_ALERT_LEVEL_WARNING); TRACE_DEFINE_ENUM(TLS_ALERT_LEVEL_FATAL); #define show_tls_alert_level(level) \ __print_symbolic(level, \ { TLS_ALERT_LEVEL_WARNING, "Warning" }, \ { TLS_ALERT_LEVEL_FATAL, "Fatal" }) #define TLS_ALERT_DESCRIPTION_LIST \ alert_description(CLOSE_NOTIFY) \ alert_description(UNEXPECTED_MESSAGE) \ alert_description(BAD_RECORD_MAC) \ alert_description(RECORD_OVERFLOW) \ alert_description(HANDSHAKE_FAILURE) \ alert_description(BAD_CERTIFICATE) \ alert_description(UNSUPPORTED_CERTIFICATE) \ alert_description(CERTIFICATE_REVOKED) \ alert_description(CERTIFICATE_EXPIRED) \ alert_description(CERTIFICATE_UNKNOWN) \ alert_description(ILLEGAL_PARAMETER) \ alert_description(UNKNOWN_CA) \ alert_description(ACCESS_DENIED) \ alert_description(DECODE_ERROR) \ alert_description(DECRYPT_ERROR) \ alert_description(TOO_MANY_CIDS_REQUESTED) \ alert_description(PROTOCOL_VERSION) \ alert_description(INSUFFICIENT_SECURITY) \ alert_description(INTERNAL_ERROR) \ alert_description(INAPPROPRIATE_FALLBACK) \ alert_description(USER_CANCELED) \ alert_description(MISSING_EXTENSION) \ alert_description(UNSUPPORTED_EXTENSION) \ alert_description(UNRECOGNIZED_NAME) \ alert_description(BAD_CERTIFICATE_STATUS_RESPONSE) \ alert_description(UNKNOWN_PSK_IDENTITY) \ alert_description(CERTIFICATE_REQUIRED) \ alert_description_end(NO_APPLICATION_PROTOCOL) #undef alert_description #undef alert_description_end #define alert_description(x) TRACE_DEFINE_ENUM(TLS_ALERT_DESC_##x); #define alert_description_end(x) TRACE_DEFINE_ENUM(TLS_ALERT_DESC_##x); TLS_ALERT_DESCRIPTION_LIST #undef alert_description #undef alert_description_end #define alert_description(x) { TLS_ALERT_DESC_##x, #x }, #define alert_description_end(x) { TLS_ALERT_DESC_##x, #x } #define show_tls_alert_description(desc) \ __print_symbolic(desc, TLS_ALERT_DESCRIPTION_LIST) DECLARE_EVENT_CLASS(handshake_event_class, TP_PROTO( const struct net *net, const struct handshake_req *req, const struct sock *sk ), TP_ARGS(net, req, sk), TP_STRUCT__entry( __field(const void *, req) __field(const void *, sk) __field(unsigned int, netns_ino) ), TP_fast_assign( __entry->req = req; __entry->sk = sk; __entry->netns_ino = net->ns.inum; ), TP_printk("req=%p sk=%p", __entry->req, __entry->sk ) ); #define DEFINE_HANDSHAKE_EVENT(name) \ DEFINE_EVENT(handshake_event_class, name, \ TP_PROTO( \ const struct net *net, \ const struct handshake_req *req, \ const struct sock *sk \ ), \ TP_ARGS(net, req, sk)) DECLARE_EVENT_CLASS(handshake_fd_class, TP_PROTO( const struct net *net, const struct handshake_req *req, const struct sock *sk, int fd ), TP_ARGS(net, req, sk, fd), TP_STRUCT__entry( __field(const void *, req) __field(const void *, sk) __field(int, fd) __field(unsigned int, netns_ino) ), TP_fast_assign( __entry->req = req; __entry->sk = req->hr_sk; __entry->fd = fd; __entry->netns_ino = net->ns.inum; ), TP_printk("req=%p sk=%p fd=%d", __entry->req, __entry->sk, __entry->fd ) ); #define DEFINE_HANDSHAKE_FD_EVENT(name) \ DEFINE_EVENT(handshake_fd_class, name, \ TP_PROTO( \ const struct net *net, \ const struct handshake_req *req, \ const struct sock *sk, \ int fd \ ), \ TP_ARGS(net, req, sk, fd)) DECLARE_EVENT_CLASS(handshake_error_class, TP_PROTO( const struct net *net, const struct handshake_req *req, const struct sock *sk, int err ), TP_ARGS(net, req, sk, err), TP_STRUCT__entry( __field(const void *, req) __field(const void *, sk) __field(int, err) __field(unsigned int, netns_ino) ), TP_fast_assign( __entry->req = req; __entry->sk = sk; __entry->err = err; __entry->netns_ino = net->ns.inum; ), TP_printk("req=%p sk=%p err=%d", __entry->req, __entry->sk, __entry->err ) ); #define DEFINE_HANDSHAKE_ERROR(name) \ DEFINE_EVENT(handshake_error_class, name, \ TP_PROTO( \ const struct net *net, \ const struct handshake_req *req, \ const struct sock *sk, \ int err \ ), \ TP_ARGS(net, req, sk, err)) DECLARE_EVENT_CLASS(handshake_alert_class, TP_PROTO( const struct sock *sk, unsigned char level, unsigned char description ), TP_ARGS(sk, level, description), TP_STRUCT__entry( /* sockaddr_in6 is always bigger than sockaddr_in */ __array(__u8, saddr, sizeof(struct sockaddr_in6)) __array(__u8, daddr, sizeof(struct sockaddr_in6)) __field(unsigned int, netns_ino) __field(unsigned long, level) __field(unsigned long, description) ), TP_fast_assign( const struct inet_sock *inet = inet_sk(sk); memset(__entry->saddr, 0, sizeof(struct sockaddr_in6)); memset(__entry->daddr, 0, sizeof(struct sockaddr_in6)); TP_STORE_ADDR_PORTS(__entry, inet, sk); __entry->netns_ino = sock_net(sk)->ns.inum; __entry->level = level; __entry->description = description; ), TP_printk("src=%pISpc dest=%pISpc %s: %s", __entry->saddr, __entry->daddr, show_tls_alert_level(__entry->level), show_tls_alert_description(__entry->description) ) ); #define DEFINE_HANDSHAKE_ALERT(name) \ DEFINE_EVENT(handshake_alert_class, name, \ TP_PROTO( \ const struct sock *sk, \ unsigned char level, \ unsigned char description \ ), \ TP_ARGS(sk, level, description)) /* * Request lifetime events */ DEFINE_HANDSHAKE_EVENT(handshake_submit); DEFINE_HANDSHAKE_ERROR(handshake_submit_err); DEFINE_HANDSHAKE_EVENT(handshake_cancel); DEFINE_HANDSHAKE_EVENT(handshake_cancel_none); DEFINE_HANDSHAKE_EVENT(handshake_cancel_busy); DEFINE_HANDSHAKE_EVENT(handshake_destruct); TRACE_EVENT(handshake_complete, TP_PROTO( const struct net *net, const struct handshake_req *req, const struct sock *sk, int status ), TP_ARGS(net, req, sk, status), TP_STRUCT__entry( __field(const void *, req) __field(const void *, sk) __field(int, status) __field(unsigned int, netns_ino) ), TP_fast_assign( __entry->req = req; __entry->sk = sk; __entry->status = status; __entry->netns_ino = net->ns.inum; ), TP_printk("req=%p sk=%p status=%d", __entry->req, __entry->sk, __entry->status ) ); /* * Netlink events */ DEFINE_HANDSHAKE_ERROR(handshake_notify_err); DEFINE_HANDSHAKE_FD_EVENT(handshake_cmd_accept); DEFINE_HANDSHAKE_ERROR(handshake_cmd_accept_err); DEFINE_HANDSHAKE_FD_EVENT(handshake_cmd_done); DEFINE_HANDSHAKE_ERROR(handshake_cmd_done_err); /* * TLS Record events */ TRACE_EVENT(tls_contenttype, TP_PROTO( const struct sock *sk, unsigned char type ), TP_ARGS(sk, type), TP_STRUCT__entry( /* sockaddr_in6 is always bigger than sockaddr_in */ __array(__u8, saddr, sizeof(struct sockaddr_in6)) __array(__u8, daddr, sizeof(struct sockaddr_in6)) __field(unsigned int, netns_ino) __field(unsigned long, type) ), TP_fast_assign( const struct inet_sock *inet = inet_sk(sk); memset(__entry->saddr, 0, sizeof(struct sockaddr_in6)); memset(__entry->daddr, 0, sizeof(struct sockaddr_in6)); TP_STORE_ADDR_PORTS(__entry, inet, sk); __entry->netns_ino = sock_net(sk)->ns.inum; __entry->type = type; ), TP_printk("src=%pISpc dest=%pISpc %s", __entry->saddr, __entry->daddr, show_tls_content_type(__entry->type) ) ); /* * TLS Alert events */ DEFINE_HANDSHAKE_ALERT(tls_alert_send); DEFINE_HANDSHAKE_ALERT(tls_alert_recv); #endif /* _TRACE_HANDSHAKE_H */ #include <trace/define_trace.h>
[-] fsi_master_gpio.h
[edit]
[-] rtc.h
[edit]
[-] sunvnet.h
[edit]
[-] iocost.h
[edit]
[-] preemptirq.h
[edit]
[-] xdp.h
[edit]
[-] vmalloc.h
[edit]
[-] neigh.h
[edit]
[-] huge_memory.h
[edit]
[-] fsi_master_aspeed.h
[edit]
[-] percpu.h
[edit]
[-] power.h
[edit]
[-] rwmmio.h
[edit]
[-] printk.h
[edit]
[-] iscsi.h
[edit]
[-] bridge.h
[edit]
[-] mlxsw.h
[edit]
[-] page_isolation.h
[edit]
[-] workqueue.h
[edit]
[-] oom.h
[edit]
[-] hw_pressure.h
[edit]
[-] migrate.h
[edit]
[-] spmi.h
[edit]
[-] irq.h
[edit]
[-] ib_umad.h
[edit]
[-] jbd2.h
[edit]
[-] fs_dax.h
[edit]
[-] siox.h
[edit]
[-] rxrpc.h
[edit]
[-] devlink.h
[edit]
[-] smbus.h
[edit]
[-] osnoise.h
[edit]
[-] netfs.h
[edit]
[-] spi.h
[edit]
[-] fscache.h
[edit]
[-] nbd.h
[edit]
[-] sof.h
[edit]
[-] nilfs2.h
[edit]
[-] rdma_core.h
[edit]
[-] irq_matrix.h
[edit]
[-] module.h
[edit]
[-] asoc.h
[edit]
[-] mce.h
[edit]
[-] intel_ifs.h
[edit]
[-] filelock.h
[edit]
[-] page_pool.h
[edit]
[-] io_uring.h
[edit]
[-] cgroup.h
[edit]
[-] net_probe_common.h
[edit]
[-] clk.h
[edit]
[-] kyber.h
[edit]
[-] damon.h
[edit]
[-] skb.h
[edit]
[-] syscalls.h
[edit]
[-] rcu.h
[edit]
[-] devfreq.h
[edit]
[-] netlink.h
[edit]
[-] tegra_apb_dma.h
[edit]
[-] cachefiles.h
[edit]
[-] sof_intel.h
[edit]
[-] 9p.h
[edit]
[-] rpcrdma.h
[edit]
[-] avc.h
[edit]
[-] fib6.h
[edit]
[-] compaction.h
[edit]
[-] libata.h
[edit]
[-] rpm.h
[edit]
[-] ksm.h
[edit]
[-] intel-sst.h
[edit]
[-] mmap.h
[edit]
[-] block.h
[edit]
[-] page_ref.h
[edit]
[-] qla.h
[edit]
[-] cma.h
[edit]
[-] wbt.h
[edit]
[-] writeback.h
[edit]
[-] i2c.h
[edit]
[-] fsi.h
[edit]
[-] fib.h
[edit]
[-] f2fs.h
[edit]
[-] swiotlb.h
[edit]
[-] scmi.h
[edit]
[-] sock.h
[edit]
[-] v4l2.h
[edit]
[-] qdisc.h
[edit]
[-] rseq.h
[edit]
[-] sctp.h
[edit]
[-] iommu.h
[edit]
[-] vmscan.h
[edit]
[-] cpuhp.h
[edit]
[-] scsi.h
[edit]
[-] ib_mad.h
[edit]
[-] i2c_slave.h
[edit]
[-] bpf_test_run.h
[edit]
[-] target.h
[edit]
[-] dma.h
[edit]
[-] pwm.h
[edit]
[-] dma_fence.h
[edit]
[-] mmflags.h
[edit]
[-] timer.h
[edit]
[-] xen.h
[edit]
[-] gpu_mem.h
[edit]
[-] afs.h
[edit]
[-] btrfs.h
[edit]
[-] gpio.h
[edit]
[-] mdio.h
[edit]
[-] napi.h
[edit]
[-] mmc.h
[edit]
[-] lock.h
[edit]
[-] nmi.h
[edit]
[-] tcp.h
[edit]
[-] mptcp.h
[edit]
[-] kmem.h
[edit]
[-] ext4.h
[edit]
[-] regulator.h
[edit]
[-] fsi_master_ast_cf.h
[edit]
[-] mmap_lock.h
[edit]
[-] pwc.h
[edit]
[-] maple_tree.h
[edit]
[-] qrtr.h
[edit]
[-] pagemap.h
[edit]
[-] vb2.h
[edit]
[-] udp.h
[edit]
[-] signal.h
[edit]
[-] kvm.h
[edit]
[-] handshake.h
[edit]
[-] context_tracking.h
[edit]
[-] vsock_virtio_transport_common.h
[edit]
[-] alarmtimer.h
[edit]
[-] ipi.h
[edit]
[-] task.h
[edit]
[-] objagg.h
[edit]
[-] filemap.h
[edit]
[-] erofs.h
[edit]
[-] sunrpc.h
[edit]
[-] thp.h
[edit]
[-] rpcgss.h
[edit]
[-] initcall.h
[edit]
[-] bcache.h
[edit]
[-] net.h
[edit]
[-] csd.h
[edit]
[-] tlb.h
[edit]
[-] power_cpu_migrate.h
[edit]
[-] error_report.h
[edit]
[-] intel_ish.h
[edit]
[+]
..
[-] sched.h
[edit]
[-] host1x.h
[edit]
[-] hwmon.h
[edit]