mirror of https://github.com/xemu-project/xemu.git
qemu-sockets: update socket_uri() and socket_parse() to be consistent
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>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
18bf1c9456
commit
7651b32119
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue