On Wed, Jun 10, 2020 at 01:01:26AM -0400, Michael S. Tsirkin wrote: > On Tue, Jun 09, 2020 at 06:02:14PM +0100, Stefan Hajnoczi wrote: > > +For devices other than the networking device, masters may assume the > > following > > +feature bits are always set in ``VHOST_USER_GET_FEATURES`` for > > compatibility > > +with legacy backend implementations that do not report them correctly: > > +* ``VIRTIO_F_RING_INDIRECT_DESC`` > > +* ``VIRTIO_F_RING_EVENT_IDX`` > > +* ``VIRTIO_F_VERSION_1`` > > +* ``VIRTIO_F_NOTIFY_ON_EMPTY`` > > +* ``VIRTIO_F_ANY_LAYOUT`` > > + > > Starting and stopping rings > > --------------------------- > > How common are these backends? Anything shipped for a while? IIUC we > are not talking about years of history here, so I really think we should > just enforce what spec always said, rather than work around some broken > clients.
QEMU didn't include some device backends in feature negotiation. This is why we didn't notice that libvhost-user does not advertise some feature bits. Therefore the chance of third-party device backends missing feature negotiation seems high too. I will move this section into the VHOST_USER_GET_FEATURES description. Stefan
signature.asc
Description: PGP signature