Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */
2 : : #undef TRACE_SYSTEM
3 : : #define TRACE_SYSTEM skb
4 : :
5 : : #if !defined(_TRACE_SKB_H) || defined(TRACE_HEADER_MULTI_READ)
6 : : #define _TRACE_SKB_H
7 : :
8 : : #include <linux/skbuff.h>
9 : : #include <linux/netdevice.h>
10 : : #include <linux/tracepoint.h>
11 : :
12 : : /*
13 : : * Tracepoint for free an sk_buff:
14 : : */
15 [ - + - - : 17063 : TRACE_EVENT(kfree_skb,
- - - - ]
16 : :
17 : : TP_PROTO(struct sk_buff *skb, void *location),
18 : :
19 : : TP_ARGS(skb, location),
20 : :
21 : : TP_STRUCT__entry(
22 : : __field( void *, skbaddr )
23 : : __field( void *, location )
24 : : __field( unsigned short, protocol )
25 : : ),
26 : :
27 : : TP_fast_assign(
28 : : __entry->skbaddr = skb;
29 : : __entry->location = location;
30 : : __entry->protocol = ntohs(skb->protocol);
31 : : ),
32 : :
33 : : TP_printk("skbaddr=%p protocol=%u location=%p",
34 : : __entry->skbaddr, __entry->protocol, __entry->location)
35 : : );
36 : :
37 [ - + - - : 90597 : TRACE_EVENT(consume_skb,
- - - - ]
38 : :
39 : : TP_PROTO(struct sk_buff *skb),
40 : :
41 : : TP_ARGS(skb),
42 : :
43 : : TP_STRUCT__entry(
44 : : __field( void *, skbaddr )
45 : : ),
46 : :
47 : : TP_fast_assign(
48 : : __entry->skbaddr = skb;
49 : : ),
50 : :
51 : : TP_printk("skbaddr=%p", __entry->skbaddr)
52 : : );
53 : :
54 [ - + - - : 59173 : TRACE_EVENT(skb_copy_datagram_iovec,
- - - - ]
55 : :
56 : : TP_PROTO(const struct sk_buff *skb, int len),
57 : :
58 : : TP_ARGS(skb, len),
59 : :
60 : : TP_STRUCT__entry(
61 : : __field( const void *, skbaddr )
62 : : __field( int, len )
63 : : ),
64 : :
65 : : TP_fast_assign(
66 : : __entry->skbaddr = skb;
67 : : __entry->len = len;
68 : : ),
69 : :
70 : : TP_printk("skbaddr=%p len=%d", __entry->skbaddr, __entry->len)
71 : : );
72 : :
73 : : #endif /* _TRACE_SKB_H */
74 : :
75 : : /* This part must be outside protection */
76 : : #include <trace/define_trace.h>
|