All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
@ 2019-12-05 10:41 Thomas Huth
  2019-12-05 16:02 ` Dr. David Alan Gilbert
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Thomas Huth @ 2019-12-05 10:41 UTC (permalink / raw)
  To: qemu-devel, Jason Wang
  Cc: libvir-list, Samuel Thibault, Dr. David Alan Gilbert

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

Signed-off-by: Thomas Huth <thuth@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,
     },
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



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
  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-03-09 18:50 ` Dr. David Alan Gilbert
  2 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2019-12-05 16:02 UTC (permalink / raw)
  To: Thomas Huth; +Cc: libvir-list, Samuel Thibault, Jason Wang, qemu-devel

* 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>
> ---
>  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@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
>  
> -@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



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
  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
  2 siblings, 1 reply; 5+ messages in thread
From: Thomas Huth @ 2020-01-29 12:37 UTC (permalink / raw)
  To: qemu-devel, Jason Wang
  Cc: libvir-list, Samuel Thibault, Dr. David Alan Gilbert

On 05/12/2019 11.41, Thomas Huth wrote:
> It's been deprecated since QEMU v3.1.0. Time to finally remove it now.
> 
> Signed-off-by: Thomas Huth <thuth@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,
>      },
> 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)
> 

Ping?

 Thomas



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
  2020-01-29 12:37 ` Thomas Huth
@ 2020-02-07 18:22   ` Dr. David Alan Gilbert
  0 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2020-02-07 18:22 UTC (permalink / raw)
  To: Thomas Huth, marcandre.lureau
  Cc: libvir-list, Samuel Thibault, Jason Wang, qemu-devel

* Thomas Huth (thuth@redhat.com) wrote:
> On 05/12/2019 11.41, Thomas Huth wrote:
> > It's been deprecated since QEMU v3.1.0. Time to finally remove it now.
> > 
> > Signed-off-by: Thomas Huth <thuth@redhat.com>

For hmp:

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

would want an ack from Samuel (or maybe Marc-André)

Dave


> > ---
> >  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)
> > 
> 
> Ping?
> 
>  Thomas
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: Remove deprecated [hub_id name] tuple of 'hostfwd_add' / 'hostfwd_remove'
  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-03-09 18:50 ` Dr. David Alan Gilbert
  2 siblings, 0 replies; 5+ messages in thread
From: Dr. David Alan Gilbert @ 2020-03-09 18:50 UTC (permalink / raw)
  To: Thomas Huth; +Cc: libvir-list, Samuel Thibault, Jason Wang, qemu-devel

* 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



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-03-09 18:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 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.