summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Santos <casantos@datacom.com.br>2018-08-27 17:15:01 -0300
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>2018-08-29 21:49:16 +0200
commit37c49cf2f4a511fbf937dcf67efe73cca0fec9c0 (patch)
tree8f329cd97ab9334d93f1a9d713ab54f9bfffc7e1
parent15ec125d3db327233d7a293ad38a8964cc163600 (diff)
downloadbuildroot-37c49cf2f4a511fbf937dcf67efe73cca0fec9c0.tar.gz
buildroot-37c49cf2f4a511fbf937dcf67efe73cca0fec9c0.zip
qemu: add an option to enable user mode networking (SLIRP)
User mode networking is a useful feature that does not depend on other packages. Add an option to enable it but keep it disabled by default, for backwards compatibility. Signed-off-by: Carlos Santos <casantos@datacom.com.br> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r--package/qemu/Config.in25
-rw-r--r--package/qemu/qemu.mk6
2 files changed, 28 insertions, 3 deletions
diff --git a/package/qemu/Config.in b/package/qemu/Config.in
index 13b615bfba..61a2a1072e 100644
--- a/package/qemu/Config.in
+++ b/package/qemu/Config.in
@@ -54,8 +54,29 @@ config BR2_PACKAGE_QEMU_CUSTOM_TARGETS
x86_64-softmmu | sparc-bsd-user
... | ...
-config QEMU_FOO
- bool # To break the indentation
+comment "Networking options"
+
+config BR2_PACKAGE_QEMU_SLIRP
+ bool "Enable user mode networking (SLIRP)"
+ help
+ Enable user mode network stack, which is the default
+ networking backend. It requires no administrator privileges
+ and generally is the easiest to use but has some
+ limitations:
+
+ - there is a lot of overhead so the performance is poor;
+ - in general ICMP does not work (can't ping from/to a guest)
+ - on Linux hosts, ping does work from within the guest, but it
+ needs initial setup by root (once per host)
+ - the guest is not directly accessible from the host or the
+ external network
+
+ User Networking is implemented using "slirp", which provides a
+ full TCP/IP stack within QEMU and uses that stack to implement
+ a virtual NAT'd network.
+
+ Notice that this option does not disable other networking
+ modes.
if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = ""
diff --git a/package/qemu/qemu.mk b/package/qemu/qemu.mk
index aec803c1ae..afb2aa92f6 100644
--- a/package/qemu/qemu.mk
+++ b/package/qemu/qemu.mk
@@ -55,6 +55,11 @@ endif
endif
+# There is no "--enable-slirp"
+ifeq ($(BR2_PACKAGE_QEMU_SLIRP),)
+QEMU_OPTS += --disable-slirp
+endif
+
ifeq ($(BR2_PACKAGE_QEMU_SDL),y)
QEMU_OPTS += --enable-sdl
QEMU_DEPENDENCIES += sdl
@@ -101,7 +106,6 @@ define QEMU_CONFIGURE_CMDS
--enable-vhost-net \
--disable-bsd-user \
--disable-xen \
- --disable-slirp \
--disable-vnc \
--disable-virtfs \
--disable-brlapi \
OpenPOWER on IntegriCloud