On Fri, 1 Mar 2019 13:55:53 -0800, Stephen Hemminger wrote:
> On Fri, 1 Mar 2019 08:28:49 -0800
> Jakub Kicinski <jakub.kicin...@netronome.com> wrote:
> 
> > On Fri, 1 Mar 2019 12:31:08 +0100, Maciej Fijalkowski wrote:  
> > > On Thu, 28 Feb 2019 19:06:45 -0800
> > > Jakub Kicinski <jakub.kicin...@netronome.com> 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?    
> > 
> > Do the other VSI types have netdevs?  If they do this may be hard to
> > understand (unless Intel's manuals refer to VSI and users know what
> > that is).
> > 
> > If there is no netdev on other VSIs perhaps this "should never happen"
> > and we can convert it to a WARN_ON()?  
> 
> I was just making a best guess based on similar checks elsewhere in the
> code as to the correct error message

Digging into this I think there are more netdevs, so perhaps
"XDP is only allowed on the main netdev instance"?  Hopefully 
Intel folks can advise even better.

Reply via email to