From e21de9a9ccaf6efdd151c01aabdcda426107bb88 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Tue, 1 Sep 2020 22:18:46 +0900 Subject: [PATCH] lib/nvmf: Add trid to struct spdk_nvmf_qpair Add trid to struct spdk_nvmf_qpair and initialize it at initialization. admin_qpair->trid will be used to get the corresponding subsystem_listener via nvmf_subsystem_find_listener() and add it to struct spdk_nvmf_ctrlr in the next patch. Signed-off-by: Shuhei Matsumoto Change-Id: I0d1a41aede60de88747eff16c7e04f63d0702596 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4009 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk --- include/spdk/nvmf_transport.h | 1 + lib/nvmf/rdma.c | 1 + lib/nvmf/tcp.c | 1 + 3 files changed, 3 insertions(+) diff --git a/include/spdk/nvmf_transport.h b/include/spdk/nvmf_transport.h index 5c44483c3..da2b9cdad 100644 --- a/include/spdk/nvmf_transport.h +++ b/include/spdk/nvmf_transport.h @@ -119,6 +119,7 @@ struct spdk_nvmf_qpair { struct spdk_nvmf_transport *transport; struct spdk_nvmf_ctrlr *ctrlr; struct spdk_nvmf_poll_group *group; + const struct spdk_nvme_transport_id *trid; uint16_t qid; uint16_t sq_head; diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index fc31bab7a..c59476531 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -1262,6 +1262,7 @@ nvmf_rdma_connect(struct spdk_nvmf_transport *transport, struct rdma_cm_event *e rqpair->cm_id = event->id; rqpair->listen_id = event->listen_id; rqpair->qpair.transport = transport; + rqpair->qpair.trid = port->trid; STAILQ_INIT(&rqpair->ibv_events); /* use qid from the private data to determine the qpair type qid will be set to the appropriate value when the controller is created */ diff --git a/lib/nvmf/tcp.c b/lib/nvmf/tcp.c index 11c749987..882ab9b3f 100644 --- a/lib/nvmf/tcp.c +++ b/lib/nvmf/tcp.c @@ -895,6 +895,7 @@ nvmf_tcp_handle_connect(struct spdk_nvmf_transport *transport, tqpair->state_cntr[TCP_REQUEST_STATE_FREE] = 0; tqpair->port = port; tqpair->qpair.transport = transport; + tqpair->qpair.trid = port->trid; rc = spdk_sock_getaddr(tqpair->sock, tqpair->target_addr, sizeof(tqpair->target_addr), &tqpair->target_port,