[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/2] xl: allow specifying a default netdev in xl.conf
This adds a new global option in the xl configuration file called "defaultnetdev", that is used to specify the default netdev to use when none is passed in the vif specification. Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> Cc: Ulf Kreutzberg <ulf.kreutzberg@xxxxxxxxxxxxx> --- docs/man/xl.conf.pod.5 | 6 ++++++ tools/examples/xl.conf | 3 +++ tools/libxl/xl.c | 4 ++++ tools/libxl/xl.h | 1 + tools/libxl/xl_cmdimpl.c | 5 +++++ 5 files changed, 19 insertions(+), 0 deletions(-) diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5 index 82c6b20..d1aa4c9 100644 --- a/docs/man/xl.conf.pod.5 +++ b/docs/man/xl.conf.pod.5 @@ -82,6 +82,12 @@ Configures the default bridge to set for virtual network devices. Default: C<xenbr0> +=item B<defaultnetdev="NAME"> + +Configures the default netdev to set for virtual network devices. + +Default: C<None> + =item B<output_format="json|sxp"> Configures the default output format used by xl when printing "machine diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf index 28ab796..120a41b 100644 --- a/tools/examples/xl.conf +++ b/tools/examples/xl.conf @@ -20,3 +20,6 @@ # if disabled the old behaviour will be used, and hotplug scripts will be # launched by udev. #run_hotplug_scripts=1 + +# default netdev to use with vif-route hotplug script +#defaultnetdev="eth0" diff --git a/tools/libxl/xl.c b/tools/libxl/xl.c index ecbcd3b..06a09c2 100644 --- a/tools/libxl/xl.c +++ b/tools/libxl/xl.c @@ -43,6 +43,7 @@ int run_hotplug_scripts = 1; char *lockfile; char *default_vifscript = NULL; char *default_bridge = NULL; +char *default_netdev = NULL; enum output_format default_output_format = OUTPUT_FORMAT_JSON; static xentoollog_level minmsglevel = XTL_PROGRESS; @@ -91,6 +92,9 @@ static void parse_global_config(const char *configfile, if (!xlu_cfg_get_string (config, "defaultbridge", &buf, 0)) default_bridge = strdup(buf); + if (!xlu_cfg_get_string (config, "defaultnetdev", &buf, 0)) + default_netdev = 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 be6f38b..5d43572 100644 --- a/tools/libxl/xl.h +++ b/tools/libxl/xl.h @@ -148,6 +148,7 @@ extern int dryrun_only; extern char *lockfile; extern char *default_vifscript; extern char *default_bridge; +extern char *default_netdev; extern char *blkdev_start; enum output_format { diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 92a64e4..2bbbbc1 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -1141,6 +1141,11 @@ static void parse_config_data(const char *config_source, nic->bridge = strdup(default_bridge); } + if (default_netdev) { + free(nic->netdev); + nic->netdev = strdup(default_netdev); + } + p = strtok(buf2, ","); if (!p) goto skip_nic; -- 1.7.7.5 (Apple Git-26) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |