diff --git a/fabrics.c b/fabrics.c index 67fac48c29..18a0d3982a 100644 --- a/fabrics.c +++ b/fabrics.c @@ -716,7 +716,7 @@ static void nvmf_disconnect_nqn(struct nvme_global_ctx *ctx, char *nqn) continue; nvme_for_each_host(ctx, h) { nvme_for_each_subsystem(h, s) { - if (strcmp(nvme_subsystem_get_nqn(s), p)) + if (strcmp(nvme_subsystem_get_subsysnqn(s), p)) continue; nvme_subsystem_for_each_ctrl(s, c) { if (!nvme_disconnect_ctrl(c)) @@ -1062,7 +1062,7 @@ int fabrics_dim(const char *desc, int argc, char **argv) continue; nvme_for_each_host(ctx, h) { nvme_for_each_subsystem(h, s) { - if (strcmp(nvme_subsystem_get_nqn(s), p)) + if (strcmp(nvme_subsystem_get_subsysnqn(s), p)) continue; nvme_subsystem_for_each_ctrl(s, c) ret = dim_operation(c, tas, p); diff --git a/libnvme/examples/display-columnar.c b/libnvme/examples/display-columnar.c index a08a2acbef..ab6d9e672f 100644 --- a/libnvme/examples/display-columnar.c +++ b/libnvme/examples/display-columnar.c @@ -42,7 +42,7 @@ int main() nvme_for_each_subsystem(h, s) { bool first = true; printf("%-16s %-96s ", nvme_subsystem_get_name(s), - nvme_subsystem_get_nqn(s)); + nvme_subsystem_get_subsysnqn(s)); nvme_subsystem_for_each_ctrl(s, c) { printf("%s%s", first ? "": ", ", @@ -70,7 +70,7 @@ int main() nvme_ctrl_get_model(c), nvme_ctrl_get_firmware(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_subsystem_get_name(s)); nvme_ctrl_for_each_ns(c, n) { diff --git a/libnvme/examples/display-tree.c b/libnvme/examples/display-tree.c index 8de77978da..91f67676d8 100644 --- a/libnvme/examples/display-tree.c +++ b/libnvme/examples/display-tree.c @@ -39,7 +39,7 @@ int main() nvme_for_each_subsystem_safe(h, s, _s) { printf("%c-- %s - NQN=%s\n", _s ? '|' : '`', nvme_subsystem_get_name(s), - nvme_subsystem_get_nqn(s)); + nvme_subsystem_get_subsysnqn(s)); nvme_subsystem_for_each_ns_safe(s, n, _n) { printf("%c |-- %s lba size:%d lba max:%" PRIu64 "\n", @@ -54,7 +54,7 @@ int main() _s ? '|' : ' ', _c ? '|' : '`', nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); nvme_ctrl_for_each_ns_safe(c, n, _n) diff --git a/libnvme/libnvme/nvme.i b/libnvme/libnvme/nvme.i index 9f5fb0a751..f9fd65dc7c 100644 --- a/libnvme/libnvme/nvme.i +++ b/libnvme/libnvme/nvme.i @@ -369,7 +369,7 @@ struct nvme_host { char *hostid; char *hostsymname; %extend { - char *dhchap_key; + char *dhchap_host_key; } }; @@ -457,6 +457,9 @@ struct nvme_ctrl { char *tls_key_identity; char *tls_key; + char *dhchap_host_key; + char *dhchap_ctrl_key; + /** * We are remapping the following members of the C code's * nvme_ctrl_t to different names in Python. Here's the mapping: @@ -464,12 +467,8 @@ struct nvme_ctrl { * C code Python (SWIG) * ===================== ===================== * ctrl->s ctrl->subsystem - * ctrl->dhchap_key ctrl->dhchap_host_key - * ctrl->dhchap_ctrl_key ctrl->dhchap_key */ struct nvme_subsystem *subsystem; // Maps to "s" in the C code - char *dhchap_host_key; // Maps to "dhchap_key" in the C code - char *dhchap_key; // Maps to "dhchap_ctrl_key" in the C code } }; @@ -562,7 +561,7 @@ struct nvme_ns { if (hostsymname) nvme_host_set_hostsymname(h, hostsymname); if (hostkey) - nvme_host_set_dhchap_key(h, hostkey); + nvme_host_set_dhchap_host_key(h, hostkey); return h; } ~nvme_host() { @@ -593,11 +592,11 @@ struct nvme_ns { } %{ - const char *nvme_host_dhchap_key_get(struct nvme_host *h) { - return nvme_host_get_dhchap_key(h); + const char *nvme_host_dhchap_host_key_get(struct nvme_host *h) { + return nvme_host_get_dhchap_host_key(h); } - void nvme_host_dhchap_key_set(struct nvme_host *h, char *key) { - nvme_host_set_dhchap_key(h, key); + void nvme_host_dhchap_host_key_set(struct nvme_host *h, char *key) { + nvme_host_set_dhchap_host_key(h, key); } %}; @@ -880,11 +879,11 @@ struct nvme_ns { const char *nvme_ctrl_state_get(struct nvme_ctrl *c) { return nvme_ctrl_get_state(c); } - const char *nvme_ctrl_dhchap_key_get(struct nvme_ctrl *c) { - return nvme_ctrl_get_dhchap_key(c); + const char *nvme_ctrl_dhchap_ctrl_key_get(struct nvme_ctrl *c) { + return nvme_ctrl_get_dhchap_ctrl_key(c); } - void nvme_ctrl_dhchap_key_set(struct nvme_ctrl *c, const char *key) { - nvme_ctrl_set_dhchap_key(c, key); + void nvme_ctrl_dhchap_ctrl_key_set(struct nvme_ctrl *c, const char *key) { + nvme_ctrl_set_dhchap_ctrl_key(c, key); } const char *nvme_ctrl_dhchap_host_key_get(struct nvme_ctrl *c) { return nvme_ctrl_get_dhchap_host_key(c); @@ -898,7 +897,7 @@ struct nvme_ns { } bool nvme_ctrl_persistent_get(struct nvme_ctrl *c) { - return nvme_ctrl_is_persistent(c); + return nvme_ctrl_get_persistent(c); } void nvme_ctrl_persistent_set(struct nvme_ctrl *c, bool persistent) { nvme_ctrl_set_persistent(c, persistent); @@ -949,7 +948,7 @@ struct nvme_ns { } const char *nvme_ctrl_address_get(nvme_ctrl_t c) { - return nvme_ctrl_get_address(c); + return nvme_ctrl_get_traddr(c); } const char *nvme_ctrl_sysfs_dir_get(nvme_ctrl_t c) { @@ -957,14 +956,14 @@ struct nvme_ns { } bool nvme_ctrl_discovery_ctrl_get(struct nvme_ctrl *c) { - return nvme_ctrl_is_discovery_ctrl(c); + return nvme_ctrl_get_discovery_ctrl(c); } void nvme_ctrl_discovery_ctrl_set(struct nvme_ctrl *c, bool discovery) { nvme_ctrl_set_discovery_ctrl(c, discovery); } bool nvme_ctrl_unique_discovery_ctrl_get(nvme_ctrl_t c) { - return nvme_ctrl_is_unique_discovery_ctrl(c); + return nvme_ctrl_get_unique_discovery_ctrl(c); } void nvme_ctrl_unique_discovery_ctrl_set(nvme_ctrl_t c, bool unique) { nvme_ctrl_set_unique_discovery_ctrl(c, unique); diff --git a/libnvme/src/accessors.ld b/libnvme/src/accessors.ld index 77377a4ed4..28401c804e 100644 --- a/libnvme/src/accessors.ld +++ b/libnvme/src/accessors.ld @@ -58,8 +58,8 @@ LIBNVME_ACCESSORS_3 { nvme_ctrl_set_traddr; nvme_ctrl_get_trsvcid; nvme_ctrl_set_trsvcid; - nvme_ctrl_get_dhchap_key; - nvme_ctrl_set_dhchap_key; + nvme_ctrl_get_dhchap_host_key; + nvme_ctrl_set_dhchap_host_key; nvme_ctrl_get_dhchap_ctrl_key; nvme_ctrl_set_dhchap_ctrl_key; nvme_ctrl_get_keyring; @@ -108,8 +108,8 @@ LIBNVME_ACCESSORS_3 { nvme_host_set_hostnqn; nvme_host_get_hostid; nvme_host_set_hostid; - nvme_host_get_dhchap_key; - nvme_host_set_dhchap_key; + nvme_host_get_dhchap_host_key; + nvme_host_set_dhchap_host_key; nvme_host_get_hostsymname; nvme_host_set_hostsymname; nvme_host_get_pdc_enabled_valid; diff --git a/libnvme/src/libnvme.ld b/libnvme/src/libnvme.ld index 2ebc94cb86..24fccbcd3c 100644 --- a/libnvme/src/libnvme.ld +++ b/libnvme/src/libnvme.ld @@ -9,9 +9,7 @@ LIBNVME_3 { nvme_ctrl_match_config; nvme_ctrl_first_ns; nvme_ctrl_first_path; - nvme_ctrl_get_address; nvme_ctrl_get_config; - nvme_ctrl_get_dhchap_host_key; nvme_ctrl_get_phy_slot; nvme_ctrl_get_src_addr; nvme_ctrl_get_state; @@ -19,14 +17,10 @@ LIBNVME_3 { nvme_ctrl_get_subsystem; nvme_ctrl_get_transport_handle; nvme_ctrl_identify; - nvme_ctrl_is_discovery_ctrl; - nvme_ctrl_is_persistent; - nvme_ctrl_is_unique_discovery_ctrl; nvme_ctrl_next_ns; nvme_ctrl_next_path; nvme_ctrl_release_transport_handle; nvme_reset_ctrl; - nvme_ctrl_set_dhchap_host_key; nvme_filter_ctrls; nvme_describe_key_serial; nvme_disconnect_ctrl; @@ -190,10 +184,7 @@ LIBNVME_3 { nvme_subsystem_first_ctrl; nvme_subsystem_first_ns; nvme_get_subsystem; - nvme_subsystem_get_fw_rev; nvme_subsystem_get_host; - nvme_subsystem_get_nqn; - nvme_subsystem_get_type; nvme_subsystem_lookup_namespace; nvme_subsystem_next_ctrl; nvme_subsystem_next_ns; diff --git a/libnvme/src/nvme/accessors.c b/libnvme/src/nvme/accessors.c index 9cc6a46640..ca22a4ce3a 100644 --- a/libnvme/src/nvme/accessors.c +++ b/libnvme/src/nvme/accessors.c @@ -292,15 +292,17 @@ const char *nvme_ctrl_get_trsvcid(const struct nvme_ctrl *p) return p->trsvcid; } -void nvme_ctrl_set_dhchap_key(struct nvme_ctrl *p, const char *dhchap_key) +void nvme_ctrl_set_dhchap_host_key( + struct nvme_ctrl *p, + const char *dhchap_host_key) { - free(p->dhchap_key); - p->dhchap_key = dhchap_key ? strdup(dhchap_key) : NULL; + free(p->dhchap_host_key); + p->dhchap_host_key = dhchap_host_key ? strdup(dhchap_host_key) : NULL; } -const char *nvme_ctrl_get_dhchap_key(const struct nvme_ctrl *p) +const char *nvme_ctrl_get_dhchap_host_key(const struct nvme_ctrl *p) { - return p->dhchap_key; + return p->dhchap_host_key; } void nvme_ctrl_set_dhchap_ctrl_key( @@ -586,15 +588,17 @@ const char *nvme_host_get_hostid(const struct nvme_host *p) return p->hostid; } -void nvme_host_set_dhchap_key(struct nvme_host *p, const char *dhchap_key) +void nvme_host_set_dhchap_host_key( + struct nvme_host *p, + const char *dhchap_host_key) { - free(p->dhchap_key); - p->dhchap_key = dhchap_key ? strdup(dhchap_key) : NULL; + free(p->dhchap_host_key); + p->dhchap_host_key = dhchap_host_key ? strdup(dhchap_host_key) : NULL; } -const char *nvme_host_get_dhchap_key(const struct nvme_host *p) +const char *nvme_host_get_dhchap_host_key(const struct nvme_host *p) { - return p->dhchap_key; + return p->dhchap_host_key; } void nvme_host_set_hostsymname(struct nvme_host *p, const char *hostsymname) diff --git a/libnvme/src/nvme/accessors.h b/libnvme/src/nvme/accessors.h index 1aee052a71..9611dada55 100644 --- a/libnvme/src/nvme/accessors.h +++ b/libnvme/src/nvme/accessors.h @@ -407,19 +407,21 @@ void nvme_ctrl_set_trsvcid(struct nvme_ctrl *p, const char *trsvcid); const char *nvme_ctrl_get_trsvcid(const struct nvme_ctrl *p); /** - * nvme_ctrl_set_dhchap_key() - Set dhchap_key. + * nvme_ctrl_set_dhchap_host_key() - Set dhchap_host_key. * @p: The &struct nvme_ctrl instance to update. - * @dhchap_key: New string; a copy is stored. Pass NULL to clear. + * @dhchap_host_key: New string; a copy is stored. Pass NULL to clear. */ -void nvme_ctrl_set_dhchap_key(struct nvme_ctrl *p, const char *dhchap_key); +void nvme_ctrl_set_dhchap_host_key( + struct nvme_ctrl *p, + const char *dhchap_host_key); /** - * nvme_ctrl_get_dhchap_key() - Get dhchap_key. + * nvme_ctrl_get_dhchap_host_key() - Get dhchap_host_key. * @p: The &struct nvme_ctrl instance to query. * - * Return: The value of the dhchap_key field, or NULL if not set. + * Return: The value of the dhchap_host_key field, or NULL if not set. */ -const char *nvme_ctrl_get_dhchap_key(const struct nvme_ctrl *p); +const char *nvme_ctrl_get_dhchap_host_key(const struct nvme_ctrl *p); /** * nvme_ctrl_set_dhchap_ctrl_key() - Set dhchap_ctrl_key. @@ -808,19 +810,21 @@ void nvme_host_set_hostid(struct nvme_host *p, const char *hostid); const char *nvme_host_get_hostid(const struct nvme_host *p); /** - * nvme_host_set_dhchap_key() - Set dhchap_key. + * nvme_host_set_dhchap_host_key() - Set dhchap_host_key. * @p: The &struct nvme_host instance to update. - * @dhchap_key: New string; a copy is stored. Pass NULL to clear. + * @dhchap_host_key: New string; a copy is stored. Pass NULL to clear. */ -void nvme_host_set_dhchap_key(struct nvme_host *p, const char *dhchap_key); +void nvme_host_set_dhchap_host_key( + struct nvme_host *p, + const char *dhchap_host_key); /** - * nvme_host_get_dhchap_key() - Get dhchap_key. + * nvme_host_get_dhchap_host_key() - Get dhchap_host_key. * @p: The &struct nvme_host instance to query. * - * Return: The value of the dhchap_key field, or NULL if not set. + * Return: The value of the dhchap_host_key field, or NULL if not set. */ -const char *nvme_host_get_dhchap_key(const struct nvme_host *p); +const char *nvme_host_get_dhchap_host_key(const struct nvme_host *p); /** * nvme_host_set_hostsymname() - Set hostsymname. diff --git a/libnvme/src/nvme/fabrics.c b/libnvme/src/nvme/fabrics.c index 83431b23af..c659b23ff6 100644 --- a/libnvme/src/nvme/fabrics.c +++ b/libnvme/src/nvme/fabrics.c @@ -672,7 +672,7 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) { struct nvme_fabrics_config *cfg = nvme_ctrl_get_config(c); const char *transport = nvme_ctrl_get_transport(c); - const char *hostnqn, *hostid, *hostkey, *ctrlkey; + const char *hostnqn, *hostid, *hostkey, *ctrlkey = NULL; bool discover = false, discovery_nqn = false; struct nvme_global_ctx *ctx = h->ctx; long keyring_id = 0; @@ -703,16 +703,17 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) discovery_nqn = true; } - if (nvme_ctrl_is_discovery_ctrl(c)) + if (nvme_ctrl_get_discovery_ctrl(c)) discover = true; hostnqn = nvme_host_get_hostnqn(h); hostid = nvme_host_get_hostid(h); - hostkey = nvme_host_get_dhchap_key(h); + hostkey = nvme_host_get_dhchap_host_key(h); if (!hostkey) hostkey = nvme_ctrl_get_dhchap_host_key(c); - ctrlkey = nvme_ctrl_get_dhchap_key(c); + if (hostkey) + ctrlkey = nvme_ctrl_get_dhchap_ctrl_key(c); if (cfg->tls && cfg->concat) { nvme_msg(h->ctx, LOG_ERR, "cannot specify --tls and --concat together\n"); @@ -756,9 +757,9 @@ static int build_options(nvme_host_t h, nvme_ctrl_t c, char **argstr) (hostid && add_argument(ctx, argstr, hostid, hostid)) || (discover && !discovery_nqn && add_bool_argument(ctx, argstr, discovery, true)) || - (!discover && hostkey && + (hostkey && add_argument(ctx, argstr, dhchap_secret, hostkey)) || - (!discover && ctrlkey && + (ctrlkey && add_argument(ctx, argstr, dhchap_ctrl_secret, ctrlkey)) || (!discover && add_int_argument(ctx, argstr, nr_io_queues, @@ -1020,9 +1021,9 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, key = nvme_ctrl_get_dhchap_host_key(fc); if (key) nvme_ctrl_set_dhchap_host_key(c, key); - key = nvme_ctrl_get_dhchap_key(fc); + key = nvme_ctrl_get_dhchap_ctrl_key(fc); if (key) - nvme_ctrl_set_dhchap_key(c, key); + nvme_ctrl_set_dhchap_ctrl_key(c, key); key = nvme_ctrl_get_keyring(fc); if (key) nvme_ctrl_set_keyring(c, key); @@ -1039,7 +1040,7 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, root_app = nvme_get_application(h->ctx); if (root_app) { app = nvme_subsystem_get_application(s); - if (!app && nvme_ctrl_is_discovery_ctrl(c)) + if (!app && nvme_ctrl_get_discovery_ctrl(c)) app = lookup_context(h->ctx, c); /* @@ -1050,7 +1051,7 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, */ if (app && strcmp(app, root_app)) { nvme_msg(h->ctx, LOG_INFO, "skip %s, not managed by %s\n", - nvme_subsystem_get_nqn(s), root_app); + nvme_subsystem_get_subsysnqn(s), root_app); return -ENVME_CONNECT_IGNORED; } } @@ -1181,7 +1182,7 @@ static int nvmf_connect_disc_entry(nvme_host_t h, break; } - if (nvme_ctrl_is_discovered(c)) { + if (nvme_ctrl_get_discovered(c)) { nvme_free_ctrl(c); return -EAGAIN; } @@ -1854,7 +1855,7 @@ static int setup_connection(struct nvmf_context *fctx, struct nvme_host *h, bool discovery) { if (fctx->hostkey) - nvme_host_set_dhchap_key(h, fctx->hostkey); + nvme_host_set_dhchap_host_key(h, fctx->hostkey); if (!fctx->trsvcid) fctx->trsvcid = nvmf_get_default_trsvcid(fctx->transport, @@ -2049,7 +2050,7 @@ const char *nvmf_get_default_trsvcid(const char *transport, static bool is_persistent_discovery_ctrl(nvme_host_t h, nvme_ctrl_t c) { if (nvme_host_is_pdc_enabled(h, DEFAULT_PDC_ENABLED)) - return nvme_ctrl_is_unique_discovery_ctrl(c); + return nvme_ctrl_get_unique_discovery_ctrl(c); return false; } @@ -2089,6 +2090,12 @@ static int __create_discovery_ctrl(struct nvme_global_ctx *ctx, strcmp(trcfg->subsysnqn, NVME_DISC_SUBSYS_NAME)); tmo = set_discovery_kato(fctx, cfg); + if (nvme_ctrl_get_unique_discovery_ctrl(c) && fctx->hostkey) { + nvme_ctrl_set_dhchap_host_key(c, fctx->hostkey); + if (fctx->ctrlkey) + nvme_ctrl_set_dhchap_ctrl_key(c, fctx->ctrlkey); + } + ret = nvme_add_ctrl(fctx, h, c, cfg); cfg->keep_alive_tmo = tmo; if (ret) { @@ -2114,7 +2121,7 @@ static int nvmf_create_discovery_ctrl(struct nvme_global_ctx *ctx, if (ret) return ret; - if (nvme_ctrl_is_unique_discovery_ctrl(c)) { + if (nvme_ctrl_get_unique_discovery_ctrl(c)) { *ctrl = c; return 0; } @@ -2213,7 +2220,7 @@ int _discovery_config_json(struct nvme_global_ctx *ctx, else subsysnqn = NVME_DISC_SUBSYS_NAME; - if (nvme_ctrl_is_persistent(c)) + if (nvme_ctrl_get_persistent(c)) fctx->persistent = true; memcpy(&cfg, fctx->cfg, sizeof(cfg)); @@ -2284,7 +2291,7 @@ int nvmf_discovery_config_json(struct nvme_global_ctx *ctx, "failed to connect to hostnqn=%s,nqn=%s,%s\n", nvme_host_get_hostnqn(h), nvme_subsystem_get_name(s), - nvme_ctrl_get_address(c)); + nvme_ctrl_get_traddr(c)); if (!ret) ret = err; @@ -2343,7 +2350,7 @@ int nvmf_connect_config_json(struct nvme_global_ctx *ctx, "failed to connect to hostnqn=%s,nqn=%s,%s\n", nvme_host_get_hostnqn(h), nvme_subsystem_get_name(s), - nvme_ctrl_get_address(c)); + nvme_ctrl_get_traddr(c)); if (!ret) ret = err; @@ -2437,7 +2444,7 @@ int nvmf_config_modify(struct nvme_global_ctx *ctx, } if (fctx->hostkey) - nvme_host_set_dhchap_key(h, fctx->hostkey); + nvme_host_set_dhchap_host_key(h, fctx->hostkey); s = nvme_lookup_subsystem(h, NULL, fctx->subsysnqn); if (!s) { @@ -2455,7 +2462,7 @@ int nvmf_config_modify(struct nvme_global_ctx *ctx, } if (fctx->ctrlkey) - nvme_ctrl_set_dhchap_key(c, fctx->ctrlkey); + nvme_ctrl_set_dhchap_ctrl_key(c, fctx->ctrlkey); nvme_parse_tls_args(fctx->keyring, fctx->tls_key, fctx->tls_key_identity, fctx->cfg, c); @@ -2936,92 +2943,6 @@ int nvmf_discovery_nbft(struct nvme_global_ctx *ctx, return ret; } -static int __create_discover_ctrl(struct nvme_global_ctx *ctx, - struct nvmf_context *fctx, nvme_host_t h, - struct nvme_fabrics_config *cfg, struct fabric_args *trcfg, - struct nvme_ctrl **ctrl) -{ - struct nvme_ctrl *c; - int tmo, ret; - - ret = nvme_create_ctrl(ctx, trcfg->subsysnqn, trcfg->transport, - trcfg->traddr, trcfg->host_traddr, - trcfg->host_iface, trcfg->trsvcid, &c); - if (ret) - return ret; - - nvme_ctrl_set_discovery_ctrl(c, true); - nvme_ctrl_set_unique_discovery_ctrl(c, - strcmp(trcfg->subsysnqn, NVME_DISC_SUBSYS_NAME)); - tmo = set_discovery_kato(fctx, cfg); - - ret = nvme_add_ctrl(fctx, h, c, cfg); - cfg->keep_alive_tmo = tmo; - if (ret) { - nvme_free_ctrl(c); - return ret; - } - - *ctrl = c; - return 0; -} - -static int nvmf_create_discover_ctrl(struct nvme_global_ctx *ctx, - struct nvmf_context *fctx, - struct nvme_host *h, struct nvme_fabrics_config *cfg, - struct fabric_args *trcfg, struct nvme_ctrl **ctrl) -{ - _cleanup_free_ struct nvme_id_ctrl *id = NULL; - struct nvme_ctrl *c; - int ret; - - ret = __create_discover_ctrl(ctx, fctx, h, cfg, trcfg, &c); - if (ret) - return ret; - - if (nvme_ctrl_is_unique_discovery_ctrl(c)) { - *ctrl = c; - return 0; - } - - id = __nvme_alloc(sizeof(*id)); - if (!id) { - nvme_free_ctrl(c); - return -ENOMEM; - } - - /* Find out the name of discovery controller */ - ret = nvme_ctrl_identify(c, id); - if (ret) { - nvme_msg(ctx, LOG_ERR, - "failed to identify controller, error %s\n", - nvme_strerror(-ret)); - nvme_disconnect_ctrl(c); - nvme_free_ctrl(c); - return ret; - } - - if (!strcmp(id->subnqn, NVME_DISC_SUBSYS_NAME)) { - *ctrl = c; - return 0; - } - - /* - * The subsysnqn is not the well-known name. Prefer the unique - * subsysnqn over the well-known one. - */ - nvme_disconnect_ctrl(c); - nvme_free_ctrl(c); - - trcfg->subsysnqn = id->subnqn; - ret = __create_discover_ctrl(ctx, fctx, h, cfg, trcfg, &c); - if (ret) - return ret; - - *ctrl = c; - return 0; -} - int nvmf_discovery(struct nvme_global_ctx *ctx, struct nvmf_context *fctx, bool connect, bool force) { @@ -3050,7 +2971,7 @@ int nvmf_discovery(struct nvme_global_ctx *ctx, struct nvmf_context *fctx, fctx->device); } - if (!nvme_ctrl_is_discovery_ctrl(c)) { + if (!nvme_ctrl_get_discovery_ctrl(c)) { nvme_msg( ctx, LOG_ERR, "ctrl device %s found, ignoring non discovery controller\n", @@ -3111,7 +3032,7 @@ int nvmf_discovery(struct nvme_global_ctx *ctx, struct nvmf_context *fctx, } if (!c) { /* No device or non-matching device, create a new controller */ - ret = nvmf_create_discover_ctrl(ctx, fctx, h, fctx->cfg, + ret = nvmf_create_discovery_ctrl(ctx, fctx, h, fctx->cfg, &trcfg, &c); if (ret) { if (ret != -ENVME_CONNECT_IGNORED) @@ -3167,8 +3088,11 @@ int nvmf_connect(struct nvme_global_ctx *ctx, struct nvmf_context *fctx) if (err) return err; - if (fctx->ctrlkey) - nvme_ctrl_set_dhchap_key(c, fctx->ctrlkey); + if (fctx->hostkey) { + nvme_ctrl_set_dhchap_host_key(c, fctx->hostkey); + if (fctx->ctrlkey) + nvme_ctrl_set_dhchap_ctrl_key(c, fctx->ctrlkey); + } nvme_parse_tls_args(fctx->keyring, fctx->tls_key, fctx->tls_key_identity, fctx->cfg, c); diff --git a/libnvme/src/nvme/json.c b/libnvme/src/nvme/json.c index 2ef04a7930..329c6e72ca 100644 --- a/libnvme/src/nvme/json.c +++ b/libnvme/src/nvme/json.c @@ -60,10 +60,10 @@ static void json_update_attributes(nvme_ctrl_t c, JSON_UPDATE_BOOL_OPTION(cfg, key_str, concat, val_obj); if (!strcmp("persistent", key_str) && - !nvme_ctrl_is_persistent(c)) + !nvme_ctrl_get_persistent(c)) nvme_ctrl_set_persistent(c, true); if (!strcmp("discovery", key_str) && - !nvme_ctrl_is_discovery_ctrl(c)) + !nvme_ctrl_get_discovery_ctrl(c)) nvme_ctrl_set_discovery_ctrl(c, true); if (!strcmp("keyring", key_str)) nvme_ctrl_set_keyring(c, @@ -112,7 +112,7 @@ static void json_parse_port(nvme_subsystem_t s, struct json_object *port_obj) nvme_ctrl_set_dhchap_host_key(c, json_object_get_string(attr_obj)); attr_obj = json_object_object_get(port_obj, "dhchap_ctrl_key"); if (attr_obj) - nvme_ctrl_set_dhchap_key(c, json_object_get_string(attr_obj)); + nvme_ctrl_set_dhchap_ctrl_key(c, json_object_get_string(attr_obj)); attr_obj = json_object_object_get(port_obj, "keyring"); if (attr_obj) nvme_ctrl_set_keyring(c, json_object_get_string(attr_obj)); @@ -175,7 +175,7 @@ static void json_parse_host(struct nvme_global_ctx *ctx, struct json_object *hos h = nvme_lookup_host(ctx, hostnqn, hostid); attr_obj = json_object_object_get(host_obj, "dhchap_key"); if (attr_obj) - nvme_host_set_dhchap_key(h, json_object_get_string(attr_obj)); + nvme_host_set_dhchap_host_key(h, json_object_get_string(attr_obj)); attr_obj = json_object_object_get(host_obj, "hostsymname"); if (attr_obj) nvme_host_set_hostsymname(h, json_object_get_string(attr_obj)); @@ -308,7 +308,7 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) if (value) json_object_object_add(port_obj, "dhchap_key", json_object_new_string(value)); - value = nvme_ctrl_get_dhchap_key(c); + value = nvme_ctrl_get_dhchap_ctrl_key(c); if (value) json_object_object_add(port_obj, "dhchap_ctrl_key", json_object_new_string(value)); @@ -342,10 +342,10 @@ static void json_update_port(struct json_object *ctrl_array, nvme_ctrl_t c) JSON_BOOL_OPTION(cfg, port_obj, hdr_digest); JSON_BOOL_OPTION(cfg, port_obj, data_digest); JSON_BOOL_OPTION(cfg, port_obj, concat); - if (nvme_ctrl_is_persistent(c)) + if (nvme_ctrl_get_persistent(c)) json_object_object_add(port_obj, "persistent", json_object_new_boolean(true)); - if (nvme_ctrl_is_discovery_ctrl(c)) + if (nvme_ctrl_get_discovery_ctrl(c)) json_object_object_add(port_obj, "discovery", json_object_new_boolean(true)); @@ -356,7 +356,7 @@ static void json_update_subsys(struct json_object *subsys_array, nvme_subsystem_t s) { nvme_ctrl_t c; - const char *subsysnqn = nvme_subsystem_get_nqn(s), *app; + const char *subsysnqn = nvme_subsystem_get_subsysnqn(s), *app; struct json_object *subsys_obj = json_object_new_object(); struct json_object *port_array; @@ -405,7 +405,7 @@ int json_update_config(struct nvme_global_ctx *ctx, int fd) if (hostid) json_object_object_add(host_obj, "hostid", json_object_new_string(hostid)); - dhchap_key = nvme_host_get_dhchap_key(h); + dhchap_key = nvme_host_get_dhchap_host_key(h); if (dhchap_key) json_object_object_add(host_obj, "dhchap_key", json_object_new_string(dhchap_key)); @@ -475,7 +475,7 @@ static void json_dump_ctrl(struct json_object *ctrl_array, nvme_ctrl_t c) if (value) json_object_object_add(ctrl_obj, "dhchap_key", json_object_new_string(value)); - value = nvme_ctrl_get_dhchap_key(c); + value = nvme_ctrl_get_dhchap_ctrl_key(c); if (value) json_object_object_add(ctrl_obj, "dhchap_ctrl_key", json_object_new_string(value)); @@ -512,10 +512,10 @@ static void json_dump_ctrl(struct json_object *ctrl_array, nvme_ctrl_t c) json_object_new_string(value)); } JSON_BOOL_OPTION(cfg, ctrl_obj, concat); - if (nvme_ctrl_is_persistent(c)) + if (nvme_ctrl_get_persistent(c)) json_object_object_add(ctrl_obj, "persistent", json_object_new_boolean(true)); - if (nvme_ctrl_is_discovery_ctrl(c)) + if (nvme_ctrl_get_discovery_ctrl(c)) json_object_object_add(ctrl_obj, "discovery", json_object_new_boolean(true)); json_object_array_add(ctrl_array, ctrl_obj); @@ -602,7 +602,7 @@ static void json_dump_subsys(struct json_object *subsys_array, json_object_object_add(subsys_obj, "name", json_object_new_string(nvme_subsystem_get_name(s))); json_object_object_add(subsys_obj, "nqn", - json_object_new_string(nvme_subsystem_get_nqn(s))); + json_object_new_string(nvme_subsystem_get_subsysnqn(s))); ns_array = json_object_new_array(); if (!json_dump_subsys_multipath(s, ns_array)) @@ -635,7 +635,7 @@ int json_dump_tree(struct nvme_global_ctx *ctx) if (hostid) json_object_object_add(host_obj, "hostid", json_object_new_string(hostid)); - dhchap_key = nvme_host_get_dhchap_key(h); + dhchap_key = nvme_host_get_dhchap_host_key(h); if (dhchap_key) json_object_object_add(host_obj, "dhchap_key", json_object_new_string(dhchap_key)); diff --git a/libnvme/src/nvme/private.h b/libnvme/src/nvme/private.h index a1168389a5..403e998ec0 100644 --- a/libnvme/src/nvme/private.h +++ b/libnvme/src/nvme/private.h @@ -198,7 +198,7 @@ struct nvme_ctrl { char *subsysnqn; char *traddr; char *trsvcid; - char *dhchap_key; + char *dhchap_host_key; char *dhchap_ctrl_key; char *keyring; char *tls_key_identity; @@ -240,7 +240,7 @@ struct nvme_host { char *hostnqn; char *hostid; - char *dhchap_key; + char *dhchap_host_key; char *hostsymname; bool pdc_enabled; bool pdc_enabled_valid; /* set if pdc_enabled doesn't have an undefined diff --git a/libnvme/src/nvme/tree.c b/libnvme/src/nvme/tree.c index 7c04099405..dcc18f9b8d 100644 --- a/libnvme/src/nvme/tree.c +++ b/libnvme/src/nvme/tree.c @@ -429,21 +429,6 @@ void nvme_root_release_fds(struct nvme_global_ctx *ctx) nvme_host_release_fds(h); } -const char *nvme_subsystem_get_nqn(nvme_subsystem_t s) -{ - return s->subsysnqn; -} - -const char *nvme_subsystem_get_type(nvme_subsystem_t s) -{ - return s->subsystype; -} - -const char *nvme_subsystem_get_fw_rev(nvme_subsystem_t s) -{ - return s->firmware; -} - nvme_ctrl_t nvme_subsystem_first_ctrl(nvme_subsystem_t s) { return list_top(&s->ctrls, struct nvme_ctrl, entry); @@ -616,7 +601,7 @@ void __nvme_free_host(struct nvme_host *h) __nvme_free_subsystem(s); free(h->hostnqn); free(h->hostid); - free(h->dhchap_key); + free(h->dhchap_host_key); nvme_host_set_hostsymname(h, NULL); free(h); } @@ -910,11 +895,6 @@ const char *nvme_ctrl_get_subsysnqn(nvme_ctrl_t c) return c->s ? c->s->subsysnqn : c->subsysnqn; } -const char *nvme_ctrl_get_address(nvme_ctrl_t c) -{ - return c->address ? c->address : ""; -} - char *nvme_ctrl_get_src_addr(nvme_ctrl_t c, char *src_addr, size_t src_addr_len) { size_t l; @@ -960,40 +940,6 @@ struct nvme_fabrics_config *nvme_ctrl_get_config(nvme_ctrl_t c) return &c->cfg; } -const char *nvme_ctrl_get_dhchap_host_key(nvme_ctrl_t c) -{ - return c->dhchap_key; -} - -void nvme_ctrl_set_dhchap_host_key(nvme_ctrl_t c, const char *key) -{ - free(c->dhchap_key); - c->dhchap_key = NULL; - - if (key) - c->dhchap_key = strdup(key); -} - -bool nvme_ctrl_is_discovered(nvme_ctrl_t c) -{ - return c->discovered; -} - -bool nvme_ctrl_is_persistent(nvme_ctrl_t c) -{ - return c->persistent; -} - -bool nvme_ctrl_is_discovery_ctrl(nvme_ctrl_t c) -{ - return c->discovery_ctrl; -} - -bool nvme_ctrl_is_unique_discovery_ctrl(nvme_ctrl_t c) -{ - return c->unique_discovery_ctrl; -} - int nvme_ctrl_identify(nvme_ctrl_t c, struct nvme_id_ctrl *id) { struct nvme_transport_handle *hdl = nvme_ctrl_get_transport_handle(c); @@ -1037,7 +983,7 @@ void nvme_deconfigure_ctrl(nvme_ctrl_t c) FREE_CTRL_ATTR(c->queue_count); FREE_CTRL_ATTR(c->serial); FREE_CTRL_ATTR(c->sqsize); - FREE_CTRL_ATTR(c->dhchap_key); + FREE_CTRL_ATTR(c->dhchap_host_key); FREE_CTRL_ATTR(c->dhchap_ctrl_key); FREE_CTRL_ATTR(c->keyring); FREE_CTRL_ATTR(c->tls_key_identity); @@ -1382,7 +1328,7 @@ static bool _tcp_match_ctrl(struct nvme_ctrl *c, struct candidate_args *candidat if (!candidate->addreq(c->traddr, candidate->traddr)) return false; - if (candidate->well_known_nqn && !nvme_ctrl_is_discovery_ctrl(c)) + if (candidate->well_known_nqn && !nvme_ctrl_get_discovery_ctrl(c)) return false; if (candidate->subsysnqn && !streq0(c->subsysnqn, candidate->subsysnqn)) @@ -1428,7 +1374,7 @@ static bool _match_ctrl(struct nvme_ctrl *c, struct candidate_args *candidate) !streq0(c->trsvcid, candidate->trsvcid)) return false; - if (candidate->well_known_nqn && !nvme_ctrl_is_discovery_ctrl(c)) + if (candidate->well_known_nqn && !nvme_ctrl_get_discovery_ctrl(c)) return false; if (candidate->subsysnqn && !streq0(c->subsysnqn, candidate->subsysnqn)) @@ -1719,7 +1665,7 @@ static void nvme_read_sysfs_dhchap(struct nvme_global_ctx *ctx, nvme_ctrl_t c) } if (host_key) { nvme_ctrl_set_dhchap_host_key(c, NULL); - c->dhchap_key = host_key; + c->dhchap_host_key = host_key; } ctrl_key = nvme_get_ctrl_attr(c, "dhchap_ctrl_secret"); @@ -1728,7 +1674,7 @@ static void nvme_read_sysfs_dhchap(struct nvme_global_ctx *ctx, nvme_ctrl_t c) ctrl_key = NULL; } if (ctrl_key) { - nvme_ctrl_set_dhchap_key(c, NULL); + nvme_ctrl_set_dhchap_ctrl_key(c, NULL); c->dhchap_ctrl_key = ctrl_key; } } @@ -1987,8 +1933,8 @@ int nvme_scan_ctrl(struct nvme_global_ctx *ctx, const char *name, host_key = nvme_get_attr(path, "dhchap_secret"); if (host_key && strcmp(host_key, "none")) { - free(h->dhchap_key); - h->dhchap_key = host_key; + free(h->dhchap_host_key); + h->dhchap_host_key = host_key; host_key = NULL; } free(host_key); diff --git a/libnvme/src/nvme/tree.h b/libnvme/src/nvme/tree.h index d553e97c97..fde0fe11bd 100644 --- a/libnvme/src/nvme/tree.h +++ b/libnvme/src/nvme/tree.h @@ -716,15 +716,6 @@ struct nvme_transport_handle *nvme_ctrl_get_transport_handle(nvme_ctrl_t c); */ void nvme_ctrl_release_transport_handle(nvme_ctrl_t c); -/** - * nvme_ctrl_get_address() - Address string of a controller - * @c: Controller instance - * - * Return: NVMe-over-Fabrics address string of @c or empty string - * of no address is present. - */ -const char *nvme_ctrl_get_address(nvme_ctrl_t c); - /** * nvme_ctrl_get_src_addr() - Extract src_addr from the c->address string * @c: Controller instance @@ -768,21 +759,6 @@ const char *nvme_ctrl_get_subsysnqn(nvme_ctrl_t c); */ nvme_subsystem_t nvme_ctrl_get_subsystem(nvme_ctrl_t c); -/** - * nvme_ctrl_get_dhchap_host_key() - Return host key - * @c: Controller to be checked - * - * Return: DH-HMAC-CHAP host key or NULL if not set - */ -const char *nvme_ctrl_get_dhchap_host_key(nvme_ctrl_t c); - -/** - * nvme_ctrl_set_dhchap_host_key() - Set host key - * @c: Host for which the key should be set - * @key: DH-HMAC-CHAP Key to set or NULL to clear existing key - */ -void nvme_ctrl_set_dhchap_host_key(nvme_ctrl_t c, const char *key); - /** * nvme_ns_head_get_sysfs_dir() - sysfs dir of namespave head * @head: namespace head instance @@ -799,41 +775,6 @@ const char *nvme_ns_head_get_sysfs_dir(nvme_ns_head_t head); */ struct nvme_fabrics_config *nvme_ctrl_get_config(nvme_ctrl_t c); -/** - * nvme_ctrl_is_discovered() - Returns the value of the 'discovered' flag - * @c: Controller instance - * - * Return: Value of the 'discovered' flag of @c - */ -bool nvme_ctrl_is_discovered(nvme_ctrl_t c); - -/** - * nvme_ctrl_is_persistent() - Returns the value of the 'persistent' flag - * @c: Controller instance - * - * Return: Value of the 'persistent' flag of @c - */ -bool nvme_ctrl_is_persistent(nvme_ctrl_t c); - -/** - * nvme_ctrl_is_discovery_ctrl() - Check the 'discovery_ctrl' flag - * @c: Controller to be checked - * - * Returns the value of the 'discovery_ctrl' flag which specifies whether - * @c connects to a discovery subsystem. - * - * Return: Value of the 'discover_ctrl' flag - */ -bool nvme_ctrl_is_discovery_ctrl(nvme_ctrl_t c); - -/** - * nvme_ctrl_is_unique_discovery_ctrl() - Check the 'unique_discovery_ctrl' flag - * @c: Controller to be checked - * - * Return: Value of the 'unique_discovery_ctrl' flag - */ -bool nvme_ctrl_is_unique_discovery_ctrl(nvme_ctrl_t c); - /** * nvme_ctrl_identify() - Issues an 'identify controller' command * @c: Controller instance @@ -896,32 +837,6 @@ void nvme_free_ctrl(struct nvme_ctrl *c); */ void nvme_unlink_ctrl(struct nvme_ctrl *c); -/** - * nvme_subsystem_get_nqn() - Retrieve NQN from subsystem - * @s: nvme_subsystem_t object - * - * Return: NQN of subsystem - */ -const char *nvme_subsystem_get_nqn(nvme_subsystem_t s); - -/** - * nvme_subsystem_get_type() - Returns the type of a subsystem - * @s: nvme_subsystem_t object - * - * Returns the subsystem type of @s. - * - * Return: 'nvm' or 'discovery' - */ -const char *nvme_subsystem_get_type(nvme_subsystem_t s); - -/** - * nvme_subsystem_get_fw_rev() - Return the firmware rev of subsystem - * @s: nvme_subsystem_t object - * - * Return: Firmware revision of the current subsystem - */ -const char *nvme_subsystem_get_fw_rev(nvme_subsystem_t s); - /** * nvme_scan_topology() - Scan NVMe topology and apply filter * @ctx: struct nvme_global_ctx object diff --git a/libnvme/test/config/data/config-pcie-with-tcp-config.out b/libnvme/test/config/data/config-pcie-with-tcp-config.out index 981bd77c6a..6810f75462 100644 --- a/libnvme/test/config/data/config-pcie-with-tcp-config.out +++ b/libnvme/test/config/data/config-pcie-with-tcp-config.out @@ -10,15 +10,13 @@ "transport":"tcp", "traddr":"192.168.154.144", "trsvcid":"4420", - "dhchap_key":"none", - "dhchap_ctrl_key":"none" + "dhchap_key":"none" }, { "transport":"tcp", "traddr":"192.168.154.144", "trsvcid":"4421", - "dhchap_key":"none", - "dhchap_ctrl_key":"none" + "dhchap_key":"none" } ] } @@ -35,15 +33,13 @@ "transport":"tcp", "traddr":"192.168.154.144", "trsvcid":"4420", - "dhchap_key":"none", - "dhchap_ctrl_key":"none" + "dhchap_key":"none" }, { "transport":"tcp", "traddr":"192.168.154.144", "trsvcid":"4421", - "dhchap_key":"none", - "dhchap_ctrl_key":"none" + "dhchap_key":"none" } ] } diff --git a/libnvme/test/config/data/tls_key-1.out b/libnvme/test/config/data/tls_key-1.out index 3edd1730e8..5bba948d97 100644 --- a/libnvme/test/config/data/tls_key-1.out +++ b/libnvme/test/config/data/tls_key-1.out @@ -11,7 +11,6 @@ "traddr":"192.168.154.148", "trsvcid":"4420", "dhchap_key":"none", - "dhchap_ctrl_key":"none", "tls":true, "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" } diff --git a/libnvme/test/config/data/tls_key-2.out b/libnvme/test/config/data/tls_key-2.out index 3edd1730e8..5bba948d97 100644 --- a/libnvme/test/config/data/tls_key-2.out +++ b/libnvme/test/config/data/tls_key-2.out @@ -11,7 +11,6 @@ "traddr":"192.168.154.148", "trsvcid":"4420", "dhchap_key":"none", - "dhchap_ctrl_key":"none", "tls":true, "tls_key":"NVMeTLSkey-1:01:Hhc5sFjwSZ6w5hPY19tqprajYtuYci3tN+Z2wGViDk3rpSR+:" } diff --git a/libnvme/test/cpp.cc b/libnvme/test/cpp.cc index 309359cee1..6cd0778bea 100644 --- a/libnvme/test/cpp.cc +++ b/libnvme/test/cpp.cc @@ -34,12 +34,12 @@ int main() nvme_for_each_host(ctx, h) { nvme_for_each_subsystem(h, s) { std::cout << nvme_subsystem_get_name(s) - << " - NQN=" << nvme_subsystem_get_nqn(s) + << " - NQN=" << nvme_subsystem_get_subsysnqn(s) << "\n"; nvme_subsystem_for_each_ctrl(s, c) { std::cout << " `- " << nvme_ctrl_get_name(c) << " " << nvme_ctrl_get_transport(c) - << " " << nvme_ctrl_get_address(c) + << " " << nvme_ctrl_get_traddr(c) << " " << nvme_ctrl_get_state(c) << "\n"; nvme_ctrl_for_each_ns(c, n) { diff --git a/libnvme/test/test.c b/libnvme/test/test.c index 6d8f9c3401..cefa97d360 100644 --- a/libnvme/test/test.c +++ b/libnvme/test/test.c @@ -33,7 +33,7 @@ static bool nvme_match_subsysnqn_filter(nvme_subsystem_t s, char *nqn_match = f_args; if (s) - return strcmp(nvme_subsystem_get_nqn(s), nqn_match) == 0; + return strcmp(nvme_subsystem_get_subsysnqn(s), nqn_match) == 0; return true; } @@ -405,11 +405,11 @@ int main(int argc, char **argv) nvme_for_each_host(ctx, h) { nvme_for_each_subsystem(h, s) { printf("%s - NQN=%s\n", nvme_subsystem_get_name(s), - nvme_subsystem_get_nqn(s)); + nvme_subsystem_get_subsysnqn(s)); nvme_subsystem_for_each_ctrl(s, c) { printf(" %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } } @@ -423,7 +423,7 @@ int main(int argc, char **argv) if (!nvme_scan_ctrl(ctx, ctrl, &c)) { printf("%s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); nvme_free_ctrl(c); } @@ -433,12 +433,12 @@ int main(int argc, char **argv) nvme_for_each_host(ctx, h) { nvme_for_each_subsystem(h, s) { printf("%s - NQN=%s\n", nvme_subsystem_get_name(s), - nvme_subsystem_get_nqn(s)); + nvme_subsystem_get_subsysnqn(s)); nvme_subsystem_for_each_ctrl(s, c) { printf(" `- %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); nvme_ctrl_for_each_ns(c, n) { diff --git a/nvme-print-json.c b/nvme-print-json.c index 5413d31c05..15ca6f4dd0 100644 --- a/nvme-print-json.c +++ b/nvme-print-json.c @@ -2678,7 +2678,7 @@ static unsigned int json_print_nvme_subsystem_multipath(nvme_subsystem_t s, json path_attrs = json_create_object(); obj_add_str(path_attrs, "Name", nvme_ctrl_get_name(c)); obj_add_str(path_attrs, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(path_attrs, "Address", nvme_ctrl_get_address(c)); + obj_add_str(path_attrs, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(path_attrs, "State", nvme_ctrl_get_state(c)); obj_add_str(path_attrs, "ANAState", nvme_path_get_ana_state(p)); array_add_obj(paths, path_attrs); @@ -2699,7 +2699,7 @@ static void json_print_nvme_subsystem_ctrls(nvme_subsystem_t s, path_attrs = json_create_object(); obj_add_str(path_attrs, "Name", nvme_ctrl_get_name(c)); obj_add_str(path_attrs, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(path_attrs, "Address", nvme_ctrl_get_address(c)); + obj_add_str(path_attrs, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(path_attrs, "State", nvme_ctrl_get_state(c)); array_add_obj(paths, path_attrs); } @@ -2734,7 +2734,7 @@ static void json_print_nvme_subsystem_list(struct nvme_global_ctx *ctx, subsystem_attrs = json_create_object(); obj_add_str(subsystem_attrs, "Name", nvme_subsystem_get_name(s)); - obj_add_str(subsystem_attrs, "NQN", nvme_subsystem_get_nqn(s)); + obj_add_str(subsystem_attrs, "NQN", nvme_subsystem_get_subsysnqn(s)); if (verbose_mode()) { obj_add_str(subsystem_attrs, "Model", @@ -2742,11 +2742,11 @@ static void json_print_nvme_subsystem_list(struct nvme_global_ctx *ctx, obj_add_str(subsystem_attrs, "Serial", nvme_subsystem_get_serial(s)); obj_add_str(subsystem_attrs, "Firmware", - nvme_subsystem_get_fw_rev(s)); + nvme_subsystem_get_firmware(s)); obj_add_str(subsystem_attrs, "IOPolicy", nvme_subsystem_get_iopolicy(s)); obj_add_str(subsystem_attrs, "Type", - nvme_subsystem_get_type(s)); + nvme_subsystem_get_subsystype(s)); } array_add_obj(subsystems, subsystem_attrs); @@ -4663,7 +4663,7 @@ static void json_print_detail_list_multipath(nvme_subsystem_t s, obj_add_str(jpath, "ModelNumber", nvme_ctrl_get_model(c)); obj_add_str(jpath, "Firmware", nvme_ctrl_get_firmware(c)); obj_add_str(jpath, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(jpath, "Address", nvme_ctrl_get_address(c)); + obj_add_str(jpath, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(jpath, "Slot", nvme_ctrl_get_phy_slot(c)); array_add_obj(jpaths, jpath); @@ -4691,7 +4691,7 @@ static void json_print_detail_list(nvme_subsystem_t s, struct json_object *jss) obj_add_str(jctrl, "ModelNumber", nvme_ctrl_get_model(c)); obj_add_str(jctrl, "Firmware", nvme_ctrl_get_firmware(c)); obj_add_str(jctrl, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(jctrl, "Address", nvme_ctrl_get_address(c)); + obj_add_str(jctrl, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(jctrl, "Slot", nvme_ctrl_get_phy_slot(c)); nvme_ctrl_for_each_ns(c, n) { @@ -4740,7 +4740,7 @@ static void json_detail_list_v2(struct nvme_global_ctx *ctx) struct json_object *jss = json_create_object(); obj_add_str(jss, "Subsystem", nvme_subsystem_get_name(s)); - obj_add_str(jss, "SubsystemNQN", nvme_subsystem_get_nqn(s)); + obj_add_str(jss, "SubsystemNQN", nvme_subsystem_get_subsysnqn(s)); if (nvme_is_multipath(s)) json_print_detail_list_multipath(s, jss); @@ -4786,7 +4786,7 @@ static void json_detail_list(struct nvme_global_ctx *ctx) struct json_object *jnss = json_create_array(); obj_add_str(jss, "Subsystem", nvme_subsystem_get_name(s)); - obj_add_str(jss, "SubsystemNQN", nvme_subsystem_get_nqn(s)); + obj_add_str(jss, "SubsystemNQN", nvme_subsystem_get_subsysnqn(s)); nvme_subsystem_for_each_ctrl(s, c) { struct json_object *jctrl = json_create_object(); @@ -4799,7 +4799,7 @@ static void json_detail_list(struct nvme_global_ctx *ctx) obj_add_str(jctrl, "ModelNumber", nvme_ctrl_get_model(c)); obj_add_str(jctrl, "Firmware", nvme_ctrl_get_firmware(c)); obj_add_str(jctrl, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(jctrl, "Address", nvme_ctrl_get_address(c)); + obj_add_str(jctrl, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(jctrl, "Slot", nvme_ctrl_get_phy_slot(c)); nvme_ctrl_for_each_ns(c, n) { @@ -4979,7 +4979,7 @@ static unsigned int json_subsystem_topology_multipath(nvme_subsystem_t s, ctrl_attrs = json_create_object(); obj_add_str(ctrl_attrs, "Name", nvme_ctrl_get_name(c)); obj_add_str(ctrl_attrs, "Transport", nvme_ctrl_get_transport(c)); - obj_add_str(ctrl_attrs, "Address", nvme_ctrl_get_address(c)); + obj_add_str(ctrl_attrs, "Address", nvme_ctrl_get_traddr(c)); obj_add_str(ctrl_attrs, "State", nvme_ctrl_get_state(c)); array_add_obj(ctrls, ctrl_attrs); obj_add_array(path_attrs, "Controller", ctrls); @@ -5017,7 +5017,7 @@ static void json_print_nvme_subsystem_topology(nvme_subsystem_t s, obj_add_str(ctrl_attrs, "Transport", nvme_ctrl_get_transport(c)); obj_add_str(ctrl_attrs, "Address", - nvme_ctrl_get_address(c)); + nvme_ctrl_get_traddr(c)); obj_add_str(ctrl_attrs, "State", nvme_ctrl_get_state(c)); @@ -5048,7 +5048,7 @@ static void json_simple_topology(struct nvme_global_ctx *ctx) nvme_for_each_subsystem(h, s) { subsystem_attrs = json_create_object(); obj_add_str(subsystem_attrs, "Name", nvme_subsystem_get_name(s)); - obj_add_str(subsystem_attrs, "NQN", nvme_subsystem_get_nqn(s)); + obj_add_str(subsystem_attrs, "NQN", nvme_subsystem_get_subsysnqn(s)); obj_add_str(subsystem_attrs, "IOPolicy", nvme_subsystem_get_iopolicy(s)); @@ -5058,9 +5058,9 @@ static void json_simple_topology(struct nvme_global_ctx *ctx) obj_add_str(subsystem_attrs, "Serial", nvme_subsystem_get_serial(s)); obj_add_str(subsystem_attrs, "Firmware", - nvme_subsystem_get_fw_rev(s)); + nvme_subsystem_get_firmware(s)); obj_add_str(subsystem_attrs, "Type", - nvme_subsystem_get_type(s)); + nvme_subsystem_get_subsystype(s)); } array_add_obj(subsystems, subsystem_attrs); diff --git a/nvme-print-stdout.c b/nvme-print-stdout.c index ec5ae5c050..3188dafaf3 100644 --- a/nvme-print-stdout.c +++ b/nvme-print-stdout.c @@ -1188,7 +1188,7 @@ static unsigned int stdout_subsystem_multipath(nvme_subsystem_t s) printf(" +- %s %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c), ana_state); i++; @@ -1205,7 +1205,7 @@ static void stdout_subsystem_ctrls(nvme_subsystem_t s) printf(" +- %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } } @@ -1215,7 +1215,7 @@ static void stdout_subsys_config(nvme_subsystem_t s, bool show_iopolicy) int len = strlen(nvme_subsystem_get_name(s)); printf("%s - NQN=%s\n", nvme_subsystem_get_name(s), - nvme_subsystem_get_nqn(s)); + nvme_subsystem_get_subsysnqn(s)); printf("%*s hostnqn=%s\n", len, " ", nvme_host_get_hostnqn(nvme_subsystem_get_host(s))); if (show_iopolicy) @@ -1228,9 +1228,9 @@ static void stdout_subsys_config(nvme_subsystem_t s, bool show_iopolicy) printf("%*s serial=%s\n", len, " ", nvme_subsystem_get_serial(s)); printf("%*s firmware=%s\n", len, " ", - nvme_subsystem_get_fw_rev(s)); + nvme_subsystem_get_firmware(s)); printf("%*s type=%s\n", len, " ", - nvme_subsystem_get_type(s)); + nvme_subsystem_get_subsystype(s)); } } @@ -5773,7 +5773,8 @@ static bool stdout_detailed_subsys(const char *name, void *arg) s; s = htable_subsys_getnext(&res->ht_s, name, &it)) { if (first) { - printf("%-16s %-96s ", name, nvme_subsystem_get_nqn(s)); + printf("%-16s %-96s ", name, + nvme_subsystem_get_subsysnqn(s)); first = false; } @@ -5808,7 +5809,7 @@ static bool stdout_detailed_ctrl(const char *name, void *arg) nvme_ctrl_get_model(c), nvme_ctrl_get_firmware(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_phy_slot(c), nvme_subsystem_get_name(nvme_ctrl_get_subsystem(c))); @@ -6015,7 +6016,7 @@ static void stdout_tabular_subsystem_topology_multipath(nvme_subsystem_t s) nvme_ctrl_get_transport(c), LEFT); /* col 7: Address */ table_set_value_str(t, ++col, row, - nvme_ctrl_get_address(c), LEFT); + nvme_ctrl_get_traddr(c), LEFT); /* col 8: State */ table_set_value_str(t, ++col, row, nvme_ctrl_get_state(c), LEFT); @@ -6050,7 +6051,7 @@ static void stdout_subsystem_topology_multipath(nvme_subsystem_t s, printf(" +- %s %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c), nvme_path_get_ana_state(p)); } @@ -6061,7 +6062,7 @@ static void stdout_subsystem_topology_multipath(nvme_subsystem_t s, printf(" +- %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c)); + nvme_ctrl_get_traddr(c)); printf(" \\\n"); nvme_subsystem_for_each_ns(s, n) { @@ -6097,7 +6098,7 @@ static void stdout_subsystem_topology_multipath(nvme_subsystem_t s, nvme_path_get_numa_nodes(p), nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } else if (!strcmp(iopolicy, "queue-depth")) { @@ -6111,7 +6112,7 @@ static void stdout_subsystem_topology_multipath(nvme_subsystem_t s, nvme_path_get_queue_depth(p), nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } else { /* round-robin */ @@ -6124,7 +6125,7 @@ static void stdout_subsystem_topology_multipath(nvme_subsystem_t s, nvme_path_get_ana_state(p), nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } } @@ -6182,7 +6183,7 @@ static void stdout_tabular_subsystem_topology(nvme_subsystem_t s) nvme_ctrl_get_transport(c), LEFT); /* col 4: Address */ table_set_value_str(t, 4, row, - nvme_ctrl_get_address(c), LEFT); + nvme_ctrl_get_traddr(c), LEFT); /* col 5: State */ table_set_value_str(t, 5, row, nvme_ctrl_get_state(c), LEFT); @@ -6209,7 +6210,7 @@ static void stdout_subsystem_topology(nvme_subsystem_t s, printf(" +- %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } } @@ -6219,7 +6220,7 @@ static void stdout_subsystem_topology(nvme_subsystem_t s, printf(" +- %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c)); + nvme_ctrl_get_traddr(c)); printf(" \\\n"); nvme_ctrl_for_each_ns(c, n) { printf(" +- ns %d %s\n", @@ -6240,7 +6241,7 @@ static void stdout_subsystem_topology(nvme_subsystem_t s, printf(" +- %s %s %s %s\n", nvme_ctrl_get_name(c), nvme_ctrl_get_transport(c), - nvme_ctrl_get_address(c), + nvme_ctrl_get_traddr(c), nvme_ctrl_get_state(c)); } }