Commit | Line | Data |
---|---|---|
b283666f PW |
1 | #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> | |
4a7363f7 | 11 | #include <linux/version.h> |
b283666f PW |
12 | |
13 | TRACE_EVENT(net_dev_xmit, | |
14 | ||
f95480cf | 15 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40)) |
b283666f PW |
16 | TP_PROTO(struct sk_buff *skb, |
17 | int rc, | |
18 | struct net_device *dev, | |
19 | unsigned int skb_len), | |
20 | ||
21 | TP_ARGS(skb, rc, dev, skb_len), | |
4a7363f7 PW |
22 | #else |
23 | TP_PROTO(struct sk_buff *skb, | |
24 | int rc), | |
25 | ||
26 | TP_ARGS(skb, rc), | |
27 | #endif | |
b283666f PW |
28 | |
29 | TP_STRUCT__entry( | |
30 | __field( void *, skbaddr ) | |
31 | __field( unsigned int, len ) | |
32 | __field( int, rc ) | |
f95480cf | 33 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40)) |
b283666f | 34 | __string( name, dev->name ) |
4a7363f7 PW |
35 | #else |
36 | __string( name, skb->dev->name ) | |
37 | #endif | |
b283666f PW |
38 | ), |
39 | ||
f95480cf | 40 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40)) |
b283666f | 41 | TP_fast_assign( |
d3ac4d63 PW |
42 | tp_assign(skbaddr, skb) |
43 | tp_assign(len, skb_len) | |
44 | tp_assign(rc, rc) | |
45 | tp_strcpy(name, dev->name) | |
b283666f | 46 | ), |
4a7363f7 PW |
47 | #else |
48 | TP_fast_assign( | |
d3ac4d63 PW |
49 | tp_assign(skbaddr, skb) |
50 | tp_assign(len, skb->len) | |
51 | tp_assign(rc, rc) | |
52 | tp_strcpy(name, skb->dev->name) | |
4a7363f7 PW |
53 | ), |
54 | #endif | |
b283666f PW |
55 | |
56 | TP_printk("dev=%s skbaddr=%p len=%u rc=%d", | |
57 | __get_str(name), __entry->skbaddr, __entry->len, __entry->rc) | |
58 | ) | |
59 | ||
60 | DECLARE_EVENT_CLASS(net_dev_template, | |
61 | ||
62 | TP_PROTO(struct sk_buff *skb), | |
63 | ||
64 | TP_ARGS(skb), | |
65 | ||
66 | TP_STRUCT__entry( | |
67 | __field( void *, skbaddr ) | |
68 | __field( unsigned int, len ) | |
69 | __string( name, skb->dev->name ) | |
70 | ), | |
71 | ||
72 | TP_fast_assign( | |
d3ac4d63 PW |
73 | tp_assign(skbaddr, skb) |
74 | tp_assign(len, skb->len) | |
75 | tp_strcpy(name, skb->dev->name) | |
b283666f PW |
76 | ), |
77 | ||
78 | TP_printk("dev=%s skbaddr=%p len=%u", | |
79 | __get_str(name), __entry->skbaddr, __entry->len) | |
80 | ) | |
81 | ||
82 | DEFINE_EVENT(net_dev_template, net_dev_queue, | |
83 | ||
84 | TP_PROTO(struct sk_buff *skb), | |
85 | ||
86 | TP_ARGS(skb) | |
87 | ) | |
88 | ||
89 | DEFINE_EVENT(net_dev_template, netif_receive_skb, | |
90 | ||
91 | TP_PROTO(struct sk_buff *skb), | |
92 | ||
93 | TP_ARGS(skb) | |
94 | ) | |
95 | ||
96 | DEFINE_EVENT(net_dev_template, netif_rx, | |
97 | ||
98 | TP_PROTO(struct sk_buff *skb), | |
99 | ||
100 | TP_ARGS(skb) | |
101 | ) | |
102 | #endif /* _TRACE_NET_H */ | |
103 | ||
104 | /* This part must be outside protection */ | |
105 | #include "../../../probes/define_trace.h" |