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);
  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>
 149