qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/41] Slirp Fixes and Enhancements - Reloaded


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH 00/41] Slirp Fixes and Enhancements - Reloaded
Date: Wed, 24 Jun 2009 14:42:27 +0200
User-agent: StGIT/0.14.3

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]