diff options
author | George Dunlap <george.dunlap@eu.citrix.com> | 2013-07-05 12:13:55 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-07-22 22:20:59 +0100 |
commit | 61917a0802b93cebd596c6c71aa13df428149f67 (patch) | |
tree | 1416021413dc8509153576a28ead60c8b3f9c0cb | |
parent | f3e5942b1f15ce238aa53a5e176467ac2d15e3ca (diff) | |
download | xen-61917a0802b93cebd596c6c71aa13df428149f67.tar.gz xen-61917a0802b93cebd596c6c71aa13df428149f67.tar.bz2 xen-61917a0802b93cebd596c6c71aa13df428149f67.zip |
libxl: Add vif.default.backend to xl.conf
This will allow a user to default to a network driver domain
system-wide.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r-- | docs/man/xl.conf.pod.5 | 6 | ||||
-rw-r--r-- | tools/examples/xl.conf | 4 | ||||
-rw-r--r-- | tools/libxl/xl.c | 4 | ||||
-rw-r--r-- | tools/libxl/xl.h | 1 | ||||
-rw-r--r-- | tools/libxl/xl_cmdimpl.c | 6 |
5 files changed, 21 insertions, 0 deletions
diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5 index 125f786e6b..7c43bde4fa 100644 --- a/docs/man/xl.conf.pod.5 +++ b/docs/man/xl.conf.pod.5 @@ -93,6 +93,12 @@ The old B<defaultbridge> option is deprecated and should not be used. Default: C<xenbr0> +=item B<vif.default.backend="NAME"> + +Configures the default backend to set for virtual network devices. + +Default: C<0> + =item B<vif.default.gatewaydev="NAME"> Configures the default gateway device to set for virtual network devices. diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf index 12ea737bd7..374b6bbc2e 100644 --- a/tools/examples/xl.conf +++ b/tools/examples/xl.conf @@ -19,6 +19,10 @@ # launched by udev. #run_hotplug_scripts=1 +# default backend domain to connect guest vifs to. This can be any +# valid domain identifier. +#vif.default.backend="0" + # default gateway device to use with vif-route hotplug script #vif.default.gatewaydev="eth0" diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c index 0750f60b8d..b965cabf07 100644 --- a/tools/libxl/xl.c +++ b/tools/libxl/xl.c @@ -45,6 +45,7 @@ char *lockfile; char *default_vifscript = NULL; char *default_bridge = NULL; char *default_gatewaydev = NULL; +char *default_vifbackend = NULL; enum output_format default_output_format = OUTPUT_FORMAT_JSON; int claim_mode = 1; @@ -158,6 +159,9 @@ static void parse_global_config(const char *configfile, if (!xlu_cfg_get_string (config, "vif.default.gatewaydev", &buf, 0)) default_gatewaydev = strdup(buf); + if (!xlu_cfg_get_string (config, "vif.default.backend", &buf, 0)) + default_vifbackend = strdup(buf); + if (!xlu_cfg_get_string (config, "output_format", &buf, 0)) { if (!strcmp(buf, "json")) default_output_format = OUTPUT_FORMAT_JSON; diff --git a/tools/libxl/xl.h b/tools/libxl/xl.h index 5ad3e17b20..e72a7d2127 100644 --- a/tools/libxl/xl.h +++ b/tools/libxl/xl.h @@ -151,6 +151,7 @@ extern char *lockfile; extern char *default_vifscript; extern char *default_bridge; extern char *default_gatewaydev; +extern char *default_vifbackend; extern char *blkdev_start; enum output_format { diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 4a8feaf65d..5bef969e92 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -1125,6 +1125,11 @@ static void parse_config_data(const char *config_source, nic->gatewaydev = strdup(default_gatewaydev); } + if (default_vifbackend) { + free(nic->backend_domname); + nic->backend_domname = strdup(default_vifbackend); + } + p = strtok(buf2, ","); if (!p) goto skip_nic; @@ -1174,6 +1179,7 @@ static void parse_config_data(const char *config_source, free(nic->ifname); nic->ifname = strdup(p2 + 1); } else if (!strcmp(p, "backend")) { + free(nic->backend_domname); nic->backend_domname = strdup(p2 + 1); } else if (!strcmp(p, "rate")) { parse_vif_rate(&config, (p2 + 1), nic); |