nvme/identify: convert NVMe-oF to -r TRID format
Change-Id: I620331e2a865d399bddf2e5759f0a832f9c2e86b Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
e464823a62
commit
7a8840c09b
@ -873,9 +873,15 @@ usage(const char *program_name)
|
||||
printf("%s [options]", program_name);
|
||||
printf("\n");
|
||||
printf("options:\n");
|
||||
printf(" -a addr address of NVMe over Fabrics discovery service\n");
|
||||
printf(" -s service service ID for NVMe over Fabrics discovery service\n");
|
||||
printf(" -n nqn NQN of NVMe over Fabrics discovery service\n");
|
||||
printf(" -r trid remote NVMe over Fabrics target address\n");
|
||||
printf(" Format: 'key:value [key:value] ...'\n");
|
||||
printf(" Keys:\n");
|
||||
printf(" trtype Transport type (e.g. RDMA)\n");
|
||||
printf(" adrfam Address family (e.g. IPv4, IPv6)\n");
|
||||
printf(" traddr Transport address (e.g. 192.168.100.8)\n");
|
||||
printf(" trsvcid Transport service identifier (e.g. 4420)\n");
|
||||
printf(" subnqn Subsystem NQN (default: %s)\n", SPDK_NVMF_DISCOVERY_NQN);
|
||||
printf(" Example: -r 'trtype:RDMA adrfam:IPv4 traddr:192.168.100.8 trsvcid:4420'\n");
|
||||
|
||||
spdk_tracelog_usage(stdout, "-t");
|
||||
|
||||
@ -892,7 +898,7 @@ parse_args(int argc, char **argv)
|
||||
g_trid.trtype = SPDK_NVME_TRANSPORT_PCIE;
|
||||
snprintf(g_trid.subnqn, sizeof(g_trid.subnqn), "%s", SPDK_NVMF_DISCOVERY_NQN);
|
||||
|
||||
while ((op = getopt(argc, argv, "a:n:s:t:xH")) != -1) {
|
||||
while ((op = getopt(argc, argv, "r:t:xH")) != -1) {
|
||||
switch (op) {
|
||||
case 'x':
|
||||
g_hex_dump = true;
|
||||
@ -911,14 +917,11 @@ parse_args(int argc, char **argv)
|
||||
return 0;
|
||||
#endif
|
||||
break;
|
||||
case 'a':
|
||||
snprintf(g_trid.traddr, sizeof(g_trid.traddr), "%s", optarg);
|
||||
break;
|
||||
case 's':
|
||||
snprintf(g_trid.trsvcid, sizeof(g_trid.trsvcid), "%s", optarg);
|
||||
break;
|
||||
case 'n':
|
||||
snprintf(g_trid.subnqn, sizeof(g_trid.subnqn), "%s", optarg);
|
||||
case 'r':
|
||||
if (spdk_nvme_transport_id_parse(&g_trid, optarg) != 0) {
|
||||
fprintf(stderr, "Error parsing transport address\n");
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 'H':
|
||||
default:
|
||||
@ -927,14 +930,6 @@ parse_args(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
if ((strlen(g_trid.traddr) == 0) || (strlen(g_trid.trsvcid) == 0) ||
|
||||
(strlen(g_trid.subnqn) == 0)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
g_trid.trtype = SPDK_NVME_TRANSPORT_RDMA;
|
||||
g_trid.adrfam = SPDK_NVMF_ADRFAM_IPV4;
|
||||
|
||||
optind = 1;
|
||||
|
||||
return 0;
|
||||
@ -966,7 +961,6 @@ static const char *ealargs[] = {
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int rc;
|
||||
struct spdk_nvme_transport_id *tr_id = NULL;
|
||||
|
||||
rc = parse_args(argc, argv);
|
||||
if (rc != 0) {
|
||||
@ -982,17 +976,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
|
||||
rc = 0;
|
||||
if (g_trid.trtype == SPDK_NVME_TRANSPORT_RDMA) {
|
||||
if (spdk_nvme_probe(&g_trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
if ((g_trid.trtype == SPDK_NVME_TRANSPORT_PCIE) && (strlen(g_trid.traddr) != 0)) {
|
||||
tr_id = &g_trid;
|
||||
}
|
||||
|
||||
if (spdk_nvme_probe(tr_id, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
if (spdk_nvme_probe(&g_trid, NULL, probe_cb, attach_cb, NULL) != 0) {
|
||||
fprintf(stderr, "spdk_nvme_probe() failed\n");
|
||||
rc = 1;
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ fi
|
||||
timing_enter identify
|
||||
$rootdir/examples/nvme/identify/identify
|
||||
for bdf in $(linux_iter_pci 0108); do
|
||||
$rootdir/examples/nvme/identify/identify -a ${bdf}
|
||||
$rootdir/examples/nvme/identify/identify -r "trtype:PCIe traddr:${bdf}"
|
||||
done
|
||||
timing_exit identify
|
||||
|
||||
|
@ -31,8 +31,18 @@ bdevs="$bdevs $($rpc_py construct_malloc_bdev $MALLOC_BDEV_SIZE $MALLOC_BLOCK_SI
|
||||
|
||||
$rpc_py construct_nvmf_subsystem Virtual nqn.2016-06.io.spdk:cnode1 'transport:RDMA traddr:192.168.100.8 trsvcid:4420' '' -s SPDK00000000000001 -n "$bdevs"
|
||||
|
||||
$rootdir/examples/nvme/identify/identify -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" -n nqn.2014-08.org.nvmexpress.discovery -t all
|
||||
$rootdir/examples/nvme/identify/identify -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" -n nqn.2016-06.io.spdk:cnode1 -t all
|
||||
$rootdir/examples/nvme/identify/identify -r "\
|
||||
trtype:RDMA \
|
||||
adrfam:IPv4 \
|
||||
traddr:$NVMF_FIRST_TARGET_IP \
|
||||
trsvcid:$NVMF_PORT \
|
||||
subnqn:nqn.2014-08.org.nvmexpress.discovery" -t all
|
||||
$rootdir/examples/nvme/identify/identify -r "\
|
||||
trtype:RDMA \
|
||||
adrfam:IPv4 \
|
||||
traddr:$NVMF_FIRST_TARGET_IP \
|
||||
trsvcid:$NVMF_PORT \
|
||||
subnqn:nqn.2016-06.io.spdk:cnode1" -t all
|
||||
sync
|
||||
$rpc_py delete_nvmf_subsystem nqn.2016-06.io.spdk:cnode1
|
||||
|
||||
|
@ -43,7 +43,12 @@ echo -n $NVMF_PORT > /sys/kernel/config/nvmet/ports/1/addr_trsvcid
|
||||
|
||||
ln -s /sys/kernel/config/nvmet/subsystems/$subsystemname /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname
|
||||
|
||||
$rootdir/examples/nvme/identify/identify -a "$NVMF_FIRST_TARGET_IP" -s "$NVMF_PORT" -n nqn.2014-08.org.nvmexpress.discovery -t all
|
||||
$rootdir/examples/nvme/identify/identify -r "\
|
||||
trtype:RDMA \
|
||||
adrfam:IPv4 \
|
||||
traddr:$NVMF_FIRST_TARGET_IP \
|
||||
trsvcid:$NVMF_PORT \
|
||||
subnqn:nqn.2014-08.org.nvmexpress.discovery" -t all
|
||||
|
||||
rm -rf /sys/kernel/config/nvmet/ports/1/subsystems/$subsystemname
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user