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

From: Hangbin Liu
Date: Wed Oct 16 2024 - 04:18:25 EST


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/8088f2a7-3ab1-4a1e-996d-c15703da13cc@xxxxxxxxxxxxx/
[2] https://lore.kernel.org/netdev/20241015085121.5f22e96f@xxxxxxxxxx/

Thanks
Hangbin