cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vsock_virtio_transport_common.h (3678B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#undef TRACE_SYSTEM
      3#define TRACE_SYSTEM vsock
      4
      5#if !defined(_TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H) || \
      6    defined(TRACE_HEADER_MULTI_READ)
      7#define _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H
      8
      9#include <linux/tracepoint.h>
     10
     11TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_STREAM);
     12TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_SEQPACKET);
     13
     14#define show_type(val) \
     15	__print_symbolic(val, \
     16			 { VIRTIO_VSOCK_TYPE_STREAM, "STREAM" }, \
     17			 { VIRTIO_VSOCK_TYPE_SEQPACKET, "SEQPACKET" })
     18
     19TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_INVALID);
     20TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_REQUEST);
     21TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RESPONSE);
     22TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RST);
     23TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_SHUTDOWN);
     24TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RW);
     25TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_UPDATE);
     26TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_REQUEST);
     27
     28#define show_op(val) \
     29	__print_symbolic(val, \
     30			 { VIRTIO_VSOCK_OP_INVALID, "INVALID" }, \
     31			 { VIRTIO_VSOCK_OP_REQUEST, "REQUEST" }, \
     32			 { VIRTIO_VSOCK_OP_RESPONSE, "RESPONSE" }, \
     33			 { VIRTIO_VSOCK_OP_RST, "RST" }, \
     34			 { VIRTIO_VSOCK_OP_SHUTDOWN, "SHUTDOWN" }, \
     35			 { VIRTIO_VSOCK_OP_RW, "RW" }, \
     36			 { VIRTIO_VSOCK_OP_CREDIT_UPDATE, "CREDIT_UPDATE" }, \
     37			 { VIRTIO_VSOCK_OP_CREDIT_REQUEST, "CREDIT_REQUEST" })
     38
     39TRACE_EVENT(virtio_transport_alloc_pkt,
     40	TP_PROTO(
     41		 __u32 src_cid, __u32 src_port,
     42		 __u32 dst_cid, __u32 dst_port,
     43		 __u32 len,
     44		 __u16 type,
     45		 __u16 op,
     46		 __u32 flags
     47	),
     48	TP_ARGS(
     49		src_cid, src_port,
     50		dst_cid, dst_port,
     51		len,
     52		type,
     53		op,
     54		flags
     55	),
     56	TP_STRUCT__entry(
     57		__field(__u32, src_cid)
     58		__field(__u32, src_port)
     59		__field(__u32, dst_cid)
     60		__field(__u32, dst_port)
     61		__field(__u32, len)
     62		__field(__u16, type)
     63		__field(__u16, op)
     64		__field(__u32, flags)
     65	),
     66	TP_fast_assign(
     67		__entry->src_cid = src_cid;
     68		__entry->src_port = src_port;
     69		__entry->dst_cid = dst_cid;
     70		__entry->dst_port = dst_port;
     71		__entry->len = len;
     72		__entry->type = type;
     73		__entry->op = op;
     74		__entry->flags = flags;
     75	),
     76	TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x",
     77		  __entry->src_cid, __entry->src_port,
     78		  __entry->dst_cid, __entry->dst_port,
     79		  __entry->len,
     80		  show_type(__entry->type),
     81		  show_op(__entry->op),
     82		  __entry->flags)
     83);
     84
     85TRACE_EVENT(virtio_transport_recv_pkt,
     86	TP_PROTO(
     87		 __u32 src_cid, __u32 src_port,
     88		 __u32 dst_cid, __u32 dst_port,
     89		 __u32 len,
     90		 __u16 type,
     91		 __u16 op,
     92		 __u32 flags,
     93		 __u32 buf_alloc,
     94		 __u32 fwd_cnt
     95	),
     96	TP_ARGS(
     97		src_cid, src_port,
     98		dst_cid, dst_port,
     99		len,
    100		type,
    101		op,
    102		flags,
    103		buf_alloc,
    104		fwd_cnt
    105	),
    106	TP_STRUCT__entry(
    107		__field(__u32, src_cid)
    108		__field(__u32, src_port)
    109		__field(__u32, dst_cid)
    110		__field(__u32, dst_port)
    111		__field(__u32, len)
    112		__field(__u16, type)
    113		__field(__u16, op)
    114		__field(__u32, flags)
    115		__field(__u32, buf_alloc)
    116		__field(__u32, fwd_cnt)
    117	),
    118	TP_fast_assign(
    119		__entry->src_cid = src_cid;
    120		__entry->src_port = src_port;
    121		__entry->dst_cid = dst_cid;
    122		__entry->dst_port = dst_port;
    123		__entry->len = len;
    124		__entry->type = type;
    125		__entry->op = op;
    126		__entry->flags = flags;
    127		__entry->buf_alloc = buf_alloc;
    128		__entry->fwd_cnt = fwd_cnt;
    129	),
    130	TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x "
    131		  "buf_alloc=%u fwd_cnt=%u",
    132		  __entry->src_cid, __entry->src_port,
    133		  __entry->dst_cid, __entry->dst_port,
    134		  __entry->len,
    135		  show_type(__entry->type),
    136		  show_op(__entry->op),
    137		  __entry->flags,
    138		  __entry->buf_alloc,
    139		  __entry->fwd_cnt)
    140);
    141
    142#endif /* _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H */
    143
    144#undef TRACE_INCLUDE_FILE
    145#define TRACE_INCLUDE_FILE vsock_virtio_transport_common
    146
    147/* This part must be outside protection */
    148#include <trace/define_trace.h>