mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
2558b26297
This is follow-up of CL:3468235. For vhost-user, a device (i.e. slave) works like a server while a vmm (i.e., master) does like a client. So the devices should allow the vmm to close the connection. An error handling code added by CL:3468235 was opposite. It should have been added to `slave_req_handler.rs` instead of `master_req_handler.rs`. BUG=b:219674197 BUG=b:220639724 TEST=run tast.vm.Audio*.vhost_user_cras and tast.vm.VhostUserNet Change-Id: Ie661c02bed8287d9d770c6c6c0c658ef6681db10 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3533239 Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Auto-Submit: Keiichi Watanabe <keiichiw@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org> |
||
---|---|---|
.. | ||
.buildkite | ||
.cargo | ||
.github | ||
docs | ||
src | ||
.gitignore | ||
.gitmodules | ||
Cargo.toml | ||
CODEOWNERS | ||
LICENSE | ||
LICENSE-BSD-3-Clause | ||
LICENSE-BSD-Chromium | ||
README.md |
vHost
A pure rust library for vhost-user. This is a fork of rust-vmm/vhost.
The vhost-user protocol aims to implement vhost backend drivers in userspace, which complements the ioctl interface used to control the vhost implementation in the Linux kernel. It implements the control plane needed to establish virtqueue sharing with a user space process on the same host. It uses communication over a Unix domain socket to share file descriptors in the ancillary data of the message.
The protocol defines two sides of the communication, master and slave. Master is the application that shares its virtqueues, slave is the consumer of the virtqueues. Master and slave can be either a client (i.e. connecting) or server (listening) in the socket communication.