On 02/23/2016 03:28 AM, Samuel Thibault wrote: > Hello, > > This is another respin of IPv6 in Qemu -net user mode. > > > These patches add ICMPv6, NDP, make UDP and TCP compatible with IPv6, and add > TFTP over IPv6. >
Thanks a lot for the patches. Looks good overall, but see some issues: - the series does not build on w32: In file included from ./slirp/slirp.h:126:0, from stubs/slirp.c:3: ./slirp/ip6.h:9:24: fatal error: netinet/in.h: No such file or directory compilation terminated. - Lots of checkpatch warnings, let's try to silent it. - The patches do not apply to master cleanly. - I expects a unit-test for this. You may want to have a look at the pxe-test in tests/, I think it could be extended to test ipv6 slirp somehow. And also some nits, see individual patches. > Difference with version 8 is: > - Fix freeing random number generator > - Fix coding style > - Fix prefix lengths in in6_equal_dns macro > > Here is a summary of the patches: > Guillaume Subiron (7): > slirp: Adding IPv6, ICMPv6 Echo and NDP autoconfiguration > slirp: Adding IPv6 UDP support > slirp: Factorizing tcpiphdr structure with an union > slirp: Generalizing and neutralizing various TCP functions before > adding IPv6 stuff > slirp: Reindent after refactoring > slirp: Handle IPv6 in TCP functions > slirp: Adding IPv6 address for DNS relay > > Thomas Huth (1): > slirp: Add IPv6 support to the TFTP code > > Yann Bordenave (2): > slirp: Adding ICMPv6 error sending > qapi-schema, qemu-options & slirp: Adding Qemu options for IPv6 > addresses > > net/net.c | 31 ++++ > net/slirp.c | 69 ++++++++- > qapi-schema.json | 40 +++-- > qemu-options.hx | 18 ++- > slirp/Makefile.objs | 6 +- > slirp/cksum.c | 25 ++++ > slirp/if.c | 2 +- > slirp/if.h | 4 +- > slirp/ip6.h | 142 ++++++++++++++++++ > slirp/ip6_icmp.c | 411 > ++++++++++++++++++++++++++++++++++++++++++++++++++++ > slirp/ip6_icmp.h | 213 +++++++++++++++++++++++++++ > slirp/ip6_input.c | 73 ++++++++++ > slirp/ip6_output.c | 38 +++++ > slirp/ip_icmp.c | 12 +- > slirp/ip_icmp.h | 4 +- > slirp/ip_input.c | 10 +- > slirp/libslirp.h | 8 +- > slirp/mbuf.c | 4 +- > slirp/ndp_table.c | 84 +++++++++++ > slirp/slirp.c | 81 +++++++++-- > slirp/slirp.h | 43 +++++- > slirp/socket.c | 54 ++++++- > slirp/socket.h | 13 ++ > slirp/tcp.h | 2 + > slirp/tcp_input.c | 181 ++++++++++++++++------- > slirp/tcp_output.c | 51 +++++-- > slirp/tcp_subr.c | 114 +++++++++++---- > slirp/tcp_timer.c | 3 +- > slirp/tcpip.h | 40 ++++- > slirp/tftp.c | 133 +++++++++-------- > slirp/tftp.h | 7 +- > slirp/udp.c | 19 ++- > slirp/udp.h | 5 + > slirp/udp6.c | 167 +++++++++++++++++++++ > 34 files changed, 1877 insertions(+), 230 deletions(-) > create mode 100644 slirp/ip6.h > create mode 100644 slirp/ip6_icmp.c > create mode 100644 slirp/ip6_icmp.h > create mode 100644 slirp/ip6_input.c > create mode 100644 slirp/ip6_output.c > create mode 100644 slirp/ndp_table.c > create mode 100644 slirp/udp6.c >