blob: e6fd281f7f81b10ecbec5bf2b14c5b4e80d63283 [file] [log] [blame]
Steven Rostedtea20d922009-04-10 08:54:16 -04001#if !defined(_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
2#define _TRACE_SKB_H
Neil Horman4893d392009-03-11 09:48:26 +00003
Josh Stone5393f312009-03-24 09:44:28 +00004#include <linux/skbuff.h>
5#include <linux/tracepoint.h>
6
Steven Rostedtea20d922009-04-10 08:54:16 -04007#undef TRACE_SYSTEM
8#define TRACE_SYSTEM skb
Neil Horman4893d392009-03-11 09:48:26 +00009
Steven Rostedtea20d922009-04-10 08:54:16 -040010/*
11 * Tracepoint for free an sk_buff:
12 */
13TRACE_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 */