Commit 3b673b84 authored by Changpeng Liu's avatar Changpeng Liu Committed by Tomasz Zawadzki
Browse files

nvmf/vfio_user: disable vfio_user by default



Users can use "--with-vfio-user" to enable it when testing it.
For CI configuration, we add a new test flag SPDK_TEST_VFIOUSER
to enable CI tests.

Change-Id: Id284df721171d01cc52491ebf4088bcc17eee147
Signed-off-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6139


Community-CI: Broadcom CI
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent f58b2978
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ CONFIG_VHOST=y
CONFIG_VIRTIO=y

# Build custom vfio-user transport for NVMf target and NVMe initiator.
CONFIG_VFIO_USER=y
CONFIG_VFIO_USER=n

# Build with PMDK backends
CONFIG_PMDK=n
+15 −29
Original line number Diff line number Diff line
@@ -454,36 +454,22 @@ else
fi
BUILD_CMD+=(-I/usr/local/include -L/usr/local/lib)

function set_os_id_version() {
	if [[ -f /etc/os-release ]]; then
		source /etc/os-release
	fi

	OSID=$ID
	OSVERSION=$VERSION_ID

	echo "OS-ID: $OSID | OS-Version: $OSVERSION"
}

if [[ "${CONFIG[VFIO_USER]}" = "y" ]]; then
	set_os_id_version

	if [[ $arch != x86_64* ]] || [[ $sys_name == "FreeBSD" ]]; then
		echo "Non x86_64 and Linux platform, disable CONFIG_VFIO_USER"
		CONFIG[VFIO_USER]="n"
	# disable tests on ubuntu16 due to lack of macro definition in pci_regs.h
	elif [[ $OSID == "ubuntu" ]] && [[ $OSVERSION == "16.04" ]]; then
		echo "ubuntu16 OS, disable CONFIG_VFIO_USER"
		CONFIG[VFIO_USER]="n"
	elif ! hash cmake; then
		echo "cmake not installed, disable CONFIG_VFIO_USER"
		CONFIG[VFIO_USER]="n"
	elif [[ ! -d /usr/include/json-c ]] && [[ ! -d /usr/local/include/json-c ]]; then
		echo "json-c-devel not installed, disable CONFIG_VFIO_USER"
		CONFIG[VFIO_USER]="n"
	elif [[ ! -e /usr/include/cmocka.h ]] && [[ ! -e /usr/local/include/cmocka.h ]]; then
		echo "libcmocka-devel not installed, disable CONFIG_VFIO_USER"
		CONFIG[VFIO_USER]="n"

	if ! hash cmake; then
		echo "ERROR: --with-vfio-user requires cmake"
		echo "Please install then re-run this script"
		exit 1
	fi
	if [[ ! -d /usr/include/json-c ]] && [[ ! -d /usr/local/include/json-c ]]; then
		echo "ERROR: --with-vfio-user requires json-c-devel"
		echo "Please install then re-run this script"
		exit 1
	fi
	if [[ ! -e /usr/include/cmocka.h ]] && [[ ! -e /usr/local/include/cmocka.h ]]; then
		echo "ERROR: --with-vfio-user requires libcmocka-devel"
		echo "Please install then re-run this script"
		exit 1
	fi
fi

+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ SPDK_TEST_ISCSI_INITIATOR=0
SPDK_TEST_NVME=0
SPDK_TEST_NVME_CLI=0
SPDK_TEST_NVMF=1
SPDK_TEST_VFIOUSER=1
SPDK_TEST_RBD=0
SPDK_TEST_CRYPTO=0
SPDK_TEST_OCF=0
+6 −0
Original line number Diff line number Diff line
@@ -81,6 +81,8 @@ export SPDK_TEST_NVME_CLI
export SPDK_TEST_NVME_CUSE
: ${SPDK_TEST_NVMF=0}
export SPDK_TEST_NVMF
: ${SPDK_TEST_VFIOUSER=0}
export SPDK_TEST_VFIOUSER
: ${SPDK_TEST_NVMF_TRANSPORT="rdma"}
export SPDK_TEST_NVMF_TRANSPORT
: ${SPDK_TEST_RBD=0}
@@ -422,6 +424,10 @@ function get_config_params() {
		config_params+=' --with-raid5'
	fi

	if [ $SPDK_TEST_VFIOUSER -eq 1 ]; then
		config_params+=' --with-vfio-user'
	fi

	# Check whether liburing library header exists
	if [ -f /usr/include/liburing/io_uring.h ] && [ $SPDK_TEST_URING -eq 1 ]; then
		config_params+=' --with-uring'
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ SPDK_TEST_ISCSI_INITIATOR=1
SPDK_TEST_NVME=1
SPDK_TEST_NVME_CLI=1
SPDK_TEST_NVMF=1
SPDK_TEST_VFIOUSER=1
SPDK_TEST_RBD=1
SPDK_TEST_BLOCKDEV=1
SPDK_TEST_BLOBFS=1
Loading