Warning: This file is not a C or C++ file. It does not have highlighting.

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 */
15TRACE_EVENT(kfree_skb,
16
17 TP_PROTO(struct sk_buff *skb, void *location,
18 enum skb_drop_reason reason),
19
20 TP_ARGS(skb, location, reason),
21
22 TP_STRUCT__entry(
23 __field(void *, skbaddr)
24 __field(void *, location)
25 __field(unsigned short, protocol)
26 __field(enum skb_drop_reason, reason)
27 ),
28
29 TP_fast_assign(
30 __entry->skbaddr = skb;
31 __entry->location = location;
32 __entry->protocol = ntohs(skb->protocol);
33 __entry->reason = reason;
34 ),
35
36 TP_printk("skbaddr=%p protocol=%u location=%p reason: %s",
37 __entry->skbaddr, __entry->protocol, __entry->location,
38 drop_reasons[__entry->reason])
39);
40
41TRACE_EVENT(consume_skb,
42
43 TP_PROTO(struct sk_buff *skb),
44
45 TP_ARGS(skb),
46
47 TP_STRUCT__entry(
48 __field( void *, skbaddr )
49 ),
50
51 TP_fast_assign(
52 __entry->skbaddr = skb;
53 ),
54
55 TP_printk("skbaddr=%p", __entry->skbaddr)
56);
57
58TRACE_EVENT(skb_copy_datagram_iovec,
59
60 TP_PROTO(const struct sk_buff *skb, int len),
61
62 TP_ARGS(skb, len),
63
64 TP_STRUCT__entry(
65 __field( const void *, skbaddr )
66 __field( int, len )
67 ),
68
69 TP_fast_assign(
70 __entry->skbaddr = skb;
71 __entry->len = len;
72 ),
73
74 TP_printk("skbaddr=%p len=%d", __entry->skbaddr, __entry->len)
75);
76
77#endif /* _TRACE_SKB_H */
78
79/* This part must be outside protection */
80#include <trace/define_trace.h>
81

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/include/trace/events/skb.h