Hi,

This is an initial version of the bhyve driver. bhyve is a hypervisor for
FreeBSD: http://bhyve.org/.

I've tried to make this initial version as small as possible but functional, 
e.g.
so it could be tested without lots of manual actions outside of libvirt. 
Hopefully
it's not large enough for review, because I have no idea how to make it smaller 
yet
functional.

About the driver itself.

It supports the following operations on domains (not counting service ones):

 * define
 * start
 * destroy

Domain configuration is limited, user can define RAM, vcpus, can specify only 
one
block device and attach the domain to only one network of 'bridge' type (default
network works fine).

Having that, you can start a bhyve VM and it will get a network connectivity.
Network supported added at the early state, because the only way to get inside 
VM
but network is via stdout/stdin, which is not convenient at all. That was fixed
in -CURRENT and one could use tty device, but I haven't upgrade my development 
box
to that version yet.

Testing information:

I use an domain xml like that:

https://gist.github.com/novel/8151244

On both host and guest I use FreeBSD amd64 10-BETA3. Guest image doesn't have 
much
configuration except:

ifconfig_vtnet0="DHCP"

in /etc/rc.conf

And allowing root loging for sshd.

Also, if one wants to manually test the image outside of libvirt, this line is 
needed
in /etc/ttys to be able to login from console:

ttyu2   "/usr/libexec/getty std.9600"   vt100   on secure

Roman Bogorodskiy (1):
  bhyve: add a basic driver

 configure.ac                |  37 ++++
 daemon/libvirtd.c           |   9 +
 include/libvirt/virterror.h |   1 +
 src/Makefile.am             |  35 +++
 src/bhyve/bhyve_driver.c    | 529 ++++++++++++++++++++++++++++++++++++++++++++
 src/bhyve/bhyve_driver.h    |  28 +++
 src/bhyve/bhyve_process.c   | 386 ++++++++++++++++++++++++++++++++
 src/bhyve/bhyve_process.h   |  36 +++
 src/bhyve/bhyve_utils.h     |  48 ++++
 src/conf/domain_conf.c      |   3 +-
 src/conf/domain_conf.h      |   1 +
 src/driver.h                |   1 +
 src/libvirt.c               |   3 +
 src/util/virerror.c         |   1 +
 14 files changed, 1117 insertions(+), 1 deletion(-)
 create mode 100644 src/bhyve/bhyve_driver.c
 create mode 100644 src/bhyve/bhyve_driver.h
 create mode 100644 src/bhyve/bhyve_process.c
 create mode 100644 src/bhyve/bhyve_process.h
 create mode 100644 src/bhyve/bhyve_utils.h

-- 
1.8.4.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to