diff options
author | Stefano Stabellini <sstabellini@xensource.com> | 2010-08-09 17:44:01 +0100 |
---|---|---|
committer | Stefano Stabellini <sstabellini@xensource.com> | 2010-08-09 17:44:01 +0100 |
commit | ba8ae70f8e72a1f164cbbb2487b0f24c8dd6ccd3 (patch) | |
tree | ee86938c401975018c7d1c695158d7f08f59a16b | |
parent | 8493e199f833705eb480e91b2dd4d0328202e525 (diff) | |
download | xen-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.c | 12 |
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)) { |