1#!/usr/bin/env bash 2# SPDX-License-Identifier: BSD-3-Clause 3# Copyright (C) 2016 Intel Corporation 4# All rights reserved. 5# 6testdir=$(readlink -f $(dirname $0)) 7rootdir=$(readlink -f $testdir/../../..) 8source $rootdir/test/common/autotest_common.sh 9source $rootdir/test/nvmf/common.sh 10 11nvmftestinit 12 13subsystemname=nqn.2016-06.io.spdk:testnqn 14 15modprobe null_blk nr_devices=1 16modprobe nvmet 17modprobe nvmet-rdma 18modprobe nvmet-fc 19modprobe lpfc 20 21if [ ! -d /sys/kernel/config/nvmet/subsystems/$subsystemname ]; then 22 mkdir /sys/kernel/config/nvmet/subsystems/$subsystemname 23fi 24echo 1 > /sys/kernel/config/nvmet/subsystems/$subsystemname/attr_allow_any_host 25 26if [ ! -d /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1 ]; then 27 mkdir /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1 28fi 29 30echo -n /dev/nullb0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/device_path 31echo 1 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/enable 32 33if [ ! -d /sys/kernel/config/nvmet/ports/1 ]; then 34 mkdir /sys/kernel/config/nvmet/ports/1 35fi 36 37echo -n rdma > /sys/kernel/config/nvmet/ports/1/addr_trtype 38echo -n ipv4 > /sys/kernel/config/nvmet/ports/1/addr_adrfam 39echo -n $NVMF_FIRST_TARGET_IP > /sys/kernel/config/nvmet/ports/1/addr_traddr 40echo -n $NVMF_PORT > /sys/kernel/config/nvmet/ports/1/addr_trsvcid 41 42ln -s /sys/kernel/config/nvmet/subsystems/$subsystemname /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname 43 44sleep 4 45 46$SPDK_EXAMPLE_DIR/identify -r "\ 47 trtype:$TEST_TRANSPORT \ 48 adrfam:IPv4 \ 49 traddr:$NVMF_FIRST_TARGET_IP \ 50 trsvcid:$NVMF_PORT \ 51 subnqn:nqn.2014-08.org.nvmexpress.discovery" -t all 52$SPDK_EXAMPLE_DIR/identify -r "\ 53 trtype:$TEST_TRANSPORT \ 54 adrfam:IPv4 \ 55 traddr:$NVMF_FIRST_TARGET_IP \ 56 trsvcid:$NVMF_PORT \ 57 subnqn:$subsystemname" 58 59rm -rf /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname 60 61echo 0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/enable 62echo -n 0 > /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1/device_path 63 64rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/$subsystemname/namespaces/1 65rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/subsystems/$subsystemname 66rmdir --ignore-fail-on-non-empty /sys/kernel/config/nvmet/ports/1 67 68rmmod lpfc 69rmmod nvmet_fc 70rmmod nvmet-rdma 71rmmod null_blk 72rmmod nvmet 73 74nvmftestfini 75