> In order to interoperate we'll need to maintain a protocol > specification. Mayb You and JJ could put that together and CC the vfio, > rust-vmm, and QEMU communities for discussion? > > It should cover the UNIX domain socket connection semantics (does a > listen socket only accept 1 connection at a time? What happens when the > client disconnects? What happens when the server disconnects?), how > VFIO structs are exchanged, any vfio-over-socket specific protocol > messages, etc. Basically everything needed to write an implementation > (although it's not necessary to copy the VFIO struct definitions from > the kernel headers into the spec or even document their semantics if > they are identical to kernel VFIO). > > The next step beyond the LD_PRELOAD library is a native vfio-over-socket > client implementation in QEMU. There is a prototype here: > https://github.com/elmarco/qemu/blob/wip/vfio-user/hw/vfio/libvfio- > user.c > > If there are any volunteers for working on that then this would be a > good time to discuss it.
Hi, I've just shared with you the Google doc we've working on with John where we've been drafting the protocol specification, we think it's time for some first comments. Please feel free to comment/edit and suggest more people to be on the reviewers list. You can also find the Google doc here: https://docs.google.com/document/d/1FspkL0hVEnZqHbdoqGLUpyC38rSk_7HhY471TsVwyK8/edit?usp=sharing If a Google doc doesn't work for you we're open to suggestions. Thanks