Commit 8e817b0c authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Jim Harris
Browse files

nvmf: dump qpair's auth state



The state of qpair's authentication (including selected digest and
dhgroup) is now dumped in the nvmf_subsystem_get_qpairs RPC.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I3ef095433cca170e09270140223c7f88d4ed5edd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22670


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent eb267841
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
 */

#include "spdk/nvme.h"
#include "spdk/json.h"
#include "spdk/log.h"
#include "spdk/stdinc.h"
#include "spdk/string.h"
@@ -673,6 +674,24 @@ nvmf_qpair_auth_destroy(struct spdk_nvmf_qpair *qpair)
	}
}

void
nvmf_qpair_auth_dump(struct spdk_nvmf_qpair *qpair, struct spdk_json_write_ctx *w)
{
	struct spdk_nvmf_qpair_auth *auth = qpair->auth;
	const char *digest;

	if (auth == NULL) {
		return;
	}

	spdk_json_write_named_object_begin(w, "auth");
	spdk_json_write_named_string(w, "state", nvmf_auth_get_state_name(auth->state));
	digest = spdk_nvme_dhchap_get_digest_name(auth->digest);
	spdk_json_write_named_string(w, "digest", digest ? digest : "unknown");
	spdk_json_write_named_string(w, "dhgroup", "null");
	spdk_json_write_object_end(w);
}

bool
nvmf_auth_is_supported(void)
{
+1 −0
Original line number Diff line number Diff line
@@ -522,6 +522,7 @@ void nvmf_qpair_set_state(struct spdk_nvmf_qpair *qpair, enum spdk_nvmf_qpair_st

int nvmf_qpair_auth_init(struct spdk_nvmf_qpair *qpair);
void nvmf_qpair_auth_destroy(struct spdk_nvmf_qpair *qpair);
void nvmf_qpair_auth_dump(struct spdk_nvmf_qpair *qpair, struct spdk_json_write_ctx *w);

int nvmf_auth_request_exec(struct spdk_nvmf_request *req);
bool nvmf_auth_is_supported(void);
+1 −0
Original line number Diff line number Diff line
@@ -2710,6 +2710,7 @@ dump_nvmf_qpair(struct spdk_json_write_ctx *w, struct spdk_nvmf_qpair *qpair)
		spdk_json_write_object_end(w);
	}

	nvmf_qpair_auth_dump(qpair, w);
	spdk_json_write_object_end(w);
}

+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,11 @@ nvmf_qpair_auth_destroy(struct spdk_nvmf_qpair *qpair)
	assert(qpair->auth == NULL);
}

void
nvmf_qpair_auth_dump(struct spdk_nvmf_qpair *qpair, struct spdk_json_write_ctx *w)
{
}

int
nvmf_auth_request_exec(struct spdk_nvmf_request *req)
{
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
#include "spdk_internal/mock.h"

#include "common/lib/ut_multithread.c"
#include "unit/lib/json_mock.c"
#include "nvmf/auth.c"

DEFINE_STUB(spdk_nvme_dhchap_get_digest_name, const char *, (int d), NULL);