On Mon, Sep 08, 2014 at 12:49:48PM +0300, Michael S. Tsirkin wrote: > On Mon, Sep 08, 2014 at 11:17:50AM +0200, David Marchand wrote: > > Send a protocol version as the first message from server, clients must close > > communication if they don't support this protocol version. > > What's the motivation here? > This is at best a way to break all clients if an incompatible > change in the server is made. > Would not it be better to send a bitmap, or a list of supported > versions, so it's possible to write servers compatible > with multiple clients?
I'm not sure a full-fledged feature negotiation system is needed. The ivshmem protocol is local to the host and all participants are under control of the administrator. I suggested a protocol version to protect against misconfiguration. For example, building QEMU from source but talking to an outdated ivhsmem server that is still running from before. Remember that ivshmem-server and QEMU are shipped together by the distro. So in 99% of the cases they will have the same version anyway. But we want to protect against rare misconfiguration that break things (user mixing and matching incompatible software). The only reason I can see for fancy negotiation is to make life easier for proprietary third-party software, which I don't care about or like. Stefan
pgpOjGZTnTbzc.pgp
Description: PGP signature