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