qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/41] Slirp Fixes and Enhancements - Reloaded
@ 2009-06-24 12:42 Jan Kiszka
  2009-06-24 12:42 ` [Qemu-devel] [PATCH 01/41] slirp: Drop redundant lines from udp_input Jan Kiszka
                   ` (41 more replies)
  0 siblings, 42 replies; 46+ messages in thread
From: Jan Kiszka @ 2009-06-24 12:42 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Mark McLoughlin, qemu-devel

The foundation of this series are the patches from my previous posting
that didn't make it into upstream. But while reworking them, the series
grow far beyond the previous approach, adding lots of fixes and cleanups
to the slirp stack and its interfaces.

One major contribution is that the virtual IP addresses used inside
slirp VLANs are now (almost) freely configurable. This enables
sophisticated virtual network setups, specifically with guests that
depends on specific addresses.

In this second step, the series also comes with support for multiple
slirp instances per VM. Further contributions are
 - proper dynamic slirp cleanup during runtime
 - 'info usernet' command to dump slirp connection states
 - reworked monitor commands hostfwd_add/remove (formerly known as
   host_net_redir)
 - save/restore fixes for slirp
 - first larger code cleanup (more work required...)
 - various small fixes

The patches have been successfully tested against basic use cases:
connections to/from the guests, redirections, tftp, multi-instance,
save/restore. Moreover, they also passed successfull build tests
against mingw32.

Regarding the preferred flow: Mark, will you let this go through your
network tree first? Currently the series is based on upstream/master,
but I can rebase if required.

Find this series also at git://git.kiszka.org/qemu.git queues/net

Jan Kiszka (41):
      slirp: Drop redundant lines from udp_input
      slirp: Refactor tcp_ctl
      Revert "User networking: Show active connections"
      Introduce get_next_param_value
      slirp: Move smb, redir, tftp and bootp parameters and -net channel
      slirp: Rework internal configuration
      slirp: Rework external configuration interface
      slirp: Fix port comparision in slirp_remove_hostfwd
      slirp: Rework monitor commands for host forwarding
      slirp: Bind support for host forwarding rules
      slirp: Prepare for persistent socket state flags
      slirp: Explicitely mark host-forwarding sockets
      slirp: Do not allow to remove non-hostfwd sockets
      slirp: Mark sockets of incoming TCP connections
      slirp: Add info usernet for dumping connection states
      slirp: Drop dead code
      slirp: Drop statistic code
      slirp: Cleanup and basic reanimation of debug code
      slirp: Drop unused icmp_var.h
      slirp: tftp: Cleanup tftp_prefix check
      slirp: tftp: Clean up tftp_send_error
      slirp: tftp: Refactor tftp_handle_rrq
      slirp: tftp: Rework filename handling
      slirp: Factor out one-time initialization
      slirp: Make IP packet ID consistent
      slirp: Clean up updtime
      slirp: Kill slirp_is_inited
      slirp: Drop redundant checks from slirp_output
      slirp: Clean up timeout handling around slirp_select_fill/poll
      slirp: Drop link_up checks from if_output and slirp_socket_can_recv
      slirp: Factor out internal state structure
      slirp: Use internal state in interface
      slirp: Allocate/free stack instance dynamically
      slirp: Enable multiple instances
      slirp: Save/restore bootp client states
      slirp: Use shell to erase smb directory
      slirp: Improve error handling in slirp_smb
      slirp: Enable multi-instance support for the smb service
      net: Provide VLAN client lookup helper
      slirp: Make hostfwd_add/remove multi-instance-aware
      slirp: Basic VLAN client info_str

 Makefile           |    2 +-
 hw/xen_nic.c       |    2 +-
 monitor.c          |    4 +-
 net.c              |  745 ++++++++++++++++++++++++++++++++++++----------------
 net.h              |   14 +-
 qemu-monitor.hx    |   14 +-
 qemu-options.hx    |  226 +++++++++-------
 slirp/bootp.c      |   92 +++----
 slirp/bootp.h      |    7 +
 slirp/ctl.h        |    7 -
 slirp/debug.c      |  393 ---------------------------
 slirp/debug.h      |   17 +-
 slirp/icmp_var.h   |   67 -----
 slirp/if.c         |  135 ++--------
 slirp/if.h         |   40 +---
 slirp/ip.h         |   40 ---
 slirp/ip_icmp.c    |   42 +--
 slirp/ip_input.c   |  120 +++------
 slirp/ip_output.c  |   37 +---
 slirp/libslirp.h   |   72 +++---
 slirp/main.h       |   10 +-
 slirp/mbuf.c       |   39 +--
 slirp/mbuf.h       |   23 +--
 slirp/misc.c       |  625 ++++++-------------------------------------
 slirp/misc.h       |   16 +-
 slirp/sbuf.c       |    8 -
 slirp/slirp.c      |  500 +++++++++++++++++++----------------
 slirp/slirp.h      |   89 +++++--
 slirp/socket.c     |  128 +++------
 slirp/socket.h     |   15 +-
 slirp/tcp.h        |    7 -
 slirp/tcp_input.c  |  303 +++-------------------
 slirp/tcp_output.c |  115 +--------
 slirp/tcp_subr.c   |  559 ++++++---------------------------------
 slirp/tcp_timer.c  |   46 +---
 slirp/tcp_timer.h  |   10 +-
 slirp/tcp_var.h    |   71 +-----
 slirp/tftp.c       |  168 +++++-------
 slirp/tftp.h       |   10 +
 slirp/udp.c        |  114 ++++-----
 slirp/udp.h        |   28 +--
 sysemu.h           |    2 +
 vl.c               |   48 ++--
 43 files changed, 1624 insertions(+), 3386 deletions(-)
 delete mode 100644 slirp/ctl.h
 delete mode 100644 slirp/debug.c
 delete mode 100644 slirp/icmp_var.h

--
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux

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

end of thread, other threads:[~2009-06-24 15:05 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-24 12:42 [Qemu-devel] [PATCH 00/41] Slirp Fixes and Enhancements - Reloaded Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 01/41] slirp: Drop redundant lines from udp_input Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 02/41] slirp: Refactor tcp_ctl Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 03/41] Revert "User networking: Show active connections" Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 10/41] slirp: Bind support for host forwarding rules Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 04/41] Introduce get_next_param_value Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 08/41] slirp: Fix port comparision in slirp_remove_hostfwd Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 06/41] slirp: Rework internal configuration Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 09/41] slirp: Rework monitor commands for host forwarding Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 05/41] slirp: Move smb, redir, tftp and bootp parameters and -net channel Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 07/41] slirp: Rework external configuration interface Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 16/41] slirp: Drop dead code Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 12/41] slirp: Explicitely mark host-forwarding sockets Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 18/41] slirp: Cleanup and basic reanimation of debug code Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 13/41] slirp: Do not allow to remove non-hostfwd sockets Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 19/41] slirp: Drop unused icmp_var.h Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 15/41] slirp: Add info usernet for dumping connection states Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 11/41] slirp: Prepare for persistent socket state flags Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 17/41] slirp: Drop statistic code Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 20/41] slirp: tftp: Cleanup tftp_prefix check Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 14/41] slirp: Mark sockets of incoming TCP connections Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 27/41] slirp: Kill slirp_is_inited Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 29/41] slirp: Clean up timeout handling around slirp_select_fill/poll Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 23/41] slirp: tftp: Rework filename handling Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 30/41] slirp: Drop link_up checks from if_output and slirp_socket_can_recv Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 25/41] slirp: Make IP packet ID consistent Jan Kiszka
2009-06-24 14:34   ` Filip Navara
2009-06-24 14:48     ` Jan Kiszka
2009-06-24 15:04       ` Filip Navara
2009-06-24 12:42 ` [Qemu-devel] [PATCH 22/41] slirp: tftp: Refactor tftp_handle_rrq Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 21/41] slirp: tftp: Clean up tftp_send_error Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 26/41] slirp: Clean up updtime Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 28/41] slirp: Drop redundant checks from slirp_output Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 24/41] slirp: Factor out one-time initialization Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 37/41] slirp: Improve error handling in slirp_smb Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 36/41] slirp: Use shell to erase smb directory Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 33/41] slirp: Allocate/free stack instance dynamically Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 34/41] slirp: Enable multiple instances Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 38/41] slirp: Enable multi-instance support for the smb service Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 31/41] slirp: Factor out internal state structure Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 39/41] net: Provide VLAN client lookup helper Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 32/41] slirp: Use internal state in interface Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 35/41] slirp: Save/restore bootp client states Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 40/41] slirp: Make hostfwd_add/remove multi-instance-aware Jan Kiszka
2009-06-24 12:42 ` [Qemu-devel] [PATCH 41/41] slirp: Basic VLAN client info_str Jan Kiszka
2009-06-24 12:49 ` [Qemu-devel] Re: [PATCH 00/41] Slirp Fixes and Enhancements - Reloaded Anthony Liguori

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).