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 <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/net.c b/net.c
index 13bdbb2..6ef93e6 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 @@
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 @@
return -1;
}
+ default_net = 0;
return 0;
}
diff --git a/net.h b/net.h
index d583d59..4971fcb 100644
--- a/net.h
+++ b/net.h
@@ -139,6 +139,7 @@
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 69b577f..4825836 100644
--- a/vl.c
+++ b/vl.c
@@ -5476,6 +5476,7 @@
default_parallel = 0;
default_monitor = 0;
default_vga = 0;
+ default_net = 0;
break;
#ifndef _WIN32
case QEMU_OPTION_chroot: