qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCHv7 0/9] slirp: Adding IPv6 support to Qemu -net user mode
@ 2016-02-08 10:28 Samuel Thibault
  2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 1/9] slirp: Adding IPv6, ICMPv6 Echo and NDP autoconfiguration Samuel Thibault
                   ` (8 more replies)
  0 siblings, 9 replies; 45+ messages in thread
From: Samuel Thibault @ 2016-02-08 10:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, zhanghailiang, Li Zhijian, Stefan Hajnoczi,
	Jason Wang, Dave Gilbert, Vasiliy Tolstov, Huangpeng, Gonglei,
	Jan Kiszka, Samuel Thibault, Yang Hongyang, Guillaume Subiron

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

^ permalink raw reply	[flat|nested] 45+ messages in thread
* [Qemu-devel] [PATCHv8 0/9] slirp: Adding IPv6 support to Qemu -net user mode
@ 2016-02-14 17:47 Samuel Thibault
  2016-02-14 17:47 ` [Qemu-devel] [PATCHv7 6/9] slirp: Reindent after refactoring Samuel Thibault
  0 siblings, 1 reply; 45+ messages in thread
From: Samuel Thibault @ 2016-02-14 17:47 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, zhanghailiang, Li Zhijian, Stefan Hajnoczi,
	Jason Wang, Dave Gilbert, Vasiliy Tolstov, Huangpeng, Gonglei,
	Jan Kiszka, Samuel Thibault, Guillaume Subiron

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 7 is:
- Fix overflow detection in strtol call
- Fix formatting and typos
- Use SLIRP_ prefix for header protection
- Use grand instead of srand/rand
- Use standard macros instead of defining intermediate in6_multicast and in6_unspecified
- Pass pointers to in6_equal* instead of structs
- Use qemu_log_mask(LOG_GUEST_ERROR) for guest errors instead of error_report()
- Use bool type
- Avoid floating point operation
- Include qemu/osdep.h in new files.
- Move code to send NA to separate function
- Fix memory leak
- Fix missing save_ip in UDPv6
- Fix zero UDP checksum
- Use unreachable assertion instead of simple breaks when the socket type is not v4 or v6.
- Avoid duplicate ipv4/ipv6 header save.

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 |   6 +-
 slirp/cksum.c       |  25 ++++
 slirp/if.c          |   2 +-
 slirp/if.h          |   4 +-
 slirp/ip6.h         | 138 ++++++++++++++++++
 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        |   3 +-
 slirp/ndp_table.c   |  84 +++++++++++
 slirp/slirp.c       |  79 ++++++++--
 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/udp.c         |   3 +-
 slirp/udp.h         |   5 +
 slirp/udp6.c        | 156 ++++++++++++++++++++
 32 files changed, 1754 insertions(+), 160 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

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2016-02-17  9:03 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-08 10:28 [Qemu-devel] [PATCHv7 0/9] slirp: Adding IPv6 support to Qemu -net user mode Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 1/9] slirp: Adding IPv6, ICMPv6 Echo and NDP autoconfiguration Samuel Thibault
2016-02-09 16:14   ` Thomas Huth
2016-02-09 16:31     ` Samuel Thibault
2016-02-09 19:32       ` Thomas Huth
2016-02-09 20:16         ` Samuel Thibault
2016-02-09 16:31     ` Eric Blake
2016-02-09 16:35       ` Samuel Thibault
2016-02-09 19:56     ` Samuel Thibault
2016-02-09 20:49       ` Thomas Huth
2016-02-09 20:31     ` Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 2/9] slirp: Adding ICMPv6 error sending Samuel Thibault
2016-02-09 19:48   ` Thomas Huth
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 3/9] slirp: Adding IPv6 UDP support Samuel Thibault
2016-02-09 20:44   ` Thomas Huth
2016-02-09 21:13     ` Samuel Thibault
2016-02-09 21:19       ` Samuel Thibault
2016-02-10  7:18         ` Thomas Huth
2016-02-10  7:37           ` Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 4/9] slirp: Factorizing tcpiphdr structure with an union Samuel Thibault
2016-02-10  8:05   ` Thomas Huth
2016-02-10  9:28     ` Samuel Thibault
2016-02-10 10:08       ` Thomas Huth
2016-02-10 12:20         ` Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 5/9] slirp: Generalizing and neutralizing various TCP functions before adding IPv6 stuff Samuel Thibault
2016-02-10  8:35   ` Thomas Huth
2016-02-10  9:17     ` Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 6/9] slirp: Reindent after refactoring Samuel Thibault
2016-02-10  8:42   ` Thomas Huth
2016-02-10  9:20     ` Samuel Thibault
2016-02-11 17:56       ` Eric Blake
2016-02-11 18:15         ` Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 7/9] slirp: Handle IPv6 in TCP functions Samuel Thibault
2016-02-10 10:47   ` Thomas Huth
2016-02-10 12:30     ` Samuel Thibault
2016-02-10 12:41       ` Thomas Huth
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 8/9] slirp: Adding IPv6 address for DNS relay Samuel Thibault
2016-02-08 10:28 ` [Qemu-devel] [PATCHv7 9/9] qapi-schema, qemu-options & slirp: Adding Qemu options for IPv6 addresses Samuel Thibault
2016-02-08 22:12   ` Eric Blake
2016-02-10 11:39   ` Thomas Huth
2016-02-10 12:45     ` Samuel Thibault
2016-02-10 13:08       ` Daniel P. Berrange
2016-02-11 20:30         ` Thomas Huth
2016-02-14 17:47 [Qemu-devel] [PATCHv8 0/9] slirp: Adding IPv6 support to Qemu -net user mode Samuel Thibault
2016-02-14 17:47 ` [Qemu-devel] [PATCHv7 6/9] slirp: Reindent after refactoring Samuel Thibault
2016-02-17  9:03   ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).