diff options
author | Michele Paolino <m.paolino@virtualopensystems.com> | 2023-11-14 18:07:09 +0100 |
---|---|---|
committer | Michele Paolino <m.paolino@virtualopensystems.com> | 2023-12-13 10:27:55 +0000 |
commit | b05512b81bbe1c90b71da9c571e742f162fc0575 (patch) | |
tree | dea9b67ff4dae3e227943382dd7b0b0565dc39d1 /meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md | |
parent | 31d4011207be008333c1945f18bb922b13816462 (diff) |
CAN, GPIO, RNG vhost-devices for virtio-loopback [v6]quillback_16.92.0quillback/16.92.016.92.0
This patch adds key components of the viritio-loopback architecture:
- kernel-module-virtio-loopback: the virtio loopback kernel driver
- CAN, GPIO and RNG vhost-user devices from meta-virtualization (commit a215d8320edee0a317a6511e7e2efa5bba867486)
Notes:
- libgpiod, comes from meta-openembedded commit 3029554ceb0b0bb52a8d8ec3f0a75c5113662fe6
- cleaned eg-virt from unused drivers (kernel-module-virtio-video)
Bug-AGL: SPEC-4834
V2 changes:
- related meta-virtualization commit message added in the cover letter
- updated libgpio recipe to v2.1
- SPEC reference added in cover letter
v3
- add vhost-device-can preliminary version. This is placed here with
the objective to share the link when proposing the new device to
the rust-vmm/vhost-device community
- remove cargo-update-recipe-crates includes in bb file because it is
not supported by the rust mixin layer
- vhost-device folder README changes
v4
- fixed libgpiod required version
- tested ref hw and qemu x86/64 builds
- vsock, scsi and i2c rust devices removed from the build as they
are not yet integrated in virtiod-loopback
- cleaned-up kernel modules kernel-module-virtio-video and
gstreamer1.0-plugins-bad
- virtio-loopback-driver set to 2-or-later
v5
- Merge with Jan-Simon version v4:
- remove broken kernel-module-virtio-video
- use FEATURE_PACKAGES instead of IMAGE_INSTALL:append
- rename virtio-loopback-driver.bb to
kernel-module-virtio-loopback_git.bb for consistency
v6
- adding version in the title
- removing MODULE_GIT_REPOSITORY in kernel-modules
Change-Id: Id6cc58e777b9edad03b6c50d0dddaac8601edeaf
Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md')
-rw-r--r-- | meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md b/meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md new file mode 100644 index 00000000..fd50c274 --- /dev/null +++ b/meta-egvirt/recipes-extended/vhost-device-can/vhost-device-can-0.1.0/README.md @@ -0,0 +1,66 @@ +# vhost-device-can - CAN emulation backend daemon + +## Description +This program is a vhost-user backend that emulates a VirtIO CAN device. +The device's binary takes three (3) parameters: a socket, a 'can-out' and a +'can-in' device name. The socket is commonly used across all vhost-devices to +communicate with the vhost-user frontend device. + +The 'can-out' represents +the actual CAN/FD device appears in the host system which vhost-device-can will +forward the messages from the frontend side. Finaly, the 'can-in' is again a +CAN/FD device connected on the host systems and vhost-device-can reads CAN/FD +frames and sends them to the frontend. The 'can-in' and 'can-out' can be find +by "ip link show" command. Also, the vhost-device-can may have the same CAN/FD +device name for both 'can-in' and 'can-out', if the user desires to setup a +loopback configuration. + + +This program is tested with Virtio-loopback's `-device vhost-user-can`. +Examples section below. + +## Synopsis + +**vhost-device-can** [*OPTIONS*] + +## Options + +.. program:: vhost-device-gpio + +.. option:: -h, --help + + Print help. + +.. option:: -s, --socket-path=PATH + +.. option:: -i, --can-int='CAN/FD interface name' + + The name of the input CAN interface to retrive CAN frames by + +.. option:: -o, --can-out='CAN/FD interface name' + + The name of the ouput CAN interface to send the CAN frames + +## Examples + +The daemon should be started first: + +:: + + host# vhost-device-can --socket-path=can.sock --can-in="can0" --can-out="can1" + +The virtio-looback invocation needs to insert the [virtio-loopback-transport](https://git.virtualopensystems.com/virtio-loopback/loopback_driver/-/tree/epsilon-release) driver +and then start the [virito-loopback-adapter](https://git.virtualopensystems.com/virtio-loopback/adapter_app/-/tree/epsilon-release) which is the intermediate between +vhost-device and virtio-loopback-transport driver. + +:: + + host# sudo insmod loopback_driver.ko + host# sudo ./adapter -s /path/to/can.sock0 -d vhucan + +## License + +This project is licensed under either of + +- [Apache License](http://www.apache.org/licenses/LICENSE-2.0), Version 2.0 +- [BSD-3-Clause License](https://opensource.org/licenses/BSD-3-Clause) |