From: Doug Evans <dje@google.com>
To: qemu-devel@nongnu.org
Cc: "Samuel Thibault" <samuel.thibault@ens-lyon.org>,
"Daniel P . Berrangé" <berrange@redhat.com>,
"Doug Evans" <dje@google.com>
Subject: [PATCH v6 0/4] Add support for ipv6 host forwarding
Date: Wed, 14 Apr 2021 20:39:21 -0700 [thread overview]
Message-ID: <20210415033925.1290401-1-dje@google.com> (raw)
This patchset takes the original patch from Maxim,
https://www.mail-archive.com/qemu-devel@nongnu.org/msg569573.html
and updates it.
Option hostfwd is extended to support ipv6 addresses.
Commands hostfwd_add, hostfwd_remove are extended as well.
The libslirp part of the patch has been committed upstream,
and is now in qemu. See patch 1/4.
Changes from v5:
1/4 slirp: Advance libslirp submodule to current master
NOTE TO REVIEWERS: It may be a better use of everyone's time if a
maintainer takes on advancing QEMU's libslirp to libslirp's master.
Beyond that, I really don't know what to do except submit this patch as
is currently provided.
2/4: util/qemu-sockets.c: Split host:port parsing out of inet_parse
Also split out parsing of ipv4=on|off, ipv6=on|off
3/4: net/slirp.c: Refactor address parsing
Use InetSocketAddress and getaddrinfo().
Use new libslirp calls: slirp_remove_hostxfwd, slirp_add_hostxfwd.
4/4: net: Extend host forwarding to support IPv6
Recognize ipv4=,ipv6= options.
Note: v5's 3/5 "Recognize []:port (empty ipv6 address)" has been deleted:
the churn on this patch series needs to be reduced.
This change is not required, and can easily be done in a later patch.
Changes from v4:
1/5 slirp: Advance libslirp submodule to add ipv6 host-forward support
NOTE TO REVIEWERS: I need some hand-holding to know what The Right
way to submit this particular patch is.
- no change
2/5 util/qemu-sockets.c: Split host:port parsing out of inet_parse
- move recognition of "[]:port" to separate patch
- allow passing NULL for ip_v6
- fix some formatting issues
3/5 inet_parse_host_and_addr: Recognize []:port (empty ipv6 address)
- new in this patchset revision
4/5 net/slirp.c: Refactor address parsing
- was 3/4 in v4
- fix some formatting issues
5/5 net: Extend host forwarding to support IPv6
- was 4/4 in v4
- fix some formatting issues
Changes from v3:
1/4 slirp: Advance libslirp submodule to add ipv6 host-forward support
- pick up latest libslirp patch to reject ipv6 addr-any for guest address
- libslirp currently only provides a stateless DHCPv6 server, which means
it can't know in advance what the guest's IP address is, and thus
cannot do the "addr-any -> guest ip address" translation that is done
for ipv4
2/4 util/qemu-sockets.c: Split host:port parsing out of inet_parse
- this patch is new in v4
- provides new utility: inet_parse_host_and_port, updates inet_parse
to use it
3/4 net/slirp.c: Refactor address parsing
- this patch renamed from 2/3 to 3/4
- call inet_parse_host_and_port from util/qemu-sockets.c
- added tests/acceptance/hostfwd.py
4/4 net: Extend host forwarding to support IPv6
- this patch renamed from 3/3 to 4/4
- ipv6 support added to existing hostfwd option, commands
- instead of creating new ipv6 option, commands
- added tests to tests/acceptance/hostfwd.py
Changes from v2:
- split out libslirp commit
- clarify spelling of ipv6 addresses in docs
- tighten parsing of ipv6 addresses
Change from v1:
- libslirp part is now upstream
- net/slirp.c changes split into two pieces (refactor, add ipv6)
- added docs
Doug Evans (4):
slirp: Advance libslirp submodule to add ipv6 host-forward support
util/qemu-sockets.c: Split host:port parsing out of inet_parse
net/slirp.c: Refactor address parsing
net: Extend host forwarding to support IPv6
hmp-commands.hx | 18 ++-
include/qemu/sockets.h | 5 +
net/slirp.c | 236 ++++++++++++++++++++++++++----------
slirp | 2 +-
tests/acceptance/hostfwd.py | 185 ++++++++++++++++++++++++++++
util/qemu-sockets.c | 82 +++++++++----
6 files changed, 436 insertions(+), 92 deletions(-)
create mode 100644 tests/acceptance/hostfwd.py
--
2.31.1.295.g9ea45b61b8-goog
next reply other threads:[~2021-04-15 3:41 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-15 3:39 Doug Evans [this message]
2021-04-15 3:39 ` [PATCH v6 1/4] slirp: Advance libslirp submodule to add ipv6 host-forward support Doug Evans
2021-05-07 15:23 ` Marc-André Lureau
2021-05-07 15:46 ` Doug Evans
2021-05-12 16:42 ` Doug Evans
2021-05-12 17:18 ` Marc-André Lureau
2021-05-12 19:50 ` Doug Evans
2021-05-12 20:14 ` Marc-André Lureau
2021-04-15 3:39 ` [PATCH v6 2/4] util/qemu-sockets.c: Split host:port parsing out of inet_parse Doug Evans
2021-05-07 15:23 ` Marc-André Lureau
2021-05-25 19:37 ` RFC: IPv6 hostfwd command line syntax [was Re: [PATCH v6 2/4] util/qemu-sockets.c: Split host:port parsing out of inet_parse] Doug Evans
2021-05-26 13:57 ` Daniel P. Berrangé
2021-05-26 15:26 ` Doug Evans
2021-05-26 15:29 ` Daniel P. Berrangé
2021-04-15 3:39 ` [PATCH v6 3/4] net/slirp.c: Refactor address parsing Doug Evans
2021-04-15 15:36 ` Doug Evans
2021-05-07 15:29 ` Marc-André Lureau
2021-04-15 3:39 ` [PATCH v6 4/4] net: Extend host forwarding to support IPv6 Doug Evans
2021-04-29 3:37 ` [PATCH v6 0/4] Add support for ipv6 host forwarding Doug Evans
2021-05-05 15:21 ` Doug Evans
2021-05-05 16:13 ` Philippe Mathieu-Daudé
2021-05-05 16:15 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210415033925.1290401-1-dje@google.com \
--to=dje@google.com \
--cc=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=samuel.thibault@ens-lyon.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.