Those patches make migration of IPv6 address work, old code only support to parse IPv4 address/port, use getaddrinfo() to get socket addresses infomation. Last two patches are about spliting IPv6 host/port. Changes from v1: - split different changes to small patches, it will be easier to review - fixed some problem according to Kevin's comment Changes from v2: - fix issue of returning real error - set s->fd to -1 when parse fails, won't call migrate_fd_error() --- Amos Kong (9): net: introduce tcp_server_start() net: use tcp_server_start() for tcp server creation net: introduce tcp_client_start() net: use tcp_client_start for tcp client creation net: refector tcp_*_start functions net: use getaddrinfo() in tcp_start_common net: introduce parse_host_port_info() net: split hostname and service by last colon net: support to include ipv6 address by brackets migration-tcp.c | 60 ++++++------------------ net.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ net/socket.c | 66 ++++++-------------------- qemu_socket.h | 3 + 4 files changed, 170 insertions(+), 96 deletions(-) -- Amos Kong -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html