nvmf/rpc: add trtype alias for transport names
Use "trtype" to represent transport types in nvmf_tgt RPCs for consistency with the NVMe-oF spec and other SPDK RPCs. The current "transport" names are still supported for compatibility with existing RPC users. Change-Id: Ib03dda384dc01a41a18c06c56baff16b82d36c00 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/367422 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
37a7ff0fd7
commit
8486e38d4a
@ -509,6 +509,11 @@ spdk_nvmf_construct_subsystem(const char *name,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (addresses[i].transport == NULL) {
|
||||||
|
SPDK_ERRLOG("Missing listen address transport type\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
listen_addr = spdk_nvmf_tgt_listen(addresses[i].transport,
|
listen_addr = spdk_nvmf_tgt_listen(addresses[i].transport,
|
||||||
addresses[i].traddr, addresses[i].trsvcid);
|
addresses[i].traddr, addresses[i].trsvcid);
|
||||||
if (listen_addr == NULL) {
|
if (listen_addr == NULL) {
|
||||||
|
@ -79,8 +79,11 @@ dump_nvmf_subsystem(struct spdk_json_write_ctx *w, struct nvmf_tgt_subsystem *tg
|
|||||||
TAILQ_FOREACH(allowed_listener, &subsystem->allowed_listeners, link) {
|
TAILQ_FOREACH(allowed_listener, &subsystem->allowed_listeners, link) {
|
||||||
listen_addr = allowed_listener->listen_addr;
|
listen_addr = allowed_listener->listen_addr;
|
||||||
spdk_json_write_object_begin(w);
|
spdk_json_write_object_begin(w);
|
||||||
|
/* NOTE: "transport" is kept for compatibility; new code should use "trtype" */
|
||||||
spdk_json_write_name(w, "transport");
|
spdk_json_write_name(w, "transport");
|
||||||
spdk_json_write_string(w, listen_addr->trname);
|
spdk_json_write_string(w, listen_addr->trname);
|
||||||
|
spdk_json_write_name(w, "trtype");
|
||||||
|
spdk_json_write_string(w, listen_addr->trname);
|
||||||
spdk_json_write_name(w, "traddr");
|
spdk_json_write_name(w, "traddr");
|
||||||
spdk_json_write_string(w, listen_addr->traddr);
|
spdk_json_write_string(w, listen_addr->traddr);
|
||||||
spdk_json_write_name(w, "trsvcid");
|
spdk_json_write_name(w, "trsvcid");
|
||||||
@ -174,7 +177,9 @@ struct rpc_listen_addresses {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const struct spdk_json_object_decoder rpc_listen_address_decoders[] = {
|
static const struct spdk_json_object_decoder rpc_listen_address_decoders[] = {
|
||||||
{"transport", offsetof(struct rpc_listen_address, transport), spdk_json_decode_string},
|
/* NOTE: "transport" is kept for compatibility; new code should use "trtype" */
|
||||||
|
{"transport", offsetof(struct rpc_listen_address, transport), spdk_json_decode_string, true},
|
||||||
|
{"trtype", offsetof(struct rpc_listen_address, transport), spdk_json_decode_string, true},
|
||||||
{"traddr", offsetof(struct rpc_listen_address, traddr), spdk_json_decode_string},
|
{"traddr", offsetof(struct rpc_listen_address, traddr), spdk_json_decode_string},
|
||||||
{"trsvcid", offsetof(struct rpc_listen_address, trsvcid), spdk_json_decode_string},
|
{"trsvcid", offsetof(struct rpc_listen_address, trsvcid), spdk_json_decode_string},
|
||||||
};
|
};
|
||||||
|
@ -427,9 +427,9 @@ p = subparsers.add_parser('construct_nvmf_subsystem', help='Add a nvmf subsystem
|
|||||||
p.add_argument("-c", "--core", help='The core Nvmf target run on', type=int, default=-1)
|
p.add_argument("-c", "--core", help='The core Nvmf target run on', type=int, default=-1)
|
||||||
p.add_argument('mode', help='Target mode: Virtual or Direct')
|
p.add_argument('mode', help='Target mode: Virtual or Direct')
|
||||||
p.add_argument('nqn', help='Target nqn(ASCII)')
|
p.add_argument('nqn', help='Target nqn(ASCII)')
|
||||||
p.add_argument('listen', help="""comma-separated list of Listen <transport:transport_name traddr:address trsvcid:port_id> pairs enclosed
|
p.add_argument('listen', help="""comma-separated list of Listen <trtype:transport_name traddr:address trsvcid:port_id> pairs enclosed
|
||||||
in quotes. Format: 'transport:transport0 traddr:traddr0 trsvcid:trsvcid0,transport:transport1 traddr:traddr1 trsvcid:trsvcid1' etc
|
in quotes. Format: 'trtype:transport0 traddr:traddr0 trsvcid:trsvcid0,trtype:transport1 traddr:traddr1 trsvcid:trsvcid1' etc
|
||||||
Example: 'transport:RDMA traddr:192.168.100.8 trsvcid:4420,transport:RDMA traddr:192.168.100.9 trsvcid:4420'""")
|
Example: 'trtype:RDMA traddr:192.168.100.8 trsvcid:4420,trtype:RDMA traddr:192.168.100.9 trsvcid:4420'""")
|
||||||
p.add_argument('hosts', help="""Whitespace-separated list of host nqn list.
|
p.add_argument('hosts', help="""Whitespace-separated list of host nqn list.
|
||||||
Format: 'nqn1 nqn2' etc
|
Format: 'nqn1 nqn2' etc
|
||||||
Example: 'nqn.2016-06.io.spdk:init nqn.2016-07.io.spdk:init'""")
|
Example: 'nqn.2016-06.io.spdk:init nqn.2016-07.io.spdk:init'""")
|
||||||
|
@ -29,7 +29,7 @@ trap "killprocess $nvmfpid; exit 1" SIGINT SIGTERM EXIT
|
|||||||
waitforlisten $nvmfpid 5260
|
waitforlisten $nvmfpid 5260
|
||||||
echo "NVMf target has started."
|
echo "NVMf target has started."
|
||||||
bdevs=$($rpc_py construct_malloc_bdev 64 512)
|
bdevs=$($rpc_py construct_malloc_bdev 64 512)
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
echo "NVMf subsystem created."
|
echo "NVMf subsystem created."
|
||||||
|
|
||||||
timing_enter start_iscsi_tgt
|
timing_enter start_iscsi_tgt
|
||||||
|
@ -38,8 +38,8 @@ bdevs="$bdevs $($rpc_py construct_null_bdev Null1 $NULL_BDEV_SIZE $NULL_BLOCK_SI
|
|||||||
|
|
||||||
modprobe -v nvme-rdma
|
modprobe -v nvme-rdma
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
|
|
||||||
nvme discover -t rdma -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
nvme discover -t rdma -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
|
||||||
|
|
||||||
|
@ -33,8 +33,8 @@ bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SI
|
|||||||
|
|
||||||
modprobe -v nvme-rdma
|
modprobe -v nvme-rdma
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
|
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
|
@ -33,8 +33,8 @@ bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SI
|
|||||||
|
|
||||||
modprobe -v nvme-rdma
|
modprobe -v nvme-rdma
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
|
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
|
@ -25,7 +25,7 @@ trap "killprocess $nvmfpid; exit 1" SIGINT SIGTERM EXIT
|
|||||||
waitforlisten $nvmfpid ${RPC_PORT}
|
waitforlisten $nvmfpid ${RPC_PORT}
|
||||||
timing_exit start_nvmf_tgt
|
timing_exit start_nvmf_tgt
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
|
|
||||||
$rootdir/test/lib/nvme/aer/aer -r "\
|
$rootdir/test/lib/nvme/aer/aer -r "\
|
||||||
trtype:RDMA \
|
trtype:RDMA \
|
||||||
|
@ -30,7 +30,7 @@ trap "killprocess $nvmfpid; exit 1" SIGINT SIGTERM EXIT
|
|||||||
waitforlisten $nvmfpid ${RPC_PORT}
|
waitforlisten $nvmfpid ${RPC_PORT}
|
||||||
timing_exit start_nvmf_tgt
|
timing_exit start_nvmf_tgt
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
|
|
||||||
PLUGIN_DIR=$rootdir/examples/nvme/fio_plugin
|
PLUGIN_DIR=$rootdir/examples/nvme/fio_plugin
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ timing_exit start_nvmf_tgt
|
|||||||
|
|
||||||
bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
|
|
||||||
$rootdir/examples/nvme/identify/identify -r "\
|
$rootdir/examples/nvme/identify/identify -r "\
|
||||||
trtype:RDMA \
|
trtype:RDMA \
|
||||||
|
@ -30,8 +30,8 @@ timing_exit start_nvmf_tgt
|
|||||||
|
|
||||||
bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode2 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode2 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
|
|
||||||
$rootdir/examples/nvme/perf/perf -q 128 -s 4096 -w randrw -M 50 -t 1 -r "trtype:RDMA adrfam:IPv4 traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420"
|
$rootdir/examples/nvme/perf/perf -q 128 -s 4096 -w randrw -M 50 -t 1 -r "trtype:RDMA adrfam:IPv4 traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420"
|
||||||
sync
|
sync
|
||||||
|
@ -33,7 +33,7 @@ modprobe -v nvme-rdma
|
|||||||
for i in `seq 1 11`
|
for i in `seq 1 11`
|
||||||
do
|
do
|
||||||
bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode${i} "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" '' -s SPDK${i} -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode${i} "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" '' -s SPDK${i} -n "$bdevs"
|
||||||
done
|
done
|
||||||
|
|
||||||
for i in `seq 1 11`; do
|
for i in `seq 1 11`; do
|
||||||
|
@ -32,8 +32,8 @@ bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SI
|
|||||||
|
|
||||||
modprobe -v nvme-rdma
|
modprobe -v nvme-rdma
|
||||||
|
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode1 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "*"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode2 "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -s SPDK00000000000001 -n "$bdevs"
|
||||||
|
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode1" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
nvme connect -t rdma -n "nqn.2016-06.io.spdk:cnode2" -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT"
|
||||||
|
@ -41,7 +41,7 @@ do
|
|||||||
j=0
|
j=0
|
||||||
for bdf in $bdfs; do
|
for bdf in $bdfs; do
|
||||||
let j=j+1
|
let j=j+1
|
||||||
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode$j "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "$bdf"
|
$rpc_py construct_nvmf_subsystem Direct nqn.2016-06.io.spdk:cnode$j "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:4420" "" -p "$bdf"
|
||||||
done
|
done
|
||||||
|
|
||||||
n=$j
|
n=$j
|
||||||
|
@ -32,7 +32,7 @@ timing_exit start_nvmf_tgt
|
|||||||
for i in `seq 1 10`
|
for i in `seq 1 10`
|
||||||
do
|
do
|
||||||
bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
bdevs="$($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SIZE)"
|
||||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode${i} "transport:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" '' -s SPDK${i} -n "$bdevs"
|
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode${i} "trtype:RDMA traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT" '' -s SPDK${i} -n "$bdevs"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Kill nvmf tgt without removing any subsystem to check whether it can shutdown correctly
|
# Kill nvmf tgt without removing any subsystem to check whether it can shutdown correctly
|
||||||
|
Loading…
Reference in New Issue
Block a user