__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,
 
        TP_PROTO(const struct net_device *dev,