summaryrefslogtreecommitdiff
path: root/conf
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2019-06-12 16:13:21 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2019-06-12 17:15:35 +0200
commit9106a750cd76d4a76c7a60294ce3a43eede166c9 (patch)
tree507177651bf4654e714665a6f2e3ab1ed330e1cf /conf
parent8a2cbb88d1657b4aee366605cb3d8ffcc5d3f90a (diff)
Add CLI command to test reconfiguration status
Based on patch from Kenth Eriksson <kenth.eriksson@infinera.com>.
Diffstat (limited to 'conf')
-rw-r--r--conf/conf.c18
-rw-r--r--conf/conf.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/conf/conf.c b/conf/conf.c
index 439aa41d..d6b3e8e8 100644
--- a/conf/conf.c
+++ b/conf/conf.c
@@ -444,6 +444,24 @@ config_undo(void)
return CONF_PROGRESS;
}
+int
+config_status(void)
+{
+ if (shutting_down)
+ return CONF_SHUTDOWN;
+
+ if (configuring)
+ return future_cftype ? CONF_QUEUED : CONF_PROGRESS;
+
+ return CONF_DONE;
+}
+
+btime
+config_timer_status(void)
+{
+ return tm_active(config_timer) ? tm_remains(config_timer) : -1;
+}
+
extern void cmd_reconfig_undo_notify(void);
static void
diff --git a/conf/conf.h b/conf/conf.h
index 354a4da8..51dcb989 100644
--- a/conf/conf.h
+++ b/conf/conf.h
@@ -69,6 +69,8 @@ void config_free(struct config *);
int config_commit(struct config *, int type, uint timeout);
int config_confirm(void);
int config_undo(void);
+int config_status(void);
+btime config_timer_status(void);
void config_init(void);
void cf_error(const char *msg, ...) NORET;
void config_add_obstacle(struct config *);