aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Stabellini <sstabellini@xensource.com>2010-08-09 17:44:01 +0100
committerStefano Stabellini <sstabellini@xensource.com>2010-08-09 17:44:01 +0100
commitba8ae70f8e72a1f164cbbb2487b0f24c8dd6ccd3 (patch)
treeee86938c401975018c7d1c695158d7f08f59a16b
parent8493e199f833705eb480e91b2dd4d0328202e525 (diff)
downloadxen-ba8ae70f8e72a1f164cbbb2487b0f24c8dd6ccd3.tar.gz
xen-ba8ae70f8e72a1f164cbbb2487b0f24c8dd6ccd3.tar.bz2
xen-ba8ae70f8e72a1f164cbbb2487b0f24c8dd6ccd3.zip
xl: support backend domid in config file for vifs
Allow specification of backend domains for vifs, either in the config file or via network-attach. Signed-off-by: Mihir Nanavati <mihirn@cs.ubc.ca> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
-rw-r--r--tools/libxl/xl_cmdimpl.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 638289ba12..b1f8d71d36 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -833,6 +833,11 @@ static void parse_config_data(const char *configfile_filename_report,
nic->script = strdup(p2 + 1);
} else if (!strcmp(p, "vifname")) {
nic->ifname = strdup(p2 + 1);
+ } else if (!strcmp(p, "backend")) {
+ if(libxl_name_to_domid(&ctx, (p2 + 1), &(nic->backend_domid))) {
+ fprintf(stderr, "Specified backend domain does not exist, defaulting to Dom0\n");
+ nic->backend_domid = 0;
+ }
} else if (!strcmp(p, "rate")) {
fprintf(stderr, "the rate parameter for vifs is currently not supported\n");
} else if (!strcmp(p, "accel")) {
@@ -4012,10 +4017,9 @@ int main_networkattach(int argc, char **argv)
} else if (!strncmp("script=", *argv, 6)) {
nic.script = (*argv) + 6;
} else if (!strncmp("backend=", *argv, 8)) {
- val = strtoul((*argv) + 8, &endptr, 10);
- if (((*argv) + 8) == endptr) {
- fprintf(stderr, "Invalid parameter `backend'.\n");
- return 1;
+ if(libxl_name_to_domid(&ctx, ((*argv) + 8), &val)) {
+ fprintf(stderr, "Specified backend domain does not exist, defaulting to Dom0\n");
+ val = 0;
}
nic.backend_domid = val;
} else if (!strncmp("vifname=", *argv, 8)) {