Hello, This is another respin of IPv6 in Qemu -net user mode.
These patches add ICMPv6, NDP, and make UDP and TCP compatible with IPv6. Difference with version 6 is: - drop second-precision timer addition - use ms precision for RA timer - Use unsigned short instead of sa_family_t - Use error_report instead of printing to stderr - Use g_assert_not_reached instead of assert(0) 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 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 | 50 ++++++- qapi-schema.json | 40 +++-- qemu-options.hx | 18 ++- slirp/Makefile.objs | 4 +- slirp/cksum.c | 23 +++ slirp/if.c | 2 +- slirp/if.h | 4 +- slirp/ip6.h | 142 ++++++++++++++++++ slirp/ip6_icmp.c | 410 ++++++++++++++++++++++++++++++++++++++++++++++++++++ slirp/ip6_icmp.h | 254 ++++++++++++++++++++++++++++++++ slirp/ip6_input.c | 76 ++++++++++ slirp/ip6_output.c | 41 ++++++ slirp/ip_icmp.c | 12 +- slirp/ip_icmp.h | 4 +- slirp/ip_input.c | 10 +- slirp/libslirp.h | 8 +- slirp/mbuf.c | 3 +- slirp/ndp_table.c | 87 +++++++++++ slirp/slirp.c | 78 ++++++++-- slirp/slirp.h | 40 ++++- slirp/socket.c | 54 ++++++- slirp/socket.h | 13 ++ slirp/tcp.h | 2 + slirp/tcp_input.c | 176 ++++++++++++++++------ slirp/tcp_output.c | 51 +++++-- slirp/tcp_subr.c | 117 +++++++++++---- slirp/tcp_timer.c | 3 +- slirp/tcpip.h | 40 ++++- slirp/udp.c | 3 +- slirp/udp.h | 5 + slirp/udp6.c | 150 +++++++++++++++++++ 32 files changed, 1793 insertions(+), 158 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 -- 2.7.0