diff mbox series

net: Use id_generate() in the network subsystem, too

Message ID 20210215090225.1046239-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series net: Use id_generate() in the network subsystem, too | expand

Commit Message

Thomas Huth Feb. 15, 2021, 9:02 a.m. UTC
We already got a global function called id_generate() to create unique
IDs within QEMU. Let's use it in the network subsytem, too, instead of
inventing our own ID scheme here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/qemu/id.h | 1 +
 net/net.c         | 6 +++---
 util/id.c         | 1 +
 3 files changed, 5 insertions(+), 3 deletions(-)

Comments

Marc-André Lureau Feb. 15, 2021, 9:28 p.m. UTC | #1
On Mon, Feb 15, 2021 at 1:03 PM Thomas Huth <thuth@redhat.com> wrote:

> We already got a global function called id_generate() to create unique
> IDs within QEMU. Let's use it in the network subsytem, too, instead of
> inventing our own ID scheme here.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  include/qemu/id.h | 1 +
>  net/net.c         | 6 +++---
>  util/id.c         | 1 +
>  3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/include/qemu/id.h b/include/qemu/id.h
> index b55c406e69..46b759b284 100644
> --- a/include/qemu/id.h
> +++ b/include/qemu/id.h
> @@ -5,6 +5,7 @@ typedef enum IdSubSystems {
>      ID_QDEV,
>      ID_BLOCK,
>      ID_CHR,
> +    ID_NET,
>      ID_MAX      /* last element, used as array size */
>  } IdSubSystems;
>
> diff --git a/net/net.c b/net/net.c
> index fb7b7dcc25..ca30df963d 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -43,6 +43,7 @@
>  #include "qemu/cutils.h"
>  #include "qemu/config-file.h"
>  #include "qemu/ctype.h"
> +#include "qemu/id.h"
>  #include "qemu/iov.h"
>  #include "qemu/qemu-print.h"
>  #include "qemu/main-loop.h"
> @@ -1111,8 +1112,7 @@ static int net_client_init(QemuOpts *opts, bool
> is_netdev, Error **errp)
>
>      /* Create an ID for -net if the user did not specify one */
>      if (!is_netdev && !qemu_opts_id(opts)) {
> -        static int idx;
> -        qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i",
> idx++));
> +        qemu_opts_set_id(opts, id_generate(ID_NET));
>      }
>
>      if (visit_type_Netdev(v, NULL, &object, errp)) {
> @@ -1467,7 +1467,7 @@ static int net_param_nic(void *dummy, QemuOpts
> *opts, Error **errp)
>      /* Create an ID if the user did not specify one */
>      nd_id = g_strdup(qemu_opts_id(opts));
>      if (!nd_id) {
> -        nd_id = g_strdup_printf("__org.qemu.nic%i", idx);
> +        nd_id = id_generate(ID_NET);
>          qemu_opts_set_id(opts, nd_id);
>      }
>
> diff --git a/util/id.c b/util/id.c
> index 5addb4460e..ded41c5025 100644
> --- a/util/id.c
> +++ b/util/id.c
> @@ -35,6 +35,7 @@ static const char *const id_subsys_str[ID_MAX] = {
>      [ID_QDEV]  = "qdev",
>      [ID_BLOCK] = "block",
>      [ID_CHR] = "chr",
> +    [ID_NET] = "net",
>  };
>
>  /*
> --
> 2.27.0
>
>
>
Laurent Vivier March 9, 2021, 8:48 p.m. UTC | #2
Le 15/02/2021 à 10:02, Thomas Huth a écrit :
> We already got a global function called id_generate() to create unique
> IDs within QEMU. Let's use it in the network subsytem, too, instead of
> inventing our own ID scheme here.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  include/qemu/id.h | 1 +
>  net/net.c         | 6 +++---
>  util/id.c         | 1 +
>  3 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/include/qemu/id.h b/include/qemu/id.h
> index b55c406e69..46b759b284 100644
> --- a/include/qemu/id.h
> +++ b/include/qemu/id.h
> @@ -5,6 +5,7 @@ typedef enum IdSubSystems {
>      ID_QDEV,
>      ID_BLOCK,
>      ID_CHR,
> +    ID_NET,
>      ID_MAX      /* last element, used as array size */
>  } IdSubSystems;
>  
> diff --git a/net/net.c b/net/net.c
> index fb7b7dcc25..ca30df963d 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -43,6 +43,7 @@
>  #include "qemu/cutils.h"
>  #include "qemu/config-file.h"
>  #include "qemu/ctype.h"
> +#include "qemu/id.h"
>  #include "qemu/iov.h"
>  #include "qemu/qemu-print.h"
>  #include "qemu/main-loop.h"
> @@ -1111,8 +1112,7 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
>  
>      /* Create an ID for -net if the user did not specify one */
>      if (!is_netdev && !qemu_opts_id(opts)) {
> -        static int idx;
> -        qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++));
> +        qemu_opts_set_id(opts, id_generate(ID_NET));
>      }
>  
>      if (visit_type_Netdev(v, NULL, &object, errp)) {
> @@ -1467,7 +1467,7 @@ static int net_param_nic(void *dummy, QemuOpts *opts, Error **errp)
>      /* Create an ID if the user did not specify one */
>      nd_id = g_strdup(qemu_opts_id(opts));
>      if (!nd_id) {
> -        nd_id = g_strdup_printf("__org.qemu.nic%i", idx);
> +        nd_id = id_generate(ID_NET);
>          qemu_opts_set_id(opts, nd_id);
>      }
>  
> diff --git a/util/id.c b/util/id.c
> index 5addb4460e..ded41c5025 100644
> --- a/util/id.c
> +++ b/util/id.c
> @@ -35,6 +35,7 @@ static const char *const id_subsys_str[ID_MAX] = {
>      [ID_QDEV]  = "qdev",
>      [ID_BLOCK] = "block",
>      [ID_CHR] = "chr",
> +    [ID_NET] = "net",
>  };
>  
>  /*
> 

Applied to my trivial-patches branch.

Thanks,
Laurent
diff mbox series

Patch

diff --git a/include/qemu/id.h b/include/qemu/id.h
index b55c406e69..46b759b284 100644
--- a/include/qemu/id.h
+++ b/include/qemu/id.h
@@ -5,6 +5,7 @@  typedef enum IdSubSystems {
     ID_QDEV,
     ID_BLOCK,
     ID_CHR,
+    ID_NET,
     ID_MAX      /* last element, used as array size */
 } IdSubSystems;
 
diff --git a/net/net.c b/net/net.c
index fb7b7dcc25..ca30df963d 100644
--- a/net/net.c
+++ b/net/net.c
@@ -43,6 +43,7 @@ 
 #include "qemu/cutils.h"
 #include "qemu/config-file.h"
 #include "qemu/ctype.h"
+#include "qemu/id.h"
 #include "qemu/iov.h"
 #include "qemu/qemu-print.h"
 #include "qemu/main-loop.h"
@@ -1111,8 +1112,7 @@  static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
 
     /* Create an ID for -net if the user did not specify one */
     if (!is_netdev && !qemu_opts_id(opts)) {
-        static int idx;
-        qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++));
+        qemu_opts_set_id(opts, id_generate(ID_NET));
     }
 
     if (visit_type_Netdev(v, NULL, &object, errp)) {
@@ -1467,7 +1467,7 @@  static int net_param_nic(void *dummy, QemuOpts *opts, Error **errp)
     /* Create an ID if the user did not specify one */
     nd_id = g_strdup(qemu_opts_id(opts));
     if (!nd_id) {
-        nd_id = g_strdup_printf("__org.qemu.nic%i", idx);
+        nd_id = id_generate(ID_NET);
         qemu_opts_set_id(opts, nd_id);
     }
 
diff --git a/util/id.c b/util/id.c
index 5addb4460e..ded41c5025 100644
--- a/util/id.c
+++ b/util/id.c
@@ -35,6 +35,7 @@  static const char *const id_subsys_str[ID_MAX] = {
     [ID_QDEV]  = "qdev",
     [ID_BLOCK] = "block",
     [ID_CHR] = "chr",
+    [ID_NET] = "net",
 };
 
 /*