| Crates.io | memflow-kvm-ioctl |
| lib.rs | memflow-kvm-ioctl |
| version | 0.1.2 |
| created_at | 2020-09-01 16:56:46.501698+00 |
| updated_at | 2023-12-17 18:25:18.173731+00 |
| description | interface to memflow's KVM kernel module |
| homepage | https://memflow.github.io/ |
| repository | https://github.com/memflow/memflow-kvm.git |
| max_upload_size | |
| id | 283466 |
| size | 12,307 |
This is a connector for Kernel based virtual machines, by using a driver that maps all KVM pages into the memflow process (userspace -> userspace DMA).
memflow-kmod includes the kernel module that performs the operations.
memflow-kvm-ioctl provides a rust based IOCTL api to the kernel module.
memflow-kvm provides a memflow physical memory connector that uses the ioctl.
Recommended way is to use memflowup.
Your kernel must be compiled with CONFIG_KALLSYMS=y, and CONFIG_KALLSYMS_ALL=y being set in kconfig.
Stable versions are available under releases.
Debian/Ubuntu package can be installed with sudo dpkg -i memflow-dkms_${VERSION}_amd64.deb, where VERSION is the version of the downloaded module.
For other distributions, run this command:
sudo dkms install --archive=memflow-${VERSION}-source-only.dkms.tar.gz
Install the connector using ./install.sh. This will compile the connector in release mode and place it under ~/.local/lib/memflow/ directory, which can then be accessed by memflow clients. Do copy out the underlying shared library to /usr/local/lib/memflow/ if you want to use it across all users.
Initialize submodules:
git submodule update --init
Run make. output will be placed in build/memflow.ko.
Q. I'm getting this warning:
warning: couldn't execute `llvm-config --prefix` (error: No such file or directory (os error 2))
warning: set the LLVM_CONFIG_PATH environment variable to the full path to a valid `llvm-config` executable (including the executable itself)
A. This warning is harmless and can be safely ignored.
While memflow-kvm-ioctl, and memflow-kvm are licensed under the MIT license, memflow-kmod is licensed only under GPL-2.