blob: f99645d05a8f201eea78a399468e51b3876d2019 [file] [log] [blame]
Koki Sanagicf66ba52010-08-23 18:45:02 +09001#undef TRACE_SYSTEM
2#define TRACE_SYSTEM net
3
4#if !defined(_TRACE_NET_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_NET_H
6
7#include <linux/skbuff.h>
8#include <linux/netdevice.h>
9#include <linux/ip.h>
10#include <linux/tracepoint.h>
11
12TRACE_EVENT(net_dev_xmit,
13
14 TP_PROTO(struct sk_buff *skb,
Koki Sanagiec764bf2011-05-30 21:48:34 +000015 int rc,
16 struct net_device *dev,
17 unsigned int skb_len),
Koki Sanagicf66ba52010-08-23 18:45:02 +090018
Koki Sanagiec764bf2011-05-30 21:48:34 +000019 TP_ARGS(skb, rc, dev, skb_len),
Koki Sanagicf66ba52010-08-23 18:45:02 +090020
21 TP_STRUCT__entry(
22 __field( void *, skbaddr )
23 __field( unsigned int, len )
24 __field( int, rc )
Koki Sanagiec764bf2011-05-30 21:48:34 +000025 __string( name, dev->name )
Koki Sanagicf66ba52010-08-23 18:45:02 +090026 ),
27
28 TP_fast_assign(
29 __entry->skbaddr = skb;
Koki Sanagiec764bf2011-05-30 21:48:34 +000030 __entry->len = skb_len;
Koki Sanagicf66ba52010-08-23 18:45:02 +090031 __entry->rc = rc;
Koki Sanagiec764bf2011-05-30 21:48:34 +000032 __assign_str(name, dev->name);
Koki Sanagicf66ba52010-08-23 18:45:02 +090033 ),
34
35 TP_printk("dev=%s skbaddr=%p len=%u rc=%d",
36 __get_str(name), __entry->skbaddr, __entry->len, __entry->rc)
37);
38
39DECLARE_EVENT_CLASS(net_dev_template,
40
41 TP_PROTO(struct sk_buff *skb),
42
43 TP_ARGS(skb),
44
45 TP_STRUCT__entry(
46 __field( void *, skbaddr )
47 __field( unsigned int, len )
48 __string( name, skb->dev->name )
49 ),
50
51 TP_fast_assign(
52 __entry->skbaddr = skb;
53 __entry->len = skb->len;
54 __assign_str(name, skb->dev->name);
55 ),
56
57 TP_printk("dev=%s skbaddr=%p len=%u",
58 __get_str(name), __entry->skbaddr, __entry->len)
59)
60
61DEFINE_EVENT(net_dev_template, net_dev_queue,
62
63 TP_PROTO(struct sk_buff *skb),
64
65 TP_ARGS(skb)
66);
67
68DEFINE_EVENT(net_dev_template, netif_receive_skb,
69
70 TP_PROTO(struct sk_buff *skb),
71
72 TP_ARGS(skb)
73);
74
75DEFINE_EVENT(net_dev_template, netif_rx,
76
77 TP_PROTO(struct sk_buff *skb),
78
79 TP_ARGS(skb)
80);
81#endif /* _TRACE_NET_H */
82
83/* This part must be outside protection */
84#include <trace/define_trace.h>