From: Gerd Hoffmann Date: Tue, 8 Dec 2009 12:11:47 +0000 (+0100) Subject: default devices: network X-Git-Tag: v0.12.0-rc2~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=782e9e6554d2404689a156282622046538bccd17;p=thirdparty%2Fqemu.git default devices: network Add a default_net variable which specified whenever a default network should be created. It is cleared in case any -net option is specified and it is also added to the new -nodefaults switch. Signed-off-by: Gerd Hoffmann Signed-off-by: Anthony Liguori (cherry picked from commit cb4522ccf67ba84d246291d9f75bd7f3df137d1a) --- diff --git a/net.c b/net.c index 13bdbb2caa0..6ef93e615c8 100644 --- a/net.c +++ b/net.c @@ -39,6 +39,8 @@ static QTAILQ_HEAD(, VLANState) vlans; static QTAILQ_HEAD(, VLANClientState) non_vlan_clients; +int default_net = 1; + /***********************************************************/ /* network device redirectors */ @@ -1317,7 +1319,7 @@ static int net_init_netdev(QemuOpts *opts, void *dummy) int net_init_clients(void) { - if (QTAILQ_EMPTY(&qemu_net_opts.head)) { + if (default_net) { /* if no clients, we use a default config */ qemu_opts_set(&qemu_net_opts, NULL, "type", "nic"); #ifdef CONFIG_SLIRP @@ -1353,5 +1355,6 @@ int net_client_parse(QemuOptsList *opts_list, const char *optarg) return -1; } + default_net = 0; return 0; } diff --git a/net.h b/net.h index d583d590a76..4971fcbbb52 100644 --- a/net.h +++ b/net.h @@ -139,6 +139,7 @@ struct NICInfo { extern int nb_nics; extern NICInfo nd_table[MAX_NICS]; +extern int default_net; /* BT HCI info */ diff --git a/vl.c b/vl.c index 69b577fbba8..48258362667 100644 --- a/vl.c +++ b/vl.c @@ -5476,6 +5476,7 @@ int main(int argc, char **argv, char **envp) default_parallel = 0; default_monitor = 0; default_vga = 0; + default_net = 0; break; #ifndef _WIN32 case QEMU_OPTION_chroot: