mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 05:03:05 +00:00
53e745078a
Make tools/health-check cover third_party/vmm_vhost, as we are maintaining vmm_vhost by ourselves and we don't pull the upstream changes so frequently unlike other third_party components. This CL includes: * updates in scripts under /tools, and * the auto-gerated changes by `./tools/fmt --nightly` BUG=b:239937122 TEST=cargo check Change-Id: I12956a60bb24764ffb541261c7fb3f09eb974dd8 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3863043 Tested-by: Keiichi Watanabe <keiichiw@chromium.org> Reviewed-by: Dennis Kempin <denniskempin@google.com> Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org> Auto-Submit: Keiichi Watanabe <keiichiw@chromium.org>
17 lines
930 B
Markdown
17 lines
930 B
Markdown
# vHost
|
|
|
|
A pure rust library for vhost-user. This is a fork of
|
|
[rust-vmm/vhost](https://github.com/rust-vmm/vhost).
|
|
|
|
![vhost Architecture](./docs/vhost_architecture.png)
|
|
|
|
The
|
|
[vhost-user protocol](https://qemu.readthedocs.io/en/latest/interop/vhost-user.html#communication)
|
|
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.
|