qemu-e2k/slirp
Jan Kiszka b1c99fcdf5 slirp: Enable multiple instances
Once again this was a long journey to reach the destination: Allow to
instantiate slirp multiple times. But as in the past, the journey was
worthwhile, cleaning up, fixing and enhancing various parts of the user
space network stack along the way.

What is this particular change good for? Multiple slirps instances
allow separated user space networks for guests with multiple NICs. This
is already possible, but without any slirp support for the second
network, ie. without a chance to talk to that network from the host via
IP. We have a legacy guest system here that benefits from this slirp
enhancement, allowing us to run both of its NICs purely over
unprivileged user space IP stacks.

Another benefit of this patch is that it simply removes an artificial
restriction of the configuration space qemu is providing, avoiding
another source of surprises that users may face when playing with
possible setups.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-06-29 08:52:50 -05:00
..
COPYRIGHT Remove the advertising clause from the slirp license 2009-01-26 19:37:41 +00:00
bootp.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
bootp.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
cksum.c Remove the advertising clause from the slirp license 2009-01-26 19:37:41 +00:00
debug.h slirp: Cleanup and basic reanimation of debug code 2009-06-29 08:52:46 -05:00
if.c slirp: Use internal state in interface 2009-06-29 08:52:49 -05:00
if.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
ip.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
ip_icmp.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
ip_icmp.h Remove the advertising clause from the slirp license 2009-01-26 19:37:41 +00:00
ip_input.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
ip_output.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
libslirp.h slirp: Allocate/free stack instance dynamically 2009-06-29 08:52:49 -05:00
main.h slirp: Allocate/free stack instance dynamically 2009-06-29 08:52:49 -05:00
mbuf.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
mbuf.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
misc.c slirp: Use internal state in interface 2009-06-29 08:52:49 -05:00
misc.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
sbuf.c slirp: Drop dead code 2009-06-29 08:52:46 -05:00
sbuf.h Use const and static as needed, disable unused code 2007-10-26 19:01:16 +00:00
slirp.c slirp: Enable multiple instances 2009-06-29 08:52:50 -05:00
slirp.h slirp: Enable multiple instances 2009-06-29 08:52:50 -05:00
slirp_config.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
socket.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
socket.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_input.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_output.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_subr.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_timer.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_timer.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcp_var.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tcpip.h Remove the advertising clause from the slirp license 2009-01-26 19:37:41 +00:00
tftp.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
tftp.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
udp.c slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00
udp.h slirp: Factor out internal state structure 2009-06-29 08:52:49 -05:00