aboutsummaryrefslogtreecommitdiffstats
path: root/net.c
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2009-10-06 12:17:12 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-06 14:36:12 -0500
commit7b3fb251102b5529fa0efff6d5e06bc6ed2715f0 (patch)
treeaddd7eed82c7c7bdd1352f8d3392af51f01c7fff /net.c
parented2955c2d6d92b3880ac7961693e20c51af9a283 (diff)
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: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'net.c')
-rw-r--r--net.c58
1 files changed, 14 insertions, 44 deletions
diff --git a/net.c b/net.c
index fd4af3c5f..534305ca2 100644
--- a/net.c
+++ b/net.c
@@ -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)