On Fri, 26 Nov 2021 12:19:11 +0100 Paolo Abeni wrote:
-void bpf_warn_invalid_xdp_action(u32 act)
+void bpf_warn_invalid_xdp_action(struct net_device *dev, struct bpf_prog *prog, u32 act)
{
const u32 act_max = XDP_REDIRECT;
- pr_warn_once("%s XDP return value %u, expect packet loss!\n",
+ pr_warn_once("%s XDP return value %u on prog %s (id %d) dev %s, expect packet loss!\n",
act > act_max ? "Illegal" : "Driver unsupported",
- act);
+ act, prog->aux->name, prog->aux->id, dev->name ? dev->name : "");
}
Since we have to touch all the drivers each time the prototype of this
function is changed - would it make sense to pass in rxq instead? It has
more info which may become useful at some point.