Message ID | 20210415033925.1290401-1-dje@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Add support for ipv6 host forwarding | expand |
Ping. On Wed, Apr 14, 2021 at 8:39 PM Doug Evans <dje@google.com> wrote: > 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 > >
Ping. On Wed, Apr 28, 2021 at 8:37 PM Doug Evans <dje@google.com> wrote: > Ping. > > On Wed, Apr 14, 2021 at 8:39 PM Doug Evans <dje@google.com> wrote: > >> 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 >> >>
Cc'ing Marc-André On 5/5/21 5:21 PM, Doug Evans wrote: > Ping. > > On Wed, Apr 28, 2021 at 8:37 PM Doug Evans <dje@google.com > <mailto:dje@google.com>> wrote: > > Ping. > > On Wed, Apr 14, 2021 at 8:39 PM Doug Evans <dje@google.com > <mailto:dje@google.com>> wrote: > > This patchset takes the original patch from Maxim, > https://www.mail-archive.com/qemu-devel@nongnu.org/msg569573.html <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 >
Well Maxim review would help too, so Cc'ing him. On 5/5/21 6:13 PM, Philippe Mathieu-Daudé wrote: > Cc'ing Marc-André > > On 5/5/21 5:21 PM, Doug Evans wrote: >> Ping. >> >> On Wed, Apr 28, 2021 at 8:37 PM Doug Evans <dje@google.com >> <mailto:dje@google.com>> wrote: >> >> Ping. >> >> On Wed, Apr 14, 2021 at 8:39 PM Doug Evans <dje@google.com >> <mailto:dje@google.com>> wrote: >> >> This patchset takes the original patch from Maxim, >> https://www.mail-archive.com/qemu-devel@nongnu.org/msg569573.html <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 >> >