Subject: Re: [RFC v2 3/6] i40e: use extack for bpf errors

From: Maciej Fijalkowski <[email-masked]>
Date: Fri, 1 Mar 2019 12:31:08 +0100

On Thu, 28 Feb 2019 19:06:45 -0800
Jakub Kicinski <[email-masked]> wrote:

> On Thu, 28 Feb 2019 13:54:38 -0800, Stephen Hemminger wrote:
> > @@ -12140,12 +12144,14 @@ static int i40e_xdp(struct net_device *dev,
> >  	struct i40e_netdev_priv *np = netdev_priv(dev);
> >  	struct i40e_vsi *vsi = np->vsi;
> >  
> > -	if (vsi->type != I40E_VSI_MAIN)
> > +	if (vsi->type != I40E_VSI_MAIN) {
> > +		NL_SET_ERR_MSG_MOD(xdp->extack, "XDP not allowed on VF");  
> 
> Is that right?  Intel tends to have separate drivers for VFs, I think
> the i40evf got renamed to iavf.
>
Good catch, this sanity check is to make sure that XDP is being enabled on main
VSI of PF, not for example the VSI dedicated for Flow Director management
(I40E_VSI_FDIR). Besides that, vsi->type != I40E_VSI_MAIN doesn't yield the
I40E_VSI_SRIOV type.

So it would be better to have an error message like "XDP is not allowed on VSIs
other than main VSI".

Thoughts?

> I think it would be a good idea to CC maintainers on the driver patches.
> 
> >  		return -EINVAL;
> > +	}
> >    
>