mirror of https://gitee.com/openkylin/qemu.git
net: fix multiple NICs causing net opts process to stop
For NICs, net_init_client() returns the index into the NICInfo table. qemu_opts_foreach() interprets non-zero as an error return an stops iterating over the options. So, if you have more than one '-net nic' on the command line, subsequent '-net' options do not get processed. Fix this by making net_client_init() only return non-zero if net_init_client() returns an error. Reported-by: Peter Lieven <pl@dlh.net> Patchworks-ID: 35736 Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
9a6ecb308b
commit
c1671a0876
4
net.c
4
net.c
|
@ -3302,7 +3302,9 @@ static void net_check_clients(void)
|
||||||
|
|
||||||
static int net_init_client(QemuOpts *opts, void *dummy)
|
static int net_init_client(QemuOpts *opts, void *dummy)
|
||||||
{
|
{
|
||||||
return net_client_init(NULL, opts, 0);
|
if (net_client_init(NULL, opts, 0) < 0)
|
||||||
|
return -1;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int net_init_netdev(QemuOpts *opts, void *dummy)
|
static int net_init_netdev(QemuOpts *opts, void *dummy)
|
||||||
|
|
Loading…
Reference in New Issue