Disconnect test requires not the second TCP port but the second IP address, and hence it is disabled for TCP transport now. Besides, related with this, popular Linux iSCSI initiator requires not multiple TCP ports but multiple IP addresses for login redirection feature. Using multiple IP addresses will be reasonable also for NVMe-oF TCP transport. Hence following the recent change in iSCSI test, create multiple IP addresses network using veth device and ether bridge. After this patch, target_disconnect test will be enabled for TCP transport automatically. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I593090dd5b763e90dceb8eeee7a7b79971367b8d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4089 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/nvmf/common.sh
|
|
|
|
rpc_py="$rootdir/scripts/rpc.py"
|
|
|
|
NVMF_EXAMPLE=("$SPDK_EXAMPLE_DIR/nvmf")
|
|
|
|
MALLOC_BDEV_SIZE=64
|
|
MALLOC_BLOCK_SIZE=512
|
|
|
|
function build_nvmf_example_args() {
|
|
if [ $SPDK_RUN_NON_ROOT -eq 1 ]; then
|
|
NVMF_EXAMPLE=(sudo -u "$USER" "${NVMF_EXAMPLE[@]}")
|
|
NVMF_EXAMPLE+=(-i "$NVMF_APP_SHM_ID" -g 10000)
|
|
else
|
|
NVMF_EXAMPLE+=(-i "$NVMF_APP_SHM_ID" -g 10000)
|
|
fi
|
|
}
|
|
|
|
build_nvmf_example_args
|
|
|
|
function nvmfexamplestart() {
|
|
timing_enter start_nvmf_example
|
|
|
|
if [ "$TEST_TRANSPORT" == "tcp" ]; then
|
|
NVMF_EXAMPLE=("${NVMF_TARGET_NS_CMD[@]}" "${NVMF_EXAMPLE[@]}")
|
|
fi
|
|
|
|
"${NVMF_EXAMPLE[@]}" $1 &
|
|
nvmfpid=$!
|
|
trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
|
waitforlisten $nvmfpid
|
|
timing_exit start_nvmf_example
|
|
}
|
|
|
|
timing_enter nvmf_example_test
|
|
nvmftestinit
|
|
nvmfexamplestart "-m 0xF"
|
|
|
|
#create transport
|
|
$rpc_py nvmf_create_transport $NVMF_TRANSPORT_OPTS -u 8192
|
|
#create malloc bdev
|
|
malloc_bdevs="$($rpc_py bdev_malloc_create $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE) "
|
|
#create subsystem
|
|
$rpc_py nvmf_create_subsystem nqn.2016-06.io.spdk:cnode1 -a -s SPDK00000000000001
|
|
|
|
#add ns to subsystem
|
|
for malloc_bdev in $malloc_bdevs; do
|
|
$rpc_py nvmf_subsystem_add_ns nqn.2016-06.io.spdk:cnode1 "$malloc_bdev"
|
|
done
|
|
|
|
#add listener to subsystem
|
|
$rpc_py nvmf_subsystem_add_listener nqn.2016-06.io.spdk:cnode1 -t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
|
|
|
perf="$SPDK_EXAMPLE_DIR/perf"
|
|
|
|
$perf -q 64 -o 4096 -w randrw -M 30 -t 10 \
|
|
-r "trtype:${TEST_TRANSPORT} adrfam:IPv4 traddr:${NVMF_FIRST_TARGET_IP} trsvcid:${NVMF_PORT} \
|
|
subnqn:nqn.2016-06.io.spdk:cnode1"
|
|
|
|
trap - SIGINT SIGTERM EXIT
|
|
nvmftestfini
|
|
timing_exit nvmf_example_test
|