Laurent Vivier <lvivier@redhat.com> writes:
> To be consistent with socket_uri(), add 'tcp:' prefix for inet type in
> socket_parse(), by default socket_parse() use tcp when no prefix is
> provided (format is host:port).
>
> In socket_uri(), use 'vsock:' prefix for vsock type rather than 'tcp:'
> because it makes a vsock address look like an inet address with CID
> misinterpreted as host.
> Goes back to commit 9aca82ba31 "migration: Create socket-address parameter"
>
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> ---
> util/qemu-sockets.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c
> index 9f6f655fd526..a9926af714c4 100644
> --- a/util/qemu-sockets.c
> +++ b/util/qemu-sockets.c
> @@ -1090,7 +1090,7 @@ char *socket_uri(SocketAddress *addr)
> case SOCKET_ADDRESS_TYPE_FD:
> return g_strdup_printf("fd:%s", addr->u.fd.str);
> case SOCKET_ADDRESS_TYPE_VSOCK:
> - return g_strdup_printf("tcp:%s:%s",
> + return g_strdup_printf("vsock:%s:%s",
> addr->u.vsock.cid,
> addr->u.vsock.port);
> default:
> @@ -1124,6 +1124,11 @@ SocketAddress *socket_parse(const char *str, Error **errp)
> if (vsock_parse(&addr->u.vsock, str + strlen("vsock:"), errp)) {
> goto fail;
> }
> + } else if (strstart(str, "tcp:", NULL)) {
> + addr->type = SOCKET_ADDRESS_TYPE_INET;
> + if (inet_parse(&addr->u.inet, str + strlen("tcp:"), errp)) {
> + goto fail;
> + }
> } else {
> addr->type = SOCKET_ADDRESS_TYPE_INET;
> if (inet_parse(&addr->u.inet, str, errp)) {
I'd be tempted to split this patch, but I'm a compulsive patch splitter
;)
Reviewed-by: Markus Armbruster <armbru@redhat.com>