提交 7b3fb251 编写于 作者: M Mark McLoughlin 提交者: Anthony Liguori

Clean up legacy code in net_client_init()

Now that we've ported everything over to QemuOpts, we can kill off
all the cruft in net_client_init().

Note, the 'channel' type requires special handling as it uses a
format that QemuOpts can't parse
Signed-off-by: NMark McLoughlin <markmc@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 ed2955c2
......@@ -3032,42 +3032,12 @@ static int net_client_init_from_opts(Monitor *mon, QemuOpts *opts)
int net_client_init(Monitor *mon, const char *device, const char *p)
{
char buf[1024];
int vlan_id, ret;
VLANState *vlan;
char *name = NULL;
if (!strcmp(device, "none") ||
!strcmp(device, "nic") ||
!strcmp(device, "user") ||
!strcmp(device, "tap") ||
!strcmp(device, "socket") ||
!strcmp(device, "vde") ||
!strcmp(device, "dump")) {
QemuOpts *opts;
opts = qemu_opts_parse(&qemu_net_opts, p, NULL);
if (!opts) {
return -1;
}
qemu_opt_set(opts, "type", device);
return net_client_init_from_opts(mon, opts);
}
vlan_id = 0;
if (get_param_value(buf, sizeof(buf), "vlan", p)) {
vlan_id = strtol(buf, NULL, 0);
}
vlan = qemu_find_vlan(vlan_id, 1);
if (get_param_value(buf, sizeof(buf), "name", p)) {
name = qemu_strdup(buf);
}
QemuOpts *opts;
#ifdef CONFIG_SLIRP
if (!strcmp(device, "channel")) {
int ret;
if (QTAILQ_EMPTY(&slirp_stacks)) {
struct slirp_config_str *config;
......@@ -3080,19 +3050,19 @@ int net_client_init(Monitor *mon, const char *device, const char *p)
} else {
ret = slirp_guestfwd(QTAILQ_FIRST(&slirp_stacks), p, 1);
}
} else
#endif
{
qemu_error("Unknown network device: %s\n", device);
ret = -1;
goto out;
return ret;
}
if (ret < 0) {
qemu_error("Could not initialize device '%s'\n", device);
#endif
opts = qemu_opts_parse(&qemu_net_opts, p, NULL);
if (!opts) {
return -1;
}
out:
qemu_free(name);
return ret;
qemu_opt_set(opts, "type", device);
return net_client_init_from_opts(mon, opts);
}
void net_client_uninit(NICInfo *nd)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册