Commit dc485e01 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

nvme/auth: add functions for getting digest/dhgroup ids



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


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
parent 3eee286a
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -4070,6 +4070,15 @@ void spdk_nvme_print_completion(uint16_t qid, struct spdk_nvme_cpl *cpl);
 */
const char *spdk_nvme_dhchap_get_digest_name(int id);

/**
 * Return the id of a digest.
 *
 * \param name Name of a digest.
 *
 * \return Digest id (see `enum spdk_nvmf_dhchap_hash`) or negative errno on failure.
 */
int spdk_nvme_dhchap_get_digest_id(const char *name);

/**
 * Return the name of a Diffie-Hellman group.
 *
@@ -4079,6 +4088,16 @@ const char *spdk_nvme_dhchap_get_digest_name(int id);
 */
const char *spdk_nvme_dhchap_get_dhgroup_name(int id);

/**
 * Return the id of a Diffie-Hellman group.
 *
 * \param name Name of a Diffie-Hellman group.
 *
 * \return Diffie-Hellman group id (see `enum spdk_nvmf_dhchap_dhgroup`) or negative errno
 * on failure.
 */
int spdk_nvme_dhchap_get_dhgroup_id(const char *name);

struct ibv_context;
struct ibv_pd;
struct ibv_mr;
+28 −0
Original line number Diff line number Diff line
@@ -70,6 +70,20 @@ nvme_auth_get_digest(int id)
	return NULL;
}

int
spdk_nvme_dhchap_get_digest_id(const char *digest)
{
	size_t i;

	for (i = 0; i < SPDK_COUNTOF(g_digests); ++i) {
		if (strcmp(g_digests[i].name, digest) == 0) {
			return g_digests[i].id;
		}
	}

	return -EINVAL;
}

const char *
spdk_nvme_dhchap_get_digest_name(int id)
{
@@ -78,6 +92,20 @@ spdk_nvme_dhchap_get_digest_name(int id)
	return digest != NULL ? digest->name : NULL;
}

int
spdk_nvme_dhchap_get_dhgroup_id(const char *dhgroup)
{
	size_t i;

	for (i = 0; i < SPDK_COUNTOF(g_dhgroups); ++i) {
		if (strcmp(g_dhgroups[i].name, dhgroup) == 0) {
			return g_dhgroups[i].id;
		}
	}

	return -EINVAL;
}

const char *
spdk_nvme_dhchap_get_dhgroup_name(int id)
{
+2 −0
Original line number Diff line number Diff line
@@ -208,7 +208,9 @@
	spdk_nvme_poll_group_free_stats;

	spdk_nvme_dhchap_get_digest_name;
	spdk_nvme_dhchap_get_digest_id;
	spdk_nvme_dhchap_get_dhgroup_name;
	spdk_nvme_dhchap_get_dhgroup_id;

	# public functions from nvme_zns.h
	spdk_nvme_zns_ns_get_data;