From 61917a0802b93cebd596c6c71aa13df428149f67 Mon Sep 17 00:00:00 2001 From: George Dunlap Date: Fri, 5 Jul 2013 12:13:55 +0100 Subject: libxl: Add vif.default.backend to xl.conf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will allow a user to default to a network driver domain system-wide. Signed-off-by: George Dunlap Acked-by: Roger Pau Monné Acked-by: Ian Campbell --- tools/libxl/xl.c | 4 ++++ tools/libxl/xl.h | 1 + tools/libxl/xl_cmdimpl.c | 6 ++++++ 3 files changed, 11 insertions(+) (limited to 'tools/libxl') 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); -- cgit v1.2.3