On Wed, Jul 17, 2019 at 08:30:29PM +0800, Jason Wang wrote: > > On 2019/7/17 下午7:00, Michael S. Tsirkin wrote: > > On Wed, Jun 12, 2019 at 10:11:57AM +0800, Tiwei Bie wrote: > > > On Tue, Jun 11, 2019 at 10:10:14AM -0400, Michael S. Tsirkin wrote: > > > > On Tue, Jun 11, 2019 at 02:51:37PM +0800, Tiwei Bie wrote: > > > > > The VIRTIO_NET_F_CTRL_VLAN feature requires the support of > > > > > vhost-user backend. But it will be advertised to guest driver > > > > > as long as it's enabled by users in QEMU, while it's not > > > > > supported by vhost-user backend. This patch fixes this issue. > > > > Fixes by making guest refuse to send vlan tags? > > > Fixes by not advertising this feature bit to guest driver > > > when it's not supported, and guest won't expect the device > > > to do vlan filtering then. > > > > > > > I agree it seems cleaner, but which guests does this actually help? > > > > > > > > > Fixes: 72018d1e1917 ("vhost-user: ignore qemu-only features") > > > > > Cc: qemu-sta...@nongnu.org > > > > > > > > > > Signed-off-by: Tiwei Bie <tiwei....@intel.com> > > > > A change like that will break migration compatibility, will it not? > > > Yeah, that's a problem... > > > > > > > Maybe we need to tie it to a machine version somehow... > > > > > > > > > > > > > --- > > > > > It's not clear in the spec that, whether vlan filtering is > > > > > also best-effort: > > > > > https://github.com/oasis-tcs/virtio-spec/blob/37057052e7/content.tex#L3372 > > > > So what breaks if we declare it best effort for now? > > > > And does it really help if we report that vlan filtering > > > > is not supported to guests? > > > If it's best effort, then it won't violate the spec to > > > advertise this feature when it's not supported in backends. > > > > > OK so it's up to you. Want to propose a spec patch? > > We already say mac filter is best effort ... > > > This probably need more thought. Consider in the future, we want to have > filters that can steering packet based on its mac address to a specific > queue. Then we can add e.g macvlan offloading support. Saying "best effort" > might be wrong in that cases. > > > Thanks >
We can always add a feature bit. Spec should reflect the way implementations behave now. > > > > > > > > > > > > > hw/net/vhost_net.c | 2 ++ > > > > > 1 file changed, 2 insertions(+) > > > > > > > > > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > > > > > index a6b719035c..1444fc9230 100644 > > > > > --- a/hw/net/vhost_net.c > > > > > +++ b/hw/net/vhost_net.c > > > > > @@ -75,6 +75,8 @@ static const int user_feature_bits[] = { > > > > > VIRTIO_NET_F_MTU, > > > > > VIRTIO_F_IOMMU_PLATFORM, > > > > > + VIRTIO_NET_F_CTRL_VLAN, > > > > > + > > > > > /* This bit implies RARP isn't sent by QEMU out of band */ > > > > > VIRTIO_NET_F_GUEST_ANNOUNCE, > > > > > -- > > > > > 2.17.1