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>
This commit is contained in:
Gerd Hoffmann 2009-12-08 13:11:47 +01:00 committed by Anthony Liguori
parent d8c208dd8a
commit cb4522ccf6
3 changed files with 6 additions and 1 deletions

5
net.c
View File

@ -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;
}

1
net.h
View File

@ -139,6 +139,7 @@ struct NICInfo {
extern int nb_nics;
extern NICInfo nd_table[MAX_NICS];
extern int default_net;
/* BT HCI info */

1
vl.c
View File

@ -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: