nvmf: Add function to get local addr for a qpair
Change-Id: I19b9834c709bf97b1bbc1a9278b8c3b9350546e2 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/425185 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
311ce0e2ee
commit
f10a91ed0d
@ -218,6 +218,18 @@ int spdk_nvmf_qpair_disconnect(struct spdk_nvmf_qpair *qpair, nvmf_qpair_disconn
|
|||||||
int spdk_nvmf_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
int spdk_nvmf_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid);
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the local transport ID for this queue pair.
|
||||||
|
*
|
||||||
|
* \param qpair The NVMe-oF qpair
|
||||||
|
* \param trid Output parameter that will contain the transport id.
|
||||||
|
*
|
||||||
|
* \return 0 for success.
|
||||||
|
* \return -EINVAL if the qpair is not connected.
|
||||||
|
*/
|
||||||
|
int spdk_nvmf_qpair_get_local_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the associated listener transport ID for this queue pair.
|
* Get the associated listener transport ID for this queue pair.
|
||||||
*
|
*
|
||||||
|
@ -753,6 +753,13 @@ spdk_nvmf_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
|||||||
return spdk_nvmf_transport_qpair_get_peer_trid(qpair, trid);
|
return spdk_nvmf_transport_qpair_get_peer_trid(qpair, trid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
spdk_nvmf_qpair_get_local_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid)
|
||||||
|
{
|
||||||
|
return spdk_nvmf_transport_qpair_get_local_trid(qpair, trid);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
spdk_nvmf_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
spdk_nvmf_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid)
|
struct spdk_nvme_transport_id *trid)
|
||||||
|
@ -2757,6 +2757,17 @@ spdk_nvmf_rdma_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
|||||||
return spdk_nvmf_rdma_trid_from_cm_id(rqpair->cm_id, trid, true);
|
return spdk_nvmf_rdma_trid_from_cm_id(rqpair->cm_id, trid, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
spdk_nvmf_rdma_qpair_get_local_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid)
|
||||||
|
{
|
||||||
|
struct spdk_nvmf_rdma_qpair *rqpair;
|
||||||
|
|
||||||
|
rqpair = SPDK_CONTAINEROF(qpair, struct spdk_nvmf_rdma_qpair, qpair);
|
||||||
|
|
||||||
|
return spdk_nvmf_rdma_trid_from_cm_id(rqpair->cm_id, trid, false);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
spdk_nvmf_rdma_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
spdk_nvmf_rdma_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid)
|
struct spdk_nvme_transport_id *trid)
|
||||||
@ -2790,6 +2801,7 @@ const struct spdk_nvmf_transport_ops spdk_nvmf_transport_rdma = {
|
|||||||
.qpair_fini = spdk_nvmf_rdma_close_qpair,
|
.qpair_fini = spdk_nvmf_rdma_close_qpair,
|
||||||
.qpair_is_idle = spdk_nvmf_rdma_qpair_is_idle,
|
.qpair_is_idle = spdk_nvmf_rdma_qpair_is_idle,
|
||||||
.qpair_get_peer_trid = spdk_nvmf_rdma_qpair_get_peer_trid,
|
.qpair_get_peer_trid = spdk_nvmf_rdma_qpair_get_peer_trid,
|
||||||
|
.qpair_get_local_trid = spdk_nvmf_rdma_qpair_get_local_trid,
|
||||||
.qpair_get_listen_trid = spdk_nvmf_rdma_qpair_get_listen_trid,
|
.qpair_get_listen_trid = spdk_nvmf_rdma_qpair_get_listen_trid,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -217,6 +217,13 @@ spdk_nvmf_transport_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
|||||||
return qpair->transport->ops->qpair_get_peer_trid(qpair, trid);
|
return qpair->transport->ops->qpair_get_peer_trid(qpair, trid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
spdk_nvmf_transport_qpair_get_local_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid)
|
||||||
|
{
|
||||||
|
return qpair->transport->ops->qpair_get_local_trid(qpair, trid);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
spdk_nvmf_transport_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
spdk_nvmf_transport_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid)
|
struct spdk_nvme_transport_id *trid)
|
||||||
|
@ -137,6 +137,12 @@ struct spdk_nvmf_transport_ops {
|
|||||||
int (*qpair_get_peer_trid)(struct spdk_nvmf_qpair *qpair,
|
int (*qpair_get_peer_trid)(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid);
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Get the local transport ID for the queue pair.
|
||||||
|
*/
|
||||||
|
int (*qpair_get_local_trid)(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the listener transport ID that accepted this qpair originally.
|
* Get the listener transport ID that accepted this qpair originally.
|
||||||
*/
|
*/
|
||||||
@ -183,6 +189,9 @@ bool spdk_nvmf_transport_qpair_is_idle(struct spdk_nvmf_qpair *qpair);
|
|||||||
int spdk_nvmf_transport_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
int spdk_nvmf_transport_qpair_get_peer_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid);
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
|
int spdk_nvmf_transport_qpair_get_local_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
int spdk_nvmf_transport_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
int spdk_nvmf_transport_qpair_get_listen_trid(struct spdk_nvmf_qpair *qpair,
|
||||||
struct spdk_nvme_transport_id *trid);
|
struct spdk_nvme_transport_id *trid);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user