Message ID | 20211112031112.9303-3-chen.zhang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add passthrough support to object with network processing function | expand |
I normally look only at the QAPI schema changes when I'm not a subject matter expert, but today my gaze wandered... Zhang Chen <chen.zhang@intel.com> writes: > No need to carry the flag all the time in many scenarios. > > Signed-off-by: Zhang Chen <chen.zhang@intel.com> > --- > include/qemu/sockets.h | 1 + > util/qemu-sockets.c | 14 ++++++++++++++ > 2 files changed, 15 insertions(+) > > diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h > index 0c34bf2398..3a0f8fa8f2 100644 > --- a/include/qemu/sockets.h > +++ b/include/qemu/sockets.h > @@ -32,6 +32,7 @@ int socket_set_fast_reuse(int fd); > int inet_ai_family_from_address(InetSocketAddress *addr, > Error **errp); > int inet_parse(InetSocketAddress *addr, const char *str, Error **errp); > +int inet_parse_base(InetSocketAddressBase *addr, const char *str, Error **errp); > int inet_connect(const char *str, Error **errp); > int inet_connect_saddr(InetSocketAddress *saddr, Error **errp); > > diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c > index 0585e7a629..f444921918 100644 > --- a/util/qemu-sockets.c > +++ b/util/qemu-sockets.c > @@ -713,6 +713,20 @@ int inet_parse(InetSocketAddress *addr, const char *str, Error **errp) > return 0; > } > > +int inet_parse_base(InetSocketAddressBase *base, const char *str, Error **errp) > +{ > + InetSocketAddress *addr; > + int ret = 0; > + > + addr = g_new0(InetSocketAddress, 1); > + ret = inet_parse(addr, str, errp); > + > + base->host = addr->host; > + base->port = addr->port; > + > + g_free(addr); > + return ret; > +} This accepts all the funky flags inet_parse() accepts, then silently ignores them. I seriously doubt we want that. > > /** > * Create a blocking socket and connect it to an address.
diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h index 0c34bf2398..3a0f8fa8f2 100644 --- a/include/qemu/sockets.h +++ b/include/qemu/sockets.h @@ -32,6 +32,7 @@ int socket_set_fast_reuse(int fd); int inet_ai_family_from_address(InetSocketAddress *addr, Error **errp); int inet_parse(InetSocketAddress *addr, const char *str, Error **errp); +int inet_parse_base(InetSocketAddressBase *addr, const char *str, Error **errp); int inet_connect(const char *str, Error **errp); int inet_connect_saddr(InetSocketAddress *saddr, Error **errp); diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 0585e7a629..f444921918 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -713,6 +713,20 @@ int inet_parse(InetSocketAddress *addr, const char *str, Error **errp) return 0; } +int inet_parse_base(InetSocketAddressBase *base, const char *str, Error **errp) +{ + InetSocketAddress *addr; + int ret = 0; + + addr = g_new0(InetSocketAddress, 1); + ret = inet_parse(addr, str, errp); + + base->host = addr->host; + base->port = addr->port; + + g_free(addr); + return ret; +} /** * Create a blocking socket and connect it to an address.
No need to carry the flag all the time in many scenarios. Signed-off-by: Zhang Chen <chen.zhang@intel.com> --- include/qemu/sockets.h | 1 + util/qemu-sockets.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+)