xref: /spdk/test/nvmf/host/identify_kernel_nvmf.sh (revision c680e3a05b1a903c18bf3f75b732765607126f45)
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