|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 1/4] libxl: add a list of abstract 'channels' to the domain config
A 'channel' is a low-bandwidth private communication channel that
resembles a physical serial port. Example uses include:
* providing initial VM configuration without having to use the
network
* signalling a guest agent
Every channel has a string 'name' which the VM can use to find
the appropriate handler. Each channel has an implementation 'type'
which currently includes:
* NONE: reads will block, writes will be thrown away
* PTY: the I/O surfaces as a pty in the backend domain
* PATH: writes are appended to a log file in the backend domain
* SOCKET: a listening Unix domain socket accepts a connection in
the backend domain and proxies
Signed-off-by: David Scott <dave.scott@xxxxxxxxxx>
---
tools/libxl/libxl_types.idl | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 52f1aa9..4df8d42 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -51,6 +51,17 @@ libxl_domain_type = Enumeration("domain_type", [
(2, "PV"),
], init_val = -1)
+libxl_channel_type = Enumeration("channel_type", [
+ # Connected to nothing:
+ (0, "NONE"),
+ # Connect to a pty in the backend domain:
+ (1, "PTY"),
+ # Spool output to a file in the backend domain:
+ (2, "PATH"),
+ # Listen on a Unix domain socket in the backend domain:
+ (3, "SOCKET"),
+ ], init_val = 0)
+
libxl_device_model_version = Enumeration("device_model_version", [
(0, "UNKNOWN"),
(1, "QEMU_XEN_TRADITIONAL"), # Historical qemu-xen device model (qemu-dm)
@@ -457,6 +468,15 @@ libxl_device_vtpm = Struct("device_vtpm", [
("uuid", libxl_uuid),
])
+libxl_device_channel = Struct("device_channel", [
+ ("backend_domid", libxl_domid),
+ ("backend_domname", string),
+ ("devid", libxl_devid),
+ ("name", string),
+ ("type", libxl_channel_type),
+ ("path", string),
+])
+
libxl_domain_config = Struct("domain_config", [
("c_info", libxl_domain_create_info),
("b_info", libxl_domain_build_info),
@@ -467,6 +487,7 @@ libxl_domain_config = Struct("domain_config", [
("vfbs", Array(libxl_device_vfb, "num_vfbs")),
("vkbs", Array(libxl_device_vkb, "num_vkbs")),
("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
+ ("channels", Array(libxl_device_channel, "num_channels")),
("on_poweroff", libxl_action_on_shutdown),
("on_reboot", libxl_action_on_shutdown),
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |