arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / include / trace / events / skb.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM skb
4
5 #if !defined(_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_SKB_H
7
8 #include <linux/skbuff.h>
9 #include <linux/netdevice.h>
10 #include <linux/tracepoint.h>
11
12 #undef FN
13 #define FN(reason)      TRACE_DEFINE_ENUM(SKB_DROP_REASON_##reason);
14 DEFINE_DROP_REASON(FN, FN)
15
16 #undef FN
17 #undef FNe
18 #define FN(reason)      { SKB_DROP_REASON_##reason, #reason },
19 #define FNe(reason)     { SKB_DROP_REASON_##reason, #reason }
20
21 /*
22  * Tracepoint for free an sk_buff:
23  */
24 TRACE_EVENT(kfree_skb,
25
26         TP_PROTO(struct sk_buff *skb, void *location,
27                  enum skb_drop_reason reason),
28
29         TP_ARGS(skb, location, reason),
30
31         TP_STRUCT__entry(
32                 __field(void *,         skbaddr)
33                 __field(void *,         location)
34                 __field(unsigned short, protocol)
35                 __field(enum skb_drop_reason,   reason)
36         ),
37
38         TP_fast_assign(
39                 __entry->skbaddr = skb;
40                 __entry->location = location;
41                 __entry->protocol = ntohs(skb->protocol);
42                 __entry->reason = reason;
43         ),
44
45         TP_printk("skbaddr=%p protocol=%u location=%pS reason: %s",
46                   __entry->skbaddr, __entry->protocol, __entry->location,
47                   __print_symbolic(__entry->reason,
48                                    DEFINE_DROP_REASON(FN, FNe)))
49 );
50
51 #undef FN
52 #undef FNe
53
54 TRACE_EVENT(consume_skb,
55
56         TP_PROTO(struct sk_buff *skb, void *location),
57
58         TP_ARGS(skb, location),
59
60         TP_STRUCT__entry(
61                 __field(        void *, skbaddr)
62                 __field(        void *, location)
63         ),
64
65         TP_fast_assign(
66                 __entry->skbaddr = skb;
67                 __entry->location = location;
68         ),
69
70         TP_printk("skbaddr=%p location=%pS", __entry->skbaddr, __entry->location)
71 );
72
73 TRACE_EVENT(skb_copy_datagram_iovec,
74
75         TP_PROTO(const struct sk_buff *skb, int len),
76
77         TP_ARGS(skb, len),
78
79         TP_STRUCT__entry(
80                 __field(        const void *,           skbaddr         )
81                 __field(        int,                    len             )
82         ),
83
84         TP_fast_assign(
85                 __entry->skbaddr = skb;
86                 __entry->len = len;
87         ),
88
89         TP_printk("skbaddr=%p len=%d", __entry->skbaddr, __entry->len)
90 );
91
92 #endif /* _TRACE_SKB_H */
93
94 /* This part must be outside protection */
95 #include <trace/define_trace.h>