xref: /linux/include/trace/events/skb.h (revision dfff0fa65ab15db45acd64b3189787d37ab163cd)
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM skb
3 
4 #if !defined(_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_SKB_H
6 
7 #include <linux/skbuff.h>
8 #include <linux/tracepoint.h>
9 
10 /*
11  * Tracepoint for free an sk_buff:
12  */
13 TRACE_EVENT(kfree_skb,
14 
15 	TP_PROTO(struct sk_buff *skb, void *location),
16 
17 	TP_ARGS(skb, location),
18 
19 	TP_STRUCT__entry(
20 		__field(	void *,		skbaddr		)
21 		__field(	unsigned short,	protocol	)
22 		__field(	void *,		location	)
23 	),
24 
25 	TP_fast_assign(
26 		__entry->skbaddr = skb;
27 		if (skb) {
28 			__entry->protocol = ntohs(skb->protocol);
29 		}
30 		__entry->location = location;
31 	),
32 
33 	TP_printk("skbaddr=%p protocol=%u location=%p",
34 		__entry->skbaddr, __entry->protocol, __entry->location)
35 );
36 
37 #endif /* _TRACE_SKB_H */
38 
39 /* This part must be outside protection */
40 #include <trace/define_trace.h>
41