From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: libvir-list@redhat.com,
Samuel Thibault <samuel.thibault@ens-lyon.org>,
Jason Wang <jasowang@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
Date: Mon, 9 Mar 2020 18:50:39 +0000 [thread overview]
Message-ID: <20200309185039.GB20693@work-vm> (raw)
In-Reply-To: <20191205104109.18680-1-thuth@redhat.com>
* Thomas Huth (thuth@redhat.com) wrote:
> It's been deprecated since QEMU v3.1.0. Time to finally remove it now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Queued, via HMP, I've reworked the qemu-deprecated into the new rst
world.
> ---
> hmp-commands.hx | 8 ++++----
> net/hub.c | 23 -----------------------
> net/hub.h | 2 --
> net/slirp.c | 44 ++++++++++++--------------------------------
> qemu-deprecated.texi | 13 ++++++++-----
> 5 files changed, 24 insertions(+), 66 deletions(-)
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index cfcc044ce4..14ccc685d7 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -1463,8 +1463,8 @@ ETEXI
> #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,
> },
> @@ -1478,8 +1478,8 @@ ETEXI
> #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,
> },
> diff --git a/net/hub.c b/net/hub.c
> index 5795a678ed..88cfb876f3 100644
> --- a/net/hub.c
> +++ b/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
> */
> diff --git a/net/hub.h b/net/hub.h
> index 66d3322fac..ce45f7b399 100644
> --- a/net/hub.h
> +++ b/net/hub.h
> @@ -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);
> diff --git a/net/slirp.c b/net/slirp.c
> index c4334ee876..77042e6df7 100644
> --- a/net/slirp.c
> +++ b/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) {
> diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
> index 66d2b22a94..e407cc085e 100644
> --- a/qemu-deprecated.texi
> +++ b/qemu-deprecated.texi
> @@ -206,11 +206,6 @@ the 'wait' field, which is only applicable to sockets in server mode
>
> @section Human Monitor Protocol (HMP) commands
>
> -@subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (since 3.1)
> -
> -The @option{[hub_id name]} parameter tuple of the 'hostfwd_add' and
> -'hostfwd_remove' HMP commands has been replaced by @option{netdev_id}.
> -
> @subsection cpu-add (since 4.0)
>
> Use ``device_add'' for hotplugging vCPUs instead of ``cpu-add''. See
> @@ -376,6 +371,14 @@ What follows is a record of recently removed, formerly deprecated
> features that serves as a record for users who have encountered
> trouble after a recent upgrade.
>
> +@section Human Monitor Protocol (HMP) commands
> +
> +@subsection The hub_id parameter of 'hostfwd_add' / 'hostfwd_remove' (removed in 5.0)
> +
> +The @option{[hub_id name]} parameter tuple of the 'hostfwd_add' and
> +'hostfwd_remove' HMP commands has been replaced by the single option
> +@option{netdev_id}.
> +
> @section QEMU Machine Protocol (QMP) commands
>
> @subsection block-dirty-bitmap-add "autoload" parameter (since 4.2.0)
> --
> 2.18.1
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
prev parent reply other threads:[~2020-03-09 18:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-05 10:41 [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove' Thomas Huth
2019-12-05 16:02 ` Dr. David Alan Gilbert
2020-01-29 12:37 ` Thomas Huth
2020-02-07 18:22 ` Dr. David Alan Gilbert
2020-03-09 18:50 ` Dr. David Alan Gilbert [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200309185039.GB20693@work-vm \
--to=dgilbert@redhat.com \
--cc=jasowang@redhat.com \
--cc=libvir-list@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=samuel.thibault@ens-lyon.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.