This patches introduces two new messages VHOST_USER_GET_INFLIGHT_FD and VHOST_USER_SET_INFLIGHT_FD to support transferring a shared buffer between qemu and backend. Now It can both support split and packed ring. The example code show how these API work.
JinYu (2): vhost: support inflight share memory protocol feature vhost: Add vhost-user-blk example which support inflight examples/vhost_blk/Makefile | 67 ++ examples/vhost_blk/blk.c | 122 +++ examples/vhost_blk/blk_spec.h | 95 +++ examples/vhost_blk/meson.build | 20 + examples/vhost_blk/vhost_blk.c | 1054 ++++++++++++++++++++++++ examples/vhost_blk/vhost_blk.h | 114 +++ examples/vhost_blk/vhost_blk_compat.c | 193 +++++ lib/librte_vhost/rte_vhost.h | 301 ++++++- lib/librte_vhost/rte_vhost_version.map | 12 + lib/librte_vhost/vhost.c | 398 ++++++++- lib/librte_vhost/vhost.h | 54 +- lib/librte_vhost/vhost_user.c | 418 +++++++++- lib/librte_vhost/vhost_user.h | 13 +- 13 files changed, 2832 insertions(+), 29 deletions(-) create mode 100644 examples/vhost_blk/Makefile create mode 100644 examples/vhost_blk/blk.c create mode 100644 examples/vhost_blk/blk_spec.h create mode 100644 examples/vhost_blk/meson.build create mode 100644 examples/vhost_blk/vhost_blk.c create mode 100644 examples/vhost_blk/vhost_blk.h create mode 100644 examples/vhost_blk/vhost_blk_compat.c -- 2.17.2