Thread (9 messages) 9 messages, 4 authors, 2021-11-29

Re: [PATCH net-next v2 2/2] bpf: let bpf_warn_invalid_xdp_action() report more info

From: Paolo Abeni <pabeni@redhat.com>
Date: 2021-11-29 14:58:39
Also in: bpf

Hello,

On Fri, 2021-11-26 at 19:57 +0100, Paolo Abeni wrote:
On Fri, 2021-11-26 at 10:19 -0800, Jakub Kicinski wrote:
quoted
On Fri, 26 Nov 2021 12:19:11 +0100 Paolo Abeni wrote:
quoted
-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.
I *think* for this specific scenario the device name provides all the
necessary info - the users need to know the driver causing the issue.

Others similar xdp helpers - e.g. trace_xdp_exception() - have the same
arguments list used here. If the rxq is useful I guess we will have to
change even them, and touch all the drivers anyway.
Following the above reasoning I'm going to post v3 with the same
argument list used here, unless someone stops me soon ;)

Thanks,

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help