Implement the remote plumbing.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 17 ++++++++++++++++-
src/remote_protocol-structs | 10 ++++++++++
src/rpc/gendispatch.pl | 1 +
4 files changed, 28 insertions(+), 1 deletion(-)
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 42dab9d..6035631 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8106,6 +8106,7 @@ static virHypervisorDriver hypervisor_driver = {
.domainGetVcpus = remoteDomainGetVcpus, /* 0.3.0 */
.domainGetMaxVcpus = remoteDomainGetMaxVcpus, /* 0.3.0 */
.domainGetIOThreadsInfo = remoteDomainGetIOThreadsInfo, /* 1.2.14 */
+ .domainPinIOThread = remoteDomainPinIOThread, /* 1.2.14 */
.domainGetSecurityLabel = remoteDomainGetSecurityLabel, /* 0.6.1 */
.domainGetSecurityLabelList = remoteDomainGetSecurityLabelList, /* 0.10.0 */
.nodeGetSecurityModel = remoteNodeGetSecurityModel, /* 0.6.1 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 4ea535e..6beaa6e 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1199,6 +1199,13 @@ struct remote_domain_get_iothreads_info_ret {
unsigned int ret;
};
+struct remote_domain_pin_iothread_args {
+ remote_nonnull_domain dom;
+ unsigned int iothreads_id;
+ opaque cpumap<REMOTE_CPUMAP_MAX>; /* (unsigned char *) */
+ unsigned int flags;
+};
+
struct remote_domain_get_security_label_args {
remote_nonnull_domain dom;
};
@@ -5593,5 +5600,13 @@ enum remote_procedure {
* @generate: none
* @acl: domain:read
*/
- REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351
+ REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+
+ /**
+ * @generate: both
+ * @acl: domain:write
+ * @acl: domain:save:!VIR_DOMAIN_AFFECT_CONFIG|VIR_DOMAIN_AFFECT_LIVE
+ * @acl: domain:save:VIR_DOMAIN_AFFECT_CONFIG
+ */
+ REMOTE_PROC_DOMAIN_PIN_IOTHREAD = 352
};
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index 907bcd4..3d55304 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -825,6 +825,15 @@ struct remote_domain_get_iothreads_info_ret {
} info;
u_int ret;
};
+struct remote_domain_pin_iothread_args {
+ remote_nonnull_domain dom;
+ u_int iothreads_id;
+ struct {
+ u_int cpumap_len;
+ char * cpumap_val;
+ } cpumap;
+ u_int flags;
+};
struct remote_domain_get_security_label_args {
remote_nonnull_domain dom;
};
@@ -2982,4 +2991,5 @@ enum remote_procedure {
REMOTE_PROC_DOMAIN_GET_FSINFO = 349,
REMOTE_PROC_DOMAIN_DEFINE_XML_FLAGS = 350,
REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+ REMOTE_PROC_DOMAIN_PIN_IOTHREAD = 352,
};
diff --git a/src/rpc/gendispatch.pl b/src/rpc/gendispatch.pl
index 78cb415..8b488eb 100755
--- a/src/rpc/gendispatch.pl
+++ b/src/rpc/gendispatch.pl
@@ -68,6 +68,7 @@ sub fixup_name {
$name =~ s/Fsthaw$/FSThaw/;
$name =~ s/Fsinfo$/FSInfo/;
$name =~ s/Iothreads$/IOThreads/;
+ $name =~ s/Iothread$/IOThread/;
$name =~ s/Scsi/SCSI/;
$name =~ s/Wwn$/WWN/;
$name =~ s/Dhcp$/DHCP/;
--
2.1.0