net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'

It's been deprecated since QEMU v3.1.0. Time to finally remove it now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20191205104109.18680-1-thuth@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
  Reworked Thomas's deprecated.texi to the rst
This commit is contained in:
Thomas Huth 2019-12-05 11:41:09 +01:00 committed by Dr. David Alan Gilbert
parent 89802d5ae7
commit b4983c570c
5 changed files with 25 additions and 67 deletions

View File

@ -248,12 +248,6 @@ the 'wait' field, which is only applicable to sockets in server mode
Human Monitor Protocol (HMP) commands Human Monitor Protocol (HMP) commands
------------------------------------- -------------------------------------
The ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (since 3.1)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
The ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
``cpu-add`` (since 4.0) ``cpu-add`` (since 4.0)
''''''''''''''''''''''' '''''''''''''''''''''''
@ -430,6 +424,15 @@ QEMU Machine Protocol (QMP) commands
The "autoload" parameter has been ignored since 2.12.0. All bitmaps The "autoload" parameter has been ignored since 2.12.0. All bitmaps
are automatically loaded from qcow2 images. are automatically loaded from qcow2 images.
Human Monitor Protocol (HMP) commands
-------------------------------------
The ``hub_id`` parameter of ``hostfwd_add`` / ``hostfwd_remove`` (removed in 5.0)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
The ``[hub_id name]`` parameter tuple of the 'hostfwd_add' and
'hostfwd_remove' HMP commands has been replaced by ``netdev_id``.
Related binaries Related binaries
---------------- ----------------

View File

@ -1369,8 +1369,8 @@ ERST
#ifdef CONFIG_SLIRP #ifdef CONFIG_SLIRP
{ {
.name = "hostfwd_add", .name = "hostfwd_add",
.args_type = "arg1:s,arg2:s?,arg3:s?", .args_type = "arg1:s,arg2:s?",
.params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport", .params = "[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
.help = "redirect TCP or UDP connections from host to guest (requires -net user)", .help = "redirect TCP or UDP connections from host to guest (requires -net user)",
.cmd = hmp_hostfwd_add, .cmd = hmp_hostfwd_add,
}, },
@ -1383,8 +1383,8 @@ ERST
#ifdef CONFIG_SLIRP #ifdef CONFIG_SLIRP
{ {
.name = "hostfwd_remove", .name = "hostfwd_remove",
.args_type = "arg1:s,arg2:s?,arg3:s?", .args_type = "arg1:s,arg2:s?",
.params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport", .params = "[netdev_id] [tcp|udp]:[hostaddr]:hostport",
.help = "remove host-to-guest TCP or UDP redirection", .help = "remove host-to-guest TCP or UDP redirection",
.cmd = hmp_hostfwd_remove, .cmd = hmp_hostfwd_remove,
}, },

View File

@ -193,29 +193,6 @@ NetClientState *net_hub_add_port(int hub_id, const char *name,
return &port->nc; return &port->nc;
} }
/**
* Find a specific client on a hub
*/
NetClientState *net_hub_find_client_by_name(int hub_id, const char *name)
{
NetHub *hub;
NetHubPort *port;
NetClientState *peer;
QLIST_FOREACH(hub, &hubs, next) {
if (hub->id == hub_id) {
QLIST_FOREACH(port, &hub->ports, next) {
peer = port->nc.peer;
if (peer && strcmp(peer->name, name) == 0) {
return peer;
}
}
}
}
return NULL;
}
/** /**
* Find a available port on a hub; otherwise create one new port * Find a available port on a hub; otherwise create one new port
*/ */

View File

@ -15,10 +15,8 @@
#ifndef NET_HUB_H #ifndef NET_HUB_H
#define NET_HUB_H #define NET_HUB_H
NetClientState *net_hub_add_port(int hub_id, const char *name, NetClientState *net_hub_add_port(int hub_id, const char *name,
NetClientState *hubpeer); NetClientState *hubpeer);
NetClientState *net_hub_find_client_by_name(int hub_id, const char *name);
void net_hub_info(Monitor *mon); void net_hub_info(Monitor *mon);
void net_hub_check_clients(void); void net_hub_check_clients(void);
bool net_hub_flush(NetClientState *nc); bool net_hub_flush(NetClientState *nc);

View File

@ -610,25 +610,13 @@ error:
return -1; return -1;
} }
static SlirpState *slirp_lookup(Monitor *mon, const char *hub_id, static SlirpState *slirp_lookup(Monitor *mon, const char *id)
const char *name)
{ {
if (name) { if (id) {
NetClientState *nc; NetClientState *nc = qemu_find_netdev(id);
if (hub_id) { if (!nc) {
nc = net_hub_find_client_by_name(strtol(hub_id, NULL, 0), name); monitor_printf(mon, "unrecognized netdev id '%s'\n", id);
if (!nc) { return NULL;
monitor_printf(mon, "unrecognized (hub-id, stackname) pair\n");
return NULL;
}
warn_report("Using 'hub-id' is deprecated, specify the netdev id "
"directly instead");
} else {
nc = qemu_find_netdev(name);
if (!nc) {
monitor_printf(mon, "unrecognized netdev id '%s'\n", name);
return NULL;
}
} }
if (strcmp(nc->model, "user")) { if (strcmp(nc->model, "user")) {
monitor_printf(mon, "invalid device specified\n"); monitor_printf(mon, "invalid device specified\n");
@ -655,16 +643,12 @@ void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict)
int err; int err;
const char *arg1 = qdict_get_str(qdict, "arg1"); const char *arg1 = qdict_get_str(qdict, "arg1");
const char *arg2 = qdict_get_try_str(qdict, "arg2"); const char *arg2 = qdict_get_try_str(qdict, "arg2");
const char *arg3 = qdict_get_try_str(qdict, "arg3");
if (arg3) { if (arg2) {
s = slirp_lookup(mon, arg1, arg2); s = slirp_lookup(mon, arg1);
src_str = arg3;
} else if (arg2) {
s = slirp_lookup(mon, NULL, arg1);
src_str = arg2; src_str = arg2;
} else { } else {
s = slirp_lookup(mon, NULL, NULL); s = slirp_lookup(mon, NULL);
src_str = arg1; src_str = arg1;
} }
if (!s) { if (!s) {
@ -784,16 +768,12 @@ void hmp_hostfwd_add(Monitor *mon, const QDict *qdict)
SlirpState *s; SlirpState *s;
const char *arg1 = qdict_get_str(qdict, "arg1"); const char *arg1 = qdict_get_str(qdict, "arg1");
const char *arg2 = qdict_get_try_str(qdict, "arg2"); const char *arg2 = qdict_get_try_str(qdict, "arg2");
const char *arg3 = qdict_get_try_str(qdict, "arg3");
if (arg3) { if (arg2) {
s = slirp_lookup(mon, arg1, arg2); s = slirp_lookup(mon, arg1);
redir_str = arg3;
} else if (arg2) {
s = slirp_lookup(mon, NULL, arg1);
redir_str = arg2; redir_str = arg2;
} else { } else {
s = slirp_lookup(mon, NULL, NULL); s = slirp_lookup(mon, NULL);
redir_str = arg1; redir_str = arg1;
} }
if (s) { if (s) {