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. Difference with version 9 is: - split icmp error patch in two - fix sending icmp6 errors on unreachable net or host - forbidding prefix lengths > 126 completely. - style fix - fix windows build, disable parameters when building with compatibility before Vista - fix build with newer master, by including qemu/osdep.h and qemu-common.h 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 (3): slirp: Fix ICMP error sending slirp: Adding ICMPv6 error sending qapi-schema, qemu-options & slirp: Adding Qemu options for IPv6 addresses net/net.c | 31 ++++ net/slirp.c | 81 +++++++++- qapi-schema.json | 12 ++ qemu-options.hx | 18 ++- slirp/Makefile.objs | 6 +- slirp/cksum.c | 25 ++++ slirp/if.c | 2 +- slirp/if.h | 4 +- slirp/ip6.h | 141 ++++++++++++++++++ slirp/ip6_icmp.c | 416 ++++++++++++++++++++++++++++++++++++++++++++++++++++ slirp/ip6_icmp.h | 213 +++++++++++++++++++++++++++ slirp/ip6_input.c | 73 +++++++++ slirp/ip6_output.c | 40 +++++ 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 | 90 ++++++++++++ slirp/slirp.c | 81 ++++++++-- slirp/slirp.h | 43 +++++- slirp/socket.c | 90 ++++++++++-- slirp/socket.h | 13 ++ slirp/tcp.h | 2 + slirp/tcp_input.c | 222 +++++++++++++++++++++------- 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 | 169 +++++++++++++++++++++ 34 files changed, 1958 insertions(+), 224 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