crosvm/third_party
Keita Suzuki 24630fe1e4 devices: vhost-user: allow backend device to send vhost-user message
Current implementation of vhost-user backend devices cannot directly
send vhost-user messages from the backend to the frontend since the
established connection is stored directly to `VhostShmemMapper`. This
limits the messages that could be sent to memory share-related messages.

To overcome this limitation, introduce struct `VhostBackendReqConnection`
which exposes the required backend to frontend requests and keeps track of
the underlying transport (struct `Slave`), and refactor `Slave` out from
current VhostShmemMapper.The state of the connection is managed using enum
`VhostBackendReqConnectionState`.

This patch also moves the timing of when `BackendReqHandler` is created in
the frontend to when `VhostUserProtocolFeatures::SLAVE_REQ` is negotiated
when creating VhostUserHandler.

BUG=b:191845881
TEST=run ./tools/run_tests

Change-Id: I90235a527d58067f73a509907b4cefc09516f562
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3856036
Reviewed-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
2022-10-04 12:50:16 +00:00
..
depot_tools@268d645853 health-check: Add infra checks 2022-08-18 00:17:04 +00:00
libslirp-rs crosvm: Fix clippy related warnings 2022-07-29 17:49:31 +00:00
minigbm@ef852e007c Uprev all submodules 2021-10-19 19:12:53 +00:00
minijail@77c59db8ff Revert "third_party/minijail: update to latest main" 2022-08-09 23:00:30 +00:00
virglrenderer@4770f706db virglrenderer: Add cross-domain support 2022-05-20 20:49:55 +00:00
vmm_vhost devices: vhost-user: allow backend device to send vhost-user message 2022-10-04 12:50:16 +00:00