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.