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