Skip to content

Allow ipv6 for migration

Juan Quintela qemu-devel 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest3 patches 3 repliesIn review
  2. v12 patches 4 repliesSuperseded

Changes in v2 from the cover letter

- create socket_set_reuseaddr() to have it different for Windows and everything else (Peter Maydell)
- use strerror() instead of perror (Peter Maydell)
- fprintf(): one of them removed, the other one ...
it is complicated, would have to return two errors: getaddrinfo one and normal errno. Not feasible IMHO until we integrate all other users of getaddrinfo() and think of a nice API.

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3create socket_set_reuseaddr()gdbstub.c migration-tcp.c nbd.c +7 more+28 -261 reply
2/3Use getaddrinfo for migrationmigration-tcp.c net.c qemu_socket.h+122 -381 reply
3/3net/socket: allow ipv6 for net_socket_listen_init and net_socket_connect_initnet/socket.c+10 -450 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 0/3] Allow ipv6 for migration

Hi

v2:
- create socket_set_reuseaddr() to have it different for Windows and everything else (Peter Maydell)
- use strerror() instead of perror (Peter Maydell)
- fprintf(): one of them removed, the other one ...
it is complicated, would have to return two errors: getaddrinfo one and normal errno. Not feasible IMHO until we integrate all other users of getaddrinfo() and think of a nice API.

v1.

1st patch moves migration to use getaddrinfo() instead of parse_host_port(). This allows us to use ipv6 addresses. As an extra bonus, now we can use names from /etc/services.

Code for net_socket_listen_init() and net_socket_connect_init() was almost identical to migration one, so also changed that ones. The difference were small based on how error codes were handled. After discussing with Anthony, it appears that the right ones are the migration ones.

Tested (the migration code) with:
- "tcp:foo:4444" ipv4 name
- "tcp:foo6:4444" ipv6 name
- "tcp:0:4444"
- "tcp:foo6:iqobject" (this was an unused entry on my machine /etc/services)
iqobject 48619/tcp # iqobject
- "tcp::4444": let the kernel make a choice

Please review.

Later, Juan.

Juan Quintela (3):
create socket_set_reuseaddr()
Use getaddrinfo for migration
net/socket: allow ipv6 for net_socket_listen_init and
net_socket_connect_init

 gdbstub.c          |    6 +--
 migration-tcp.c    |   53 ++++++-------------------
 nbd.c              |    5 +--
 net.c              |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 net/socket.c       |   66 ++++++--------------------------
 os-posix.c         |    1 +
 oslib-posix.c      |    8 ++++
 oslib-win32.c      |    6 +++
 qemu-sockets.c     |    6 +-
 qemu_socket.h      |    4 ++
 tests/linux-test.c |    4 +-
 11 files changed, 158 insertions(+), 107 deletions(-)
Signature · 1 line
1.7.4