| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
with a non 0 return properly (i.e. EIO).
From: Carlos Cardenas, thanks!
|
| |
|
|
| |
from Jesper Wallin, thanks!
|
| |
|
|
| |
From Carlos Cardenas, many thanks!
|
| |
|
|
|
|
|
|
|
|
| |
This restricts receiving vms from hosts with more cpu features.
Tested on
broadwell -> skylake (works)
skylake -> broadwell (don't work)
ok mlarkin@
|
| |
|
|
| |
Also fix two debug messages and an IMSG type.
|
| |
|
|
|
|
|
| |
characters, including '.', '_' and '-'. but does not start with the latter
three.
ok mlarkin@ pd@
|
| |
|
|
| |
ok mlarkin@
|
| |
|
|
| |
ok reyk@ and mlarkin@
|
| |
|
|
|
|
| |
With help from Ashwin Agrawal
ok reyk@ mlarkin@
|
| |
|
|
|
|
| |
"vmctl stop" that doesn't exist.
Diff from Pratik Vyas, thanks!
|
| |
|
|
| |
OK mlarkin@
|
| |
|
|
|
|
| |
This allows to configure VM interfaces and switches in individual rdomains.
OK mlarkin@
|
| |
|
|
| |
OK deraadt@
|
| |
|
|
|
|
|
| |
The default prefix is 100.64.0.0/10 from RFC6598.
Requested by sthen@ chris@
OK mlarkin@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When a local interface is configured, vmd configures a /31 address on
the tap(4) interface of the host and provides another IP in the same
subnet via DHCP (BOOTP) to the VM. vmd runs an internal BOOTP server
that replies with IP, gateway, and DNS addresses to the VM. The
built-in server only ever responds to the VM on the inside and cannot
leak its DHCP responses to the outside.
Thanks to Uwe Werler, Josh Grosse, and some others for testing!
OK deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Each VM has two IDs: one from the kernel (vmm) and a different one
from userland (vmd). The vmm ID is not consistent and incremented on
every boot during runtimg of the host system. The vmd ID remains the
same during the lifetime of a configured VM, even after reboots.
Configured VMs will even get and keep their IDs when the configuration
is loaded. This is more what users expect.
Pointed out and tested by otto@
OK deraadt@
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't start a VM that is already running
- Keep the VM as running until it is powered off (and not stopping)
- Don't fatal in the parent if the vmm process referenced an unknown VM
- Don't stop a VM that is already stopping
- Indicate that a VM is stopping in "vmctl status"
The previous "vmctl stop; vmctl stop" to force-shutdown is not
supported anymore - the shutdown timeout should make sure that the VM
is really terminated. To force-shutdown, reference the VM by ID.
We might add a flag to vmctl stop to just turn the VM off.
|
| |
|
|
|
|
|
| |
The parent keeps a copy of each VM's tty fd to reuse it on reboot.
Close this tty if the VM was stopped, and not rebooted, by calling
vm_stop(vm, 0) instead of just setting vm_running to 0. Also make
sure that vm_ttyname is not used after free'ing it.
|
| |
|
|
|
|
|
| |
This is especially useful when multiple VMs share a switch, the
implementation is independent from the underlying switch or bridge.
no objections mlarkin@
|
| |
|
|
|
|
|
| |
This allows matching users to start or stop VMs that they "own" and to
access the console accordingly.
OK mlarkin@
|
| |
|
|
|
|
|
|
| |
This allows more flexibility for upcoming changes and better pledge.
We also didn't use half of the features of libutil's openpty function.
Additionally, make sure that the ttys are closed correctly on shutdown.
OK gilles@
|
| |
|
|
|
|
|
|
|
| |
The semantics agreed with reyk@ are:
* ad-hoc created vms, created with `vmctl start`, are removed once stopped.
* Stopped VMs defined in a config file are flushed before a `vmctl reload`.
OK reyk@
|
| |
|
|
|
|
|
| |
For now, this is only used to forward "log verbose|brief" requests,
but it will be used for better things later.
OK mlarkin@
|
| |
|
|
|
|
|
|
| |
This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().
Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)
|
| |
|
|
|
|
| |
With testing from Jon Bernard
OK mlarkin@
|
| |
|
|
|
|
|
|
| |
pty and re-send it to the vmm monitor process. With additional
changes in vmm.c, this will allow perform a cold reboot of VM.
With testing and feedback from Jon Bernard
OK mlarkin@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like the real boot loader, load and parse hd0a:/etc/boot.conf from the
first disk and fall back to /bsd. Not all boot loader options are
supported, but it at least does set device, set image, and boot -acds
(eg. for booting single-user).
For example, it can now boot install60.fs that includes a boot.conf
with "set image /6.0/amd64/bsd.rd":
vmctl start install -c -d install60.fs -d OpenBSD.img
This pseudo-bootloader is only needed without BIOS and could
potentially be replaced in the future.
OK mlarkin@
|
| |
|
|
|
|
| |
Default value picked with mlarkin - not too small and not too large.
OK mlarkin@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This make the kernel/-k argument optional and, if not specified, tries
to find the /bsd kernel in the primary hd0a partition of the first
disk image itself. It doesn't support hd0a:/etc/boot.conf yet, and it
is no BIOS or full boot loader, but it makes booting and handling of
VMs a bit easier - booting an external kernel is still supported.
The UFS file system code ufs.c is directly from libsa which is also
used by the real boot loader. The code compiles with a few signedness
warning which will be fixed separately.
OK mlarkin@
|
| |
|
|
|
|
|
| |
loading of invalid kernel files.
Reported by mlarkin@
OK mlarkin@
|
| | |
|
| |
|
|
|
|
|
|
| |
Tested by Jon Bernard and reyk@.
OK reyk@, no objections mlarkin@.
Thanks
|
| |
|
|
|
|
| |
once again after setting the next available id.
Suggested by edd@
|
| |
|
|
|
|
| |
style that is used in other places. Also keep the vmid from the parent.
OK edd@
|
| |
|
|
|
|
|
| |
Brings us one step closer to having disabled by default vms is vm.conf(5),
which can be started with vmctl(8).
Input, testing and OK reyk@. Thanks.
|
| |
|
|
|
|
| |
this group will be added to all VM tap(4) interfaces in the switch.
Tested by martijn@
|
| |
|
|
| |
Requested and tested by martijn@
|
| |
|
|
| |
OK rzalamena@
|
| |
|
|
|
|
| |
undead VM processes.
OK mlarkin@
|
| |
|
|
|
|
| |
See vm.conf(5) for more details.
OK mlarkin@
|
| |
|
|
|
|
|
|
|
|
|
| |
operations that aren't allowed under pledge. This is a companion to
the "vmd" process that runs as root but with pledge.
With the "priv" process, each new tap(4) interface now gets a
description to indicate the vm, eg. "vm1-if0-myvm". For network
configuration will be done by vmd/priv later.
OK mlarkin@
|
| |
|
|
| |
No objections from mlarkin@ sunil@
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
If a VM exits, terminate it and remove it from the list of
available VMs. That allows a VM with name `foo' to be restarted
after it has exited.
This changes structures shared between vmd and vmctl. You need to
rebuild vmctl also.
ok mlarkin@
|
| |
|
|
|
|
| |
control socket before free'ing the vm.
Found by and OK jsg@
|
| |
|
|
|
|
| |
titles (including flags) to distinguish between daemons, this makes it
possible to manage multiple copies of a daemon using the normal infrastructure
by symlinking rc.d scripts to a new name. ok jung@ ajacoutot@, smtpd ok gilles@
|
| |
|
|
|
| |
vmctl stop 3
vmctl stop "openbsd.vm"
|
| |
|
|
| |
ok reyk@
|
| |
|
|
| |
ok reyk@
|
| | |
|