xdp: Add tracepoint for bulk XDP_TX
This is introduced for admins to check what is happening on XDP_TX when bulk XDP_TX is in use, which will be first introduced in veth in next commit. v3: - Add act field to be in line with other XDP tracepoints. Signed-off-by: Toshiaki Makita <toshiaki.makita1@gmail.com> Acked-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
88091ff56b
commit
e7d4798960
@ -50,6 +50,35 @@ TRACE_EVENT(xdp_exception,
|
|||||||
__entry->ifindex)
|
__entry->ifindex)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(xdp_bulk_tx,
|
||||||
|
|
||||||
|
TP_PROTO(const struct net_device *dev,
|
||||||
|
int sent, int drops, int err),
|
||||||
|
|
||||||
|
TP_ARGS(dev, sent, drops, err),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__field(int, ifindex)
|
||||||
|
__field(u32, act)
|
||||||
|
__field(int, drops)
|
||||||
|
__field(int, sent)
|
||||||
|
__field(int, err)
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
__entry->ifindex = dev->ifindex;
|
||||||
|
__entry->act = XDP_TX;
|
||||||
|
__entry->drops = drops;
|
||||||
|
__entry->sent = sent;
|
||||||
|
__entry->err = err;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("ifindex=%d action=%s sent=%d drops=%d err=%d",
|
||||||
|
__entry->ifindex,
|
||||||
|
__print_symbolic(__entry->act, __XDP_ACT_SYM_TAB),
|
||||||
|
__entry->sent, __entry->drops, __entry->err)
|
||||||
|
);
|
||||||
|
|
||||||
DECLARE_EVENT_CLASS(xdp_redirect_template,
|
DECLARE_EVENT_CLASS(xdp_redirect_template,
|
||||||
|
|
||||||
TP_PROTO(const struct net_device *dev,
|
TP_PROTO(const struct net_device *dev,
|
||||||
|
@ -2101,3 +2101,4 @@ EXPORT_SYMBOL(bpf_stats_enabled_key);
|
|||||||
#include <linux/bpf_trace.h>
|
#include <linux/bpf_trace.h>
|
||||||
|
|
||||||
EXPORT_TRACEPOINT_SYMBOL_GPL(xdp_exception);
|
EXPORT_TRACEPOINT_SYMBOL_GPL(xdp_exception);
|
||||||
|
EXPORT_TRACEPOINT_SYMBOL_GPL(xdp_bulk_tx);
|
||||||
|
Loading…
Reference in New Issue
Block a user