Commit | Line | Data |
---|---|---|
b283666f PW |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM net | |
3 | ||
3bc29f0a MD |
4 | #if !defined(LTTNG_TRACE_NET_H) || defined(TRACE_HEADER_MULTI_READ) |
5 | #define LTTNG_TRACE_NET_H | |
b283666f | 6 | |
3bc29f0a | 7 | #include "../../../probes/lttng-tracepoint-event.h" |
b283666f PW |
8 | #include <linux/skbuff.h> |
9 | #include <linux/netdevice.h> | |
10 | #include <linux/ip.h> | |
4a7363f7 | 11 | #include <linux/version.h> |
b283666f | 12 | |
3bc29f0a | 13 | LTTNG_TRACEPOINT_EVENT(net_dev_xmit, |
b283666f | 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 | ||
3bc29f0a | 60 | LTTNG_TRACEPOINT_EVENT_CLASS(net_dev_template, |
b283666f PW |
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 | ||
3bc29f0a | 82 | LTTNG_TRACEPOINT_EVENT_INSTANCE(net_dev_template, net_dev_queue, |
b283666f PW |
83 | |
84 | TP_PROTO(struct sk_buff *skb), | |
85 | ||
86 | TP_ARGS(skb) | |
87 | ) | |
88 | ||
3bc29f0a | 89 | LTTNG_TRACEPOINT_EVENT_INSTANCE(net_dev_template, netif_receive_skb, |
b283666f PW |
90 | |
91 | TP_PROTO(struct sk_buff *skb), | |
92 | ||
93 | TP_ARGS(skb) | |
94 | ) | |
95 | ||
3bc29f0a | 96 | LTTNG_TRACEPOINT_EVENT_INSTANCE(net_dev_template, netif_rx, |
b283666f PW |
97 | |
98 | TP_PROTO(struct sk_buff *skb), | |
99 | ||
100 | TP_ARGS(skb) | |
101 | ) | |
3bc29f0a | 102 | #endif /* LTTNG_TRACE_NET_H */ |
b283666f PW |
103 | |
104 | /* This part must be outside protection */ | |
105 | #include "../../../probes/define_trace.h" |