aboutsummaryrefslogtreecommitdiffstats
path: root/vm/bhyve
Commit message (Collapse)AuthorAgeFilesLines
* vm: add context to Pool.Create()Aleksandr Nogikh2025-10-011-1/+1
| | | | | | | | | | Enable external abortion of the instance creation process. This is especially useful for the qemu case where we retry the creation/boot up to 1000 times, which can take significant time (e.g. it timeouts syz-cluster pods on unstable kernels). The context can be further propagated to WaitForSSH, but that requires another quite significant vm/ refactoring.
* vm: func Run accepts contextTaras Madan2025-05-191-4/+3
| | | | It allows to use context as a single termination signal source.
* vm: use SSHOptions instead of 4 paramsTaras Madan2025-03-271-22/+21
| | | | It reduces WaitForSSH parameter count from 9 to 6.
* vm: dedup VM count restriction in debug modeDmitry Vyukov2024-11-251-4/+0
| | | | | | | Move the VM count restriction logic info vm package. This avoids lots of duplication, makes it supported for VM types that failed to do this, and allows to unify more VM count logic in future.
* vmimpl: refactor VM type registrationDmitry Vyukov2024-07-231-1/+4
| | | | | | | | | Pass Type struct directly during registration. This allows to add additional optional parameters to VM types without changing all VM implementations. We we will need to add SupportsSnapshots flag and one flag to resolve #5028. With this change it will be possible to add "SupportsSnapshots: true" to just one VM type implemenetation.
* vm: make Instance implement io.CloserAleksandr Nogikh2024-07-111-1/+2
| | | | It's better to follow standard interfaces.
* docs/freebsd: update with notes on slirp-based networkingMark Johnston2024-05-271-1/+1
|
* vm/bhyve: add support for the slirp network backendMark Johnston2024-05-271-30/+63
| | | | | | | bhyve recently grew support for using libslirp (from QEMU) as the networking backend, which is useful for syzkaller since it requires no configuration on the host. This patch causes syz-manager to make use of the slirp backend when no VM bridge is configured.
* pkg/rpctype: prepare for not using for target communicationDmitry Vyukov2024-05-031-1/+1
| | | | | | Remove things that are only needed for target VM communication: conditional compression, timeout scaling, traffic stats. To minimize diffs when we switch target VM communication to flatrpc.
* pkg/rpctype: make RPC compression optionalDmitry Vyukov2024-04-031-1/+1
| | | | | | | | RPC compression take up to 10% of CPU time in profiles, but it's unlikely to be beneficial for local VM runs (we are mostly copying memory in this case). Enable RPC compression based on the VM type (local VM don't use it, remove machines use it).
* vm/isolated: allow the use of system-wide SSH configFlorent Revest2024-03-191-3/+3
| | | | | | | | | | | | Most of the VM types tightly manage the target they SSH into and can safely assume that system wide SSH configuration would mess with the SSH flags provided by syzkaller. However, in the "isolate" VM type, one can connect to a host that is not at all managed by syzkaller. In this case, it can be useful to leverage system wide SSH config, maybe provided by a corporate environment. This adds an option to the isolated config to skip some of the SSH and SCP flags that would drop system wide config.
* all: use special placeholder for errorsTaras Madan2023-07-241-1/+1
|
* vm: pass Report to DiagnoseDmitry Vyukov2020-11-211-1/+2
| | | | | | | | | The way to diagnose generally depends on the issue. E.g. do we need register dump to debug this issue? Do we need host dmesg dump? Some diagnosis may be directly specific to a particular problem (e.g. dumping a particular debugfs/procfs file). Pass Report to Diagnose to make this possible.
* vm/bhyve: add config variable cputigergao992020-10-271-1/+3
| | | | Add a new configuration variable to specify number of bhyve VM vCPUs
* all: fix comments formatDmitry Vyukov2020-07-121-3/+3
| | | | | | | Fix capitalization, dots at the end and two spaces after a period. Update #1876
* vm/vmimpl: refactor DiagnoseFree/OpenBSDDmitry Vyukov2020-03-211-1/+1
| | | | | Make signatures of these functions match vm.Diagnose. Both more flexible, less code, more reasonable.
* vm: Get debug information when FreeBSD on panics (#1470)Andrew Turner2019-10-211-1/+16
| | | | The FreeBSD kernel debugger can provide more information when the kernel panics. Add support to bhybe and gce to print this information.
* vm/bhyve: ensure the VM is destroyed after closingMark Johnston2019-05-131-0/+1
|
* Add a bhyve VM backend (#1150)Mark Johnston2019-05-111-0/+342
* vm: add bhyve support bhyve is FreeBSD's native hypervisor. Because it is missing snapshot support and user networking, some additional configuration on the host is required. However, unlike QEMU on FreeBSD, bhyve can make use of hardware virtualization features and is thus faster. * docs/freebsd: document bhyve support