Add kernel probes for supplementary subsystems
[lttng-modules.git] / instrumentation / events / lttng-module / net.h
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>
11
12 TRACE_EVENT(net_dev_xmit,
13
14 TP_PROTO(struct sk_buff *skb,
15 int rc,
16 struct net_device *dev,
17 unsigned int skb_len),
18
19 TP_ARGS(skb, rc, dev, skb_len),
20
21 TP_STRUCT__entry(
22 __field( void *, skbaddr )
23 __field( unsigned int, len )
24 __field( int, rc )
25 __string( name, dev->name )
26 ),
27
28 TP_fast_assign(
29 tp_assign(skbaddr, skb);
30 tp_assign(len, skb_len);
31 tp_assign(rc, rc);
32 tp_strcpy(name, dev->name);
33 ),
34
35 TP_printk("dev=%s skbaddr=%p len=%u rc=%d",
36 __get_str(name), __entry->skbaddr, __entry->len, __entry->rc)
37 )
38
39 DECLARE_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 tp_assign(skbaddr, skb);
53 tp_assign(len, skb->len);
54 tp_strcpy(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
61 DEFINE_EVENT(net_dev_template, net_dev_queue,
62
63 TP_PROTO(struct sk_buff *skb),
64
65 TP_ARGS(skb)
66 )
67
68 DEFINE_EVENT(net_dev_template, netif_receive_skb,
69
70 TP_PROTO(struct sk_buff *skb),
71
72 TP_ARGS(skb)
73 )
74
75 DEFINE_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 "../../../probes/define_trace.h"
This page took 0.031828 seconds and 4 git commands to generate.