Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM vsock
0004 
0005 #if !defined(_TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H) || \
0006     defined(TRACE_HEADER_MULTI_READ)
0007 #define _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H
0008 
0009 #include <linux/tracepoint.h>
0010 
0011 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_STREAM);
0012 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_TYPE_SEQPACKET);
0013 
0014 #define show_type(val) \
0015     __print_symbolic(val, \
0016              { VIRTIO_VSOCK_TYPE_STREAM, "STREAM" }, \
0017              { VIRTIO_VSOCK_TYPE_SEQPACKET, "SEQPACKET" })
0018 
0019 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_INVALID);
0020 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_REQUEST);
0021 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RESPONSE);
0022 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RST);
0023 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_SHUTDOWN);
0024 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_RW);
0025 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_UPDATE);
0026 TRACE_DEFINE_ENUM(VIRTIO_VSOCK_OP_CREDIT_REQUEST);
0027 
0028 #define show_op(val) \
0029     __print_symbolic(val, \
0030              { VIRTIO_VSOCK_OP_INVALID, "INVALID" }, \
0031              { VIRTIO_VSOCK_OP_REQUEST, "REQUEST" }, \
0032              { VIRTIO_VSOCK_OP_RESPONSE, "RESPONSE" }, \
0033              { VIRTIO_VSOCK_OP_RST, "RST" }, \
0034              { VIRTIO_VSOCK_OP_SHUTDOWN, "SHUTDOWN" }, \
0035              { VIRTIO_VSOCK_OP_RW, "RW" }, \
0036              { VIRTIO_VSOCK_OP_CREDIT_UPDATE, "CREDIT_UPDATE" }, \
0037              { VIRTIO_VSOCK_OP_CREDIT_REQUEST, "CREDIT_REQUEST" })
0038 
0039 TRACE_EVENT(virtio_transport_alloc_pkt,
0040     TP_PROTO(
0041          __u32 src_cid, __u32 src_port,
0042          __u32 dst_cid, __u32 dst_port,
0043          __u32 len,
0044          __u16 type,
0045          __u16 op,
0046          __u32 flags
0047     ),
0048     TP_ARGS(
0049         src_cid, src_port,
0050         dst_cid, dst_port,
0051         len,
0052         type,
0053         op,
0054         flags
0055     ),
0056     TP_STRUCT__entry(
0057         __field(__u32, src_cid)
0058         __field(__u32, src_port)
0059         __field(__u32, dst_cid)
0060         __field(__u32, dst_port)
0061         __field(__u32, len)
0062         __field(__u16, type)
0063         __field(__u16, op)
0064         __field(__u32, flags)
0065     ),
0066     TP_fast_assign(
0067         __entry->src_cid = src_cid;
0068         __entry->src_port = src_port;
0069         __entry->dst_cid = dst_cid;
0070         __entry->dst_port = dst_port;
0071         __entry->len = len;
0072         __entry->type = type;
0073         __entry->op = op;
0074         __entry->flags = flags;
0075     ),
0076     TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x",
0077           __entry->src_cid, __entry->src_port,
0078           __entry->dst_cid, __entry->dst_port,
0079           __entry->len,
0080           show_type(__entry->type),
0081           show_op(__entry->op),
0082           __entry->flags)
0083 );
0084 
0085 TRACE_EVENT(virtio_transport_recv_pkt,
0086     TP_PROTO(
0087          __u32 src_cid, __u32 src_port,
0088          __u32 dst_cid, __u32 dst_port,
0089          __u32 len,
0090          __u16 type,
0091          __u16 op,
0092          __u32 flags,
0093          __u32 buf_alloc,
0094          __u32 fwd_cnt
0095     ),
0096     TP_ARGS(
0097         src_cid, src_port,
0098         dst_cid, dst_port,
0099         len,
0100         type,
0101         op,
0102         flags,
0103         buf_alloc,
0104         fwd_cnt
0105     ),
0106     TP_STRUCT__entry(
0107         __field(__u32, src_cid)
0108         __field(__u32, src_port)
0109         __field(__u32, dst_cid)
0110         __field(__u32, dst_port)
0111         __field(__u32, len)
0112         __field(__u16, type)
0113         __field(__u16, op)
0114         __field(__u32, flags)
0115         __field(__u32, buf_alloc)
0116         __field(__u32, fwd_cnt)
0117     ),
0118     TP_fast_assign(
0119         __entry->src_cid = src_cid;
0120         __entry->src_port = src_port;
0121         __entry->dst_cid = dst_cid;
0122         __entry->dst_port = dst_port;
0123         __entry->len = len;
0124         __entry->type = type;
0125         __entry->op = op;
0126         __entry->flags = flags;
0127         __entry->buf_alloc = buf_alloc;
0128         __entry->fwd_cnt = fwd_cnt;
0129     ),
0130     TP_printk("%u:%u -> %u:%u len=%u type=%s op=%s flags=%#x "
0131           "buf_alloc=%u fwd_cnt=%u",
0132           __entry->src_cid, __entry->src_port,
0133           __entry->dst_cid, __entry->dst_port,
0134           __entry->len,
0135           show_type(__entry->type),
0136           show_op(__entry->op),
0137           __entry->flags,
0138           __entry->buf_alloc,
0139           __entry->fwd_cnt)
0140 );
0141 
0142 #endif /* _TRACE_VSOCK_VIRTIO_TRANSPORT_COMMON_H */
0143 
0144 #undef TRACE_INCLUDE_FILE
0145 #define TRACE_INCLUDE_FILE vsock_virtio_transport_common
0146 
0147 /* This part must be outside protection */
0148 #include <trace/define_trace.h>