Bumps the non-rust-vmm group with 19 updates in the / directory: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.34` | `4.5.37` | | [crossterm](https://github.com/crossterm-rs/crossterm) | `0.28.1` | `0.29.0` | | [libc](https://github.com/rust-lang/libc) | `0.2.171` | `0.2.172` | | [rand](https://github.com/rust-random/rand) | `0.9.0` | `0.9.1` | | [nix](https://github.com/nix-rust/nix) | `0.29.0` | `0.30.0` | | [toml](https://github.com/toml-rs/toml) | `0.8.19` | `0.8.20` | | [markdown](https://github.com/wooorm/markdown-rs) | `1.0.0-alpha.23` | `1.0.0` | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.97` | `1.0.98` | | [bytemuck](https://github.com/Lokathor/bytemuck) | `1.22.0` | `1.23.0` | | [cc](https://github.com/rust-lang/cc-rs) | `1.2.17` | `1.2.20` | | [hashbrown](https://github.com/rust-lang/hashbrown) | `0.15.2` | `0.15.3` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.8.0` | `2.9.0` | | [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion) | `0.2.20` | `0.2.21` | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.94` | `1.0.95` | | redox_syscall | `0.5.10` | `0.5.11` | | [signal-hook-registry](https://github.com/vorner/signal-hook) | `1.4.2` | `1.4.5` | | [smallvec](https://github.com/servo/rust-smallvec) | `1.14.0` | `1.15.0` | | [toml_datetime](https://github.com/toml-rs/toml) | `0.6.8` | `0.6.9` | | [toml_edit](https://github.com/toml-rs/toml) | `0.22.24` | `0.22.26` | Bumps the non-rust-vmm group with 17 updates in the /staging directory: | Package | From | To | | --- | --- | --- | | [clap](https://github.com/clap-rs/clap) | `4.5.34` | `4.5.37` | | [env_logger](https://github.com/rust-cli/env_logger) | `0.11.7` | `0.11.8` | | [libc](https://github.com/rust-lang/libc) | `0.2.171` | `0.2.172` | | [rand](https://github.com/rust-random/rand) | `0.9.0` | `0.9.1` | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.97` | `1.0.98` | | [errno](https://github.com/lambda-fairy/rust-errno) | `0.3.10` | `0.3.11` | | [hashbrown](https://github.com/rust-lang/hashbrown) | `0.15.2` | `0.15.3` | | [indexmap](https://github.com/indexmap-rs/indexmap) | `2.8.0` | `2.9.0` | | [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys) | `0.9.3` | `0.9.4` | | [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion) | `0.2.20` | `0.2.21` | | [prettyplease](https://github.com/dtolnay/prettyplease) | `0.2.31` | `0.2.32` | | [proc-macro2](https://github.com/dtolnay/proc-macro2) | `1.0.94` | `1.0.95` | | [rustix](https://github.com/bytecodealliance/rustix) | `1.0.3` | `1.0.7` | | [syn](https://github.com/dtolnay/syn) | `2.0.100` | `2.0.101` | | [toml_datetime](https://github.com/toml-rs/toml) | `0.6.8` | `0.6.9` | | [toml_edit](https://github.com/toml-rs/toml) | `0.22.24` | `0.22.26` | | [jiff](https://github.com/BurntSushi/jiff) | `0.2.5` | `0.2.10` | Updates `clap` from 4.5.34 to 4.5.37 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.34...clap_complete-v4.5.37) Updates `crossterm` from 0.28.1 to 0.29.0 - [Release notes](https://github.com/crossterm-rs/crossterm/releases) - [Changelog](https://github.com/crossterm-rs/crossterm/blob/master/CHANGELOG.md) - [Commits](https://github.com/crossterm-rs/crossterm/commits/0.29) Updates `libc` from 0.2.171 to 0.2.172 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.172/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.171...0.2.172) Updates `rand` from 0.9.0 to 0.9.1 - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.1) Updates `nix` from 0.29.0 to 0.30.0 - [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md) - [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.0) Updates `toml` from 0.8.19 to 0.8.20 - [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.19...toml-v0.8.20) Updates `markdown` from 1.0.0-alpha.23 to 1.0.0 - [Release notes](https://github.com/wooorm/markdown-rs/releases) - [Commits](https://github.com/wooorm/markdown-rs/compare/1.0.0-alpha.23...1.0.0) Updates `anyhow` from 1.0.97 to 1.0.98 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.97...1.0.98) Updates `bytemuck` from 1.22.0 to 1.23.0 - [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md) - [Commits](https://github.com/Lokathor/bytemuck/compare/v1.22.0...v1.23.0) Updates `cc` from 1.2.17 to 1.2.20 - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.17...cc-v1.2.20) Updates `clap_builder` from 4.5.34 to 4.5.37 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.34...v4.5.37) Updates `hashbrown` from 0.15.2 to 0.15.3 - [Release notes](https://github.com/rust-lang/hashbrown/releases) - [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/hashbrown/commits/v0.15.3) Updates `indexmap` from 2.8.0 to 2.9.0 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.8.0...2.9.0) Updates `ppv-lite86` from 0.2.20 to 0.2.21 - [Commits](https://github.com/cryptocorrosion/cryptocorrosion/commits/ppv-lite86-0.2.21) Updates `proc-macro2` from 1.0.94 to 1.0.95 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.94...1.0.95) Updates `redox_syscall` from 0.5.10 to 0.5.11 Updates `signal-hook-registry` from 1.4.2 to 1.4.5 - [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.2...registry-v1.4.5) Updates `smallvec` from 1.14.0 to 1.15.0 - [Release notes](https://github.com/servo/rust-smallvec/releases) - [Commits](https://github.com/servo/rust-smallvec/compare/v1.14.0...v1.15.0) Updates `toml_datetime` from 0.6.8 to 0.6.9 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.8...toml_datetime-v0.6.9) Updates `toml_edit` from 0.22.24 to 0.22.26 - [Commits](https://github.com/toml-rs/toml/compare/v0.22.24...v0.22.26) Updates `winnow` from 0.7.4 to 0.7.7 - [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md) - [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.4...v0.7.7) Updates `clap` from 4.5.34 to 4.5.37 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.34...clap_complete-v4.5.37) Updates `env_logger` from 0.11.7 to 0.11.8 - [Release notes](https://github.com/rust-cli/env_logger/releases) - [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.7...v0.11.8) Updates `libc` from 0.2.171 to 0.2.172 - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.172/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.171...0.2.172) Updates `rand` from 0.9.0 to 0.9.1 - [Release notes](https://github.com/rust-random/rand/releases) - [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.1) Updates `anyhow` from 1.0.97 to 1.0.98 - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.97...1.0.98) Updates `clap_builder` from 4.5.34 to 4.5.37 - [Release notes](https://github.com/clap-rs/clap/releases) - [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md) - [Commits](https://github.com/clap-rs/clap/compare/v4.5.34...v4.5.37) Updates `errno` from 0.3.10 to 0.3.11 - [Release notes](https://github.com/lambda-fairy/rust-errno/releases) - [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md) - [Commits](https://github.com/lambda-fairy/rust-errno/compare/v0.3.10...v0.3.11) Updates `hashbrown` from 0.15.2 to 0.15.3 - [Release notes](https://github.com/rust-lang/hashbrown/releases) - [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/hashbrown/commits/v0.15.3) Updates `indexmap` from 2.8.0 to 2.9.0 - [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md) - [Commits](https://github.com/indexmap-rs/indexmap/compare/2.8.0...2.9.0) Updates `linux-raw-sys` from 0.9.3 to 0.9.4 - [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.9.3...v0.9.4) Updates `ppv-lite86` from 0.2.20 to 0.2.21 - [Commits](https://github.com/cryptocorrosion/cryptocorrosion/commits/ppv-lite86-0.2.21) Updates `prettyplease` from 0.2.31 to 0.2.32 - [Release notes](https://github.com/dtolnay/prettyplease/releases) - [Commits](https://github.com/dtolnay/prettyplease/compare/0.2.31...0.2.32) Updates `proc-macro2` from 1.0.94 to 1.0.95 - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.94...1.0.95) Updates `rustix` from 1.0.3 to 1.0.7 - [Release notes](https://github.com/bytecodealliance/rustix/releases) - [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md) - [Commits](https://github.com/bytecodealliance/rustix/compare/v1.0.3...v1.0.7) Updates `syn` from 2.0.100 to 2.0.101 - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.100...2.0.101) Updates `toml_datetime` from 0.6.8 to 0.6.9 - [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.8...toml_datetime-v0.6.9) Updates `toml_edit` from 0.22.24 to 0.22.26 - [Commits](https://github.com/toml-rs/toml/compare/v0.22.24...v0.22.26) Updates `winnow` from 0.7.4 to 0.7.7 - [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md) - [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.4...v0.7.7) Updates `zerocopy` from 0.7.35 to 0.8.25 - [Release notes](https://github.com/google/zerocopy/releases) - [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md) - [Commits](https://github.com/google/zerocopy/compare/v0.7.35...v0.8.25) Updates `zerocopy-derive` from 0.7.35 to 0.8.25 - [Release notes](https://github.com/google/zerocopy/releases) - [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md) - [Commits](https://github.com/google/zerocopy/compare/v0.7.35...v0.8.25) Updates `jiff` from 0.2.5 to 0.2.10 - [Release notes](https://github.com/BurntSushi/jiff/releases) - [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md) - [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.5...jiff-static-0.2.10) Updates `jiff-static` from 0.2.5 to 0.2.10 - [Release notes](https://github.com/BurntSushi/jiff/releases) - [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md) - [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.5...jiff-static-0.2.10) --- updated-dependencies: - dependency-name: clap dependency-version: 4.5.37 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: crossterm dependency-version: 0.29.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.172 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand dependency-version: 0.9.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: nix dependency-version: 0.30.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: toml dependency-version: 0.8.20 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: markdown dependency-version: 1.0.0 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: anyhow dependency-version: 1.0.98 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: bytemuck dependency-version: 1.23.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: cc dependency-version: 1.2.20 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.37 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: hashbrown dependency-version: 0.15.3 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.9.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: ppv-lite86 dependency-version: 0.2.21 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: proc-macro2 dependency-version: 1.0.95 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: redox_syscall dependency-version: 0.5.11 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: signal-hook-registry dependency-version: 1.4.5 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: smallvec dependency-version: 1.15.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 0.6.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_edit dependency-version: 0.22.26 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: winnow dependency-version: 0.7.7 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap dependency-version: 4.5.37 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: env_logger dependency-version: 0.11.8 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: libc dependency-version: 0.2.172 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rand dependency-version: 0.9.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: anyhow dependency-version: 1.0.98 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: clap_builder dependency-version: 4.5.37 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: errno dependency-version: 0.3.11 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: hashbrown dependency-version: 0.15.3 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: indexmap dependency-version: 2.9.0 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: linux-raw-sys dependency-version: 0.9.4 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: ppv-lite86 dependency-version: 0.2.21 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: prettyplease dependency-version: 0.2.32 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: proc-macro2 dependency-version: 1.0.95 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: rustix dependency-version: 1.0.7 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: syn dependency-version: 2.0.101 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_datetime dependency-version: 0.6.9 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: toml_edit dependency-version: 0.22.26 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: winnow dependency-version: 0.7.7 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: zerocopy dependency-version: 0.8.25 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: zerocopy-derive dependency-version: 0.8.25 dependency-type: indirect update-type: version-update:semver-minor dependency-group: non-rust-vmm - dependency-name: jiff dependency-version: 0.2.10 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm - dependency-name: jiff-static dependency-version: 0.2.10 dependency-type: indirect update-type: version-update:semver-patch dependency-group: non-rust-vmm ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE-APACHE | ||
| LICENSE-BSD-3-Clause | ||
| README.md | ||
vhost-device-rng - RNG emulation backend daemon
Description
This program is a vhost-user backend that emulates a VirtIO random number generator (RNG). It uses the host's random number generator pool, /dev/urandom by default but configurable at will, to satisfy requests from guests.
The daemon is designed to respect limitation on possible random generator hardware using the --max-bytes and --period options. As such 5 kilobyte per second would translate to "--max-bytes 5000 --period 1000". If an application requests more bytes than the allowed limit the thread will block until the start of a new period. The daemon will automatically split the available bandwidth equally between the guest when several threads are requested.
Thought developed and tested with QEMU, the implemenation is based on the vhost-user protocol and as such should be interoperable with other virtual machine managers. Please see below for working examples.
Synopsis
vhost-device-rng [OPTIONS]
Options
.. program:: vhost-device-rng
.. option:: -h, --help
Print help.
.. option:: -s, --socket-path=PATH
Location of vhost-user Unix domain sockets, this path will be suffixed with 0,1,2..socket_count-1.
.. option:: -f, --filename Random number generator source file, defaults to /dev/urandom.
.. option:: -c, --socket-count=INT
Number of guests (sockets) to attach to, default set to 1.
.. option:: -p, --period
Rate, in milliseconds, at which the RNG hardware can generate random data. Used in conjunction with the --max-bytes option.
.. option:: -m, --max-bytes
In conjuction with the --period parameter, provides the maximum number of byte per milliseconds a RNG device can generate.
Examples
The daemon should be started first:
::
host# vhost-device-rng --socket-path=/some/path/rng.sock -c 1 -m 512 -p 1000
Note that from the above command the socket path "/some/path/rng.sock0" will be created. This in turn needs to be communicated as a chardev socket to QEMU in order for the backend RNG device to communicate with the vhost RNG daemon:
::
host# qemu-system -M virt
-object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on
-chardev socket,path=/some/path/rng.sock0,id=rng0
-device vhost-user-rng-pci,chardev=rng0
-numa node,memdev=mem
...
License
This project is licensed under either of
- Apache License, Version 2.0
- BSD-3-Clause License