Commit 2b846acc authored by Darek Stojaczyk's avatar Darek Stojaczyk Committed by Jim Harris
Browse files

configure: add option not to use the internal rte_vhost copy



It's disabled by default, so no functionality is changed yet.
The intention is to use the upstream rte_vhost from DPDK,
which - starting from DPDK 19.05 - is finally capable of
running with storage device backends.

SPDK still requires a lot of changes in order to support
that upstream version, but the most fundamental change is
dropping vhost-nvme support. It'll remain usable only with
the internal rte_vhost copy and with the upstream rte_vhost
it simply won't be compiled. This allows us at least to
compile with that upstream rte_vhost, where we can pursue
adding the full integration.

Change-Id: Ic8bc5497c4d77bfef77c57f3d5a1f8681ffb6d1f
Signed-off-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/446082


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
parent 62fd105a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ CONFIG_RBD=n

# Build vhost library.
CONFIG_VHOST=y
CONFIG_VHOST_INTERNAL_LIB=y

# Build vhost initiator (Virtio) driver.
CONFIG_VIRTIO=y
+4 −1
Original line number Diff line number Diff line
@@ -43,7 +43,10 @@ SPDK_LIB_LIST = $(ALL_MODULES_LIST)

ifeq ($(OS),Linux)
ifeq ($(CONFIG_VHOST),y)
SPDK_LIB_LIST += vhost rte_vhost event_vhost
SPDK_LIB_LIST += vhost event_vhost
ifeq ($(CONFIG_VHOST_INTERNAL_LIB),y)
SPDK_LIB_LIST += rte_vhost
endif
endif
endif

+6 −1
Original line number Diff line number Diff line
@@ -40,7 +40,12 @@ APP = vhost
C_SRCS := vhost.c

SPDK_LIB_LIST = $(ALL_MODULES_LIST)
SPDK_LIB_LIST += vhost rte_vhost event_vhost
SPDK_LIB_LIST += vhost event_vhost

ifeq ($(CONFIG_VHOST_INTERNAL_LIB),y)
SPDK_LIB_LIST += rte_vhost
endif

SPDK_LIB_LIST += event_bdev event_copy event_net event_scsi event
SPDK_LIB_LIST += jsonrpc json rpc bdev_rpc bdev scsi copy trace conf
SPDK_LIB_LIST += thread util log log_rpc trace_rpc app_rpc
+8 −0
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ function usage()
	echo "                           example: /usr/src/fio"
	echo " vhost                     Required to build vhost target."
	echo "                           No path required."
	echo " internal-vhost-lib        Use the internal copy of rte_vhost."
	echo "                           No path required."
	echo " virtio                    Required to build vhost initiator (Virtio) bdev module."
	echo "                           No path required."
	echo " pmdk                      Required to build persistent memory bdev."
@@ -223,6 +225,12 @@ for i in "$@"; do
		--without-vhost)
			CONFIG[VHOST]=n
			;;
		--with-internal-vhost-lib)
			CONFIG[VHOST_INTERNAL_LIB]=y
			;;
		--without-internal-vhost-lib)
			CONFIG[VHOST_INTERNAL_LIB]=n
			;;
		--with-virtio)
			CONFIG[VIRTIO]=y
			;;
+9 −0
Original line number Diff line number Diff line
@@ -100,6 +100,15 @@ ifneq (, $(wildcard $(DPDK_ABS_DIR)/lib/librte_kvargs.*))
DPDK_LIB_LIST += rte_kvargs
endif

ifneq ($(CONFIG_VHOST_INTERNAL_LIB),y)
ifneq (, $(wildcard $(DPDK_ABS_DIR)/lib/librte_vhost.*))
DPDK_LIB_LIST += rte_vhost rte_net rte_hash rte_mbuf
ifneq ($(DPDK_FRAMEWORK),y)
DPDK_LIB_LIST += rte_cryptodev
endif
endif
endif

DPDK_LIB = $(DPDK_LIB_LIST:%=$(DPDK_ABS_DIR)/lib/lib%$(DPDK_LIB_EXT))

# SPDK memory registration requires experimental (deprecated) rte_memory API for DPDK 18.05
Loading