vhost: vhost net support
This adds vhost net device support in qemu. Will be tied to tap device
and virtio by following patches. Raw backend is currently missing,
will be worked on/submitted separately.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
diff --git a/configure b/configure
index 30c6753..59a6a8f 100755
--- a/configure
+++ b/configure
@@ -263,6 +263,7 @@
vnc_sasl=""
xen=""
linux_aio=""
+vhost_net=""
gprof="no"
debug_tcg="no"
@@ -653,6 +654,10 @@
;;
--enable-docs) docs="yes"
;;
+ --disable-vhost-net) vhost_net="no"
+ ;;
+ --enable-vhost-net) vhost_net="yes"
+ ;;
*) echo "ERROR: unknown option $opt"; show_help="yes"
;;
esac
@@ -811,6 +816,8 @@
echo " --kerneldir=PATH look for kernel includes in PATH"
echo " --enable-docs enable documentation build"
echo " --disable-docs disable documentation build"
+echo " --disable-vhost-net disable vhost-net acceleration support"
+echo " --enable-vhost-net enable vhost-net acceleration support"
echo ""
echo "NOTE: The object files are built at the place where configure is launched"
exit 1
@@ -1503,6 +1510,32 @@
fi
##########################################
+# test for vhost net
+
+if test "$vhost_net" != "no"; then
+ if test "$kvm" != "no"; then
+ cat > $TMPC <<EOF
+ #include <linux/vhost.h>
+ int main(void) { return 0; }
+EOF
+ if compile_prog "$kvm_cflags" "" ; then
+ vhost_net=yes
+ else
+ if test "$vhost_net" = "yes" ; then
+ feature_not_found "vhost-net"
+ fi
+ vhost_net=no
+ fi
+ else
+ if test "$vhost_net" = "yes" ; then
+ echo -e "NOTE: vhost-net feature requires KVM (--enable-kvm)."
+ feature_not_found "vhost-net"
+ fi
+ vhost_net=no
+ fi
+fi
+
+##########################################
# pthread probe
PTHREADLIBS_LIST="-lpthread -lpthreadGC2"
@@ -1988,6 +2021,7 @@
echo "preadv support $preadv"
echo "fdatasync $fdatasync"
echo "uuid support $uuid"
+echo "vhost-net support $vhost_net"
if test $sdl_too_old = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -2522,6 +2556,9 @@
if test "$kvm_para" = "yes"; then
echo "CONFIG_KVM_PARA=y" >> $config_target_mak
fi
+ if test $vhost_net = "yes" ; then
+ echo "CONFIG_VHOST_NET=y" >> $config_target_mak
+ fi
fi
esac
if test "$target_bigendian" = "yes" ; then