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

Dr. David Alan Gilbert dgilbert at redhat.com
Thu Dec 5 16:02:54 UTC 2019


* Thomas Huth (thuth at redhat.com) wrote:
> It's been deprecated since QEMU v3.1.0. Time to finally remove it now.
> 
> Signed-off-by: Thomas Huth <thuth at redhat.com>
> ---
>  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,
>      },

for HMP:

Acked-by: Dr. David Alan Gilbert <dgilbert at redhat.com>

> 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
>  
> - at 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.
>  
> + at section Human Monitor Protocol (HMP) commands
> +
> + at 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
> + at 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 at redhat.com / Manchester, UK




More information about the libvir-list mailing list