Subject: Re: [PATCH net-next 1/3] bonding: return detailed error when loading native XDP fails

From: Hangbin Liu <[email-masked]>
Date: Wed, 16 Oct 2024 08:17:51 +0000

On Wed, Oct 16, 2024 at 09:59:01AM +0200, Daniel Borkmann wrote:
> > diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> > index b1bffd8e9a95..f0f76b6ac8be 100644
> > --- a/drivers/net/bonding/bond_main.c
> > +++ b/drivers/net/bonding/bond_main.c
> > @@ -5676,8 +5676,11 @@ static int bond_xdp_set(struct net_device *dev, struct bpf_prog *prog,
> >   	ASSERT_RTNL();
> > -	if (!bond_xdp_check(bond))
> > +	if (!bond_xdp_check(bond)) {
> > +		BOND_NL_ERR(dev, extack,
> > +			    "No native XDP support for the current bonding mode");
> >   		return -EOPNOTSUPP;
> > +	}
> >   	old_prog = bond->xdp_prog;
> >   	bond->xdp_prog = prog;
> 
> LGTM, but independent of these I was more thinking whether something like this
> could do the trick (only compile tested). That way you also get the fallback
> without changing anything in the core XDP code.

Yes, I also thought about do fallback on bonding. But Nikolay suggested
just use extack msg[1], and Jakub think this is report by QE rather than
a real user. So I think we can use extack first, and convert to auto
fallback on bonding if a real user complains. What do you think?

[1] https://lore.kernel.org/netdev/[email-masked]/
[2] https://lore.kernel.org/netdev/[email-masked]/

Thanks
Hangbin