qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/8] Enable full IPv4/IPv6 dual stack support
@ 2017-08-10 16:04 Daniel P. Berrange
  2017-08-10 16:04 ` [Qemu-devel] [PATCH 1/8] tests: add functional test validating ipv4/ipv6 address flag handling Daniel P. Berrange
                   ` (9 more replies)
  0 siblings, 10 replies; 22+ messages in thread
From: Daniel P. Berrange @ 2017-08-10 16:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eric Blake, Paolo Bonzini, Kevin Wolf, Max Reitz,
	Marc-André Lureau, Juan Quintela, Dr. David Alan Gilbert,
	Gerd Hoffmann, qemu-block, Daniel P. Berrange

Currently all the network listeners in QEMU, except the VNC server,
are restricted to listening on a single socket. This makes it
impossible to fully support IPv4/IPv6 dual stack. We're restricted
to using IPV6_V6ONLY=0 to listen on both protocols from a single
socket, but this doesn't work at all on OpenBSD, and even where
supported it is quite crude (only really works for localhost and
wildcard addresses).

This patch series introduces a new object QIONetListener, which
encapsulates multiple QIOChannelSocket listeners. This makes it
trivial to support multiple listening sockets in any part of
QEMU.

Daniel P. Berrange (8):
  tests: add functional test validating ipv4/ipv6 address flag handling
  io: introduce a network socket listener API
  blockdev: convert internal NBD server to QIONetListener
  blockdev: convert qemu-nbd server to QIONetListener
  migration: convert socket server to QIONetListener
  chardev: convert the socket server to QIONetListener
  ui: convert VNC server to QIONetListener
  sockets: fix parsing of ipv4/ipv6 opts in parse_socket_addr

 blockdev-nbd.c             |  50 +--
 chardev/char-socket.c      |  70 ++--
 include/io/net-listener.h  | 174 +++++++++
 io/Makefile.objs           |   1 +
 io/net-listener.c          | 315 ++++++++++++++++
 migration/socket.c         |  44 +--
 qemu-nbd.c                 |  50 +--
 tests/.gitignore           |   1 +
 tests/Makefile.include     |   3 +
 tests/test-sockets-proto.c | 906 +++++++++++++++++++++++++++++++++++++++++++++
 ui/vnc.c                   | 194 +++-------
 ui/vnc.h                   |   9 +-
 util/qemu-sockets.c        |  36 +-
 13 files changed, 1563 insertions(+), 290 deletions(-)
 create mode 100644 include/io/net-listener.h
 create mode 100644 io/net-listener.c
 create mode 100644 tests/test-sockets-proto.c

-- 
2.13.3

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-08-11 12:48 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-10 16:04 [Qemu-devel] [PATCH 0/8] Enable full IPv4/IPv6 dual stack support Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 1/8] tests: add functional test validating ipv4/ipv6 address flag handling Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 2/8] io: introduce a network socket listener API Daniel P. Berrange
2017-08-10 18:12   ` Eric Blake
2017-08-11  9:15     ` Daniel P. Berrange
2017-08-11 10:18       ` Daniel P. Berrange
2017-08-11 12:26   ` Dr. David Alan Gilbert
2017-08-11 12:29     ` Daniel P. Berrange
2017-08-11 12:39       ` Dr. David Alan Gilbert
2017-08-11 12:48         ` Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 3/8] blockdev: convert internal NBD server to QIONetListener Daniel P. Berrange
2017-08-10 18:15   ` Eric Blake
2017-08-10 16:04 ` [Qemu-devel] [PATCH 4/8] blockdev: convert qemu-nbd " Daniel P. Berrange
2017-08-10 18:27   ` Eric Blake
2017-08-10 16:04 ` [Qemu-devel] [PATCH 5/8] migration: convert socket " Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 6/8] chardev: convert the " Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 7/8] ui: convert VNC " Daniel P. Berrange
2017-08-10 16:04 ` [Qemu-devel] [PATCH 8/8] sockets: fix parsing of ipv4/ipv6 opts in parse_socket_addr Daniel P. Berrange
2017-08-10 18:35   ` Eric Blake
2017-08-11  9:22     ` Daniel P. Berrange
2017-08-10 16:33 ` [Qemu-devel] [PATCH 0/8] Enable full IPv4/IPv6 dual stack support no-reply
2017-08-10 16:33 ` no-reply

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).