]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/trace/events/xdp.h
ixgbe: add initial support for xdp redirect
[mirror_ubuntu-jammy-kernel.git] / include / trace / events / xdp.h
CommitLineData
a67edbf4
DB
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM xdp
3
4#if !defined(_TRACE_XDP_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_XDP_H
6
7#include <linux/netdevice.h>
8#include <linux/filter.h>
9#include <linux/tracepoint.h>
10
11#define __XDP_ACT_MAP(FN) \
12 FN(ABORTED) \
13 FN(DROP) \
14 FN(PASS) \
15 FN(TX)
16
17#define __XDP_ACT_TP_FN(x) \
18 TRACE_DEFINE_ENUM(XDP_##x);
19#define __XDP_ACT_SYM_FN(x) \
20 { XDP_##x, #x },
21#define __XDP_ACT_SYM_TAB \
22 __XDP_ACT_MAP(__XDP_ACT_SYM_FN) { -1, 0 }
23__XDP_ACT_MAP(__XDP_ACT_TP_FN)
24
25TRACE_EVENT(xdp_exception,
26
27 TP_PROTO(const struct net_device *dev,
28 const struct bpf_prog *xdp, u32 act),
29
30 TP_ARGS(dev, xdp, act),
31
32 TP_STRUCT__entry(
33 __string(name, dev->name)
34 __array(u8, prog_tag, 8)
35 __field(u32, act)
36 ),
37
38 TP_fast_assign(
39 BUILD_BUG_ON(sizeof(__entry->prog_tag) != sizeof(xdp->tag));
40 memcpy(__entry->prog_tag, xdp->tag, sizeof(xdp->tag));
41 __assign_str(name, dev->name);
42 __entry->act = act;
43 ),
44
45 TP_printk("prog=%s device=%s action=%s",
46 __print_hex_str(__entry->prog_tag, 8),
47 __get_str(name),
48 __print_symbolic(__entry->act, __XDP_ACT_SYM_TAB))
49);
50
51#endif /* _TRACE_XDP_H */
52
53#include <trace/define_trace.h>