diff options
author | Mark McLoughlin <markmc@redhat.com> | 2009-10-06 12:17:12 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-10-06 14:36:12 -0500 |
commit | 7b3fb251102b5529fa0efff6d5e06bc6ed2715f0 (patch) | |
tree | addd7eed82c7c7bdd1352f8d3392af51f01c7fff /net.c | |
parent | ed2955c2d6d92b3880ac7961693e20c51af9a283 (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.c | 58 |
1 files changed, 14 insertions, 44 deletions
@@ -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) |