mirror of https://gitee.com/openkylin/qemu.git
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:
parent
89802d5ae7
commit
b4983c570c
|
@ -248,12 +248,6 @@ the 'wait' field, which is only applicable to sockets in server mode
|
|||
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)
|
||||
'''''''''''''''''''''''
|
||||
|
||||
|
@ -430,6 +424,15 @@ QEMU Machine Protocol (QMP) commands
|
|||
The "autoload" parameter has been ignored since 2.12.0. All bitmaps
|
||||
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
|
||||
----------------
|
||||
|
||||
|
|
|
@ -1369,8 +1369,8 @@ ERST
|
|||
#ifdef CONFIG_SLIRP
|
||||
{
|
||||
.name = "hostfwd_add",
|
||||
.args_type = "arg1:s,arg2:s?,arg3:s?",
|
||||
.params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
|
||||
.args_type = "arg1:s,arg2:s?",
|
||||
.params = "[netdev_id] [tcp|udp]:[hostaddr]:hostport-[guestaddr]:guestport",
|
||||
.help = "redirect TCP or UDP connections from host to guest (requires -net user)",
|
||||
.cmd = hmp_hostfwd_add,
|
||||
},
|
||||
|
@ -1383,8 +1383,8 @@ ERST
|
|||
#ifdef CONFIG_SLIRP
|
||||
{
|
||||
.name = "hostfwd_remove",
|
||||
.args_type = "arg1:s,arg2:s?,arg3:s?",
|
||||
.params = "[hub_id name]|[netdev_id] [tcp|udp]:[hostaddr]:hostport",
|
||||
.args_type = "arg1:s,arg2:s?",
|
||||
.params = "[netdev_id] [tcp|udp]:[hostaddr]:hostport",
|
||||
.help = "remove host-to-guest TCP or UDP redirection",
|
||||
.cmd = hmp_hostfwd_remove,
|
||||
},
|
||||
|
|
23
net/hub.c
23
net/hub.c
|
@ -193,29 +193,6 @@ NetClientState *net_hub_add_port(int hub_id, const char *name,
|
|||
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
|
||||
*/
|
||||
|
|
|
@ -15,10 +15,8 @@
|
|||
#ifndef NET_HUB_H
|
||||
#define NET_HUB_H
|
||||
|
||||
|
||||
NetClientState *net_hub_add_port(int hub_id, const char *name,
|
||||
NetClientState *hubpeer);
|
||||
NetClientState *net_hub_find_client_by_name(int hub_id, const char *name);
|
||||
void net_hub_info(Monitor *mon);
|
||||
void net_hub_check_clients(void);
|
||||
bool net_hub_flush(NetClientState *nc);
|
||||
|
|
44
net/slirp.c
44
net/slirp.c
|
@ -610,25 +610,13 @@ error:
|
|||
return -1;
|
||||
}
|
||||
|
||||
static SlirpState *slirp_lookup(Monitor *mon, const char *hub_id,
|
||||
const char *name)
|
||||
static SlirpState *slirp_lookup(Monitor *mon, const char *id)
|
||||
{
|
||||
if (name) {
|
||||
NetClientState *nc;
|
||||
if (hub_id) {
|
||||
nc = net_hub_find_client_by_name(strtol(hub_id, NULL, 0), name);
|
||||
if (!nc) {
|
||||
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 (id) {
|
||||
NetClientState *nc = qemu_find_netdev(id);
|
||||
if (!nc) {
|
||||
monitor_printf(mon, "unrecognized netdev id '%s'\n", id);
|
||||
return NULL;
|
||||
}
|
||||
if (strcmp(nc->model, "user")) {
|
||||
monitor_printf(mon, "invalid device specified\n");
|
||||
|
@ -655,16 +643,12 @@ void hmp_hostfwd_remove(Monitor *mon, const QDict *qdict)
|
|||
int err;
|
||||
const char *arg1 = qdict_get_str(qdict, "arg1");
|
||||
const char *arg2 = qdict_get_try_str(qdict, "arg2");
|
||||
const char *arg3 = qdict_get_try_str(qdict, "arg3");
|
||||
|
||||
if (arg3) {
|
||||
s = slirp_lookup(mon, arg1, arg2);
|
||||
src_str = arg3;
|
||||
} else if (arg2) {
|
||||
s = slirp_lookup(mon, NULL, arg1);
|
||||
if (arg2) {
|
||||
s = slirp_lookup(mon, arg1);
|
||||
src_str = arg2;
|
||||
} else {
|
||||
s = slirp_lookup(mon, NULL, NULL);
|
||||
s = slirp_lookup(mon, NULL);
|
||||
src_str = arg1;
|
||||
}
|
||||
if (!s) {
|
||||
|
@ -784,16 +768,12 @@ void hmp_hostfwd_add(Monitor *mon, const QDict *qdict)
|
|||
SlirpState *s;
|
||||
const char *arg1 = qdict_get_str(qdict, "arg1");
|
||||
const char *arg2 = qdict_get_try_str(qdict, "arg2");
|
||||
const char *arg3 = qdict_get_try_str(qdict, "arg3");
|
||||
|
||||
if (arg3) {
|
||||
s = slirp_lookup(mon, arg1, arg2);
|
||||
redir_str = arg3;
|
||||
} else if (arg2) {
|
||||
s = slirp_lookup(mon, NULL, arg1);
|
||||
if (arg2) {
|
||||
s = slirp_lookup(mon, arg1);
|
||||
redir_str = arg2;
|
||||
} else {
|
||||
s = slirp_lookup(mon, NULL, NULL);
|
||||
s = slirp_lookup(mon, NULL);
|
||||
redir_str = arg1;
|
||||
}
|
||||
if (s) {
|
||||
|
|
Loading…
Reference in New Issue