#define MAX_DISC_ARGS 32
#define MAX_DISC_RETRIES 10
+#define NVMF_DEF_DISC_TMO 30
+
/* Name of file to output log pages in their raw format */
static char *raw;
static bool persistent;
}
}
+static void set_discovery_kato(struct nvme_fabrics_config *cfg)
+{
+ /* Set kato to NVMF_DEF_DISC_TMO for persistent controllers */
+ if (persistent && !cfg->keep_alive_tmo)
+ cfg->keep_alive_tmo = NVMF_DEF_DISC_TMO;
+ /* Set kato to zero for non-persistent controllers */
+ else if (!persistent && (cfg->keep_alive_tmo > 0))
+ cfg->keep_alive_tmo = 0;
+}
+
static void print_discovery_log(struct nvmf_discovery_log *log, int numrec)
{
int i;
ret = argconfig_parse(argc, argv, desc, opts);
if (ret)
goto next;
- if (persistent && !cfg.keep_alive_tmo)
- cfg.keep_alive_tmo = 30;
if (!transport && !traddr)
goto next;
+ set_discovery_kato(&cfg);
+
c = nvme_create_ctrl(r, subsysnqn, transport, traddr,
cfg.host_traddr, cfg.host_iface, trsvcid);
if (!c)
return ret;
}
- if (persistent && !cfg.keep_alive_tmo)
- cfg.keep_alive_tmo = 30;
+ set_discovery_kato(&cfg);
+
if (!hostnqn)
hostnqn = hnqn = nvmf_hostnqn_from_file();
if (!hostid)