summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/frrscript.c10
-rw-r--r--lib/frrscript.h2
-rw-r--r--zebra/zebra_vty.c4
3 files changed, 16 insertions, 0 deletions
diff --git a/lib/frrscript.c b/lib/frrscript.c
index dbae31b666..06460b014d 100644
--- a/lib/frrscript.c
+++ b/lib/frrscript.c
@@ -27,6 +27,16 @@ struct frrscript_names_head frrscript_names_hash;
void _lua_decode_noop(lua_State *L, ...) {}
+void frrscript_names_config_write(struct vty *vty)
+{
+ struct frrscript_names_entry *lua_script_entry;
+
+ frr_each (frrscript_names, &frrscript_names_hash, lua_script_entry)
+ if (lua_script_entry->script_name[0] != '\0')
+ vty_out(vty, "zebra on-rib-process script %s\n",
+ lua_script_entry->script_name);
+}
+
/*
* Wrapper for frrscript_names_add
* Use this to register hook calls when a daemon starts up
diff --git a/lib/frrscript.h b/lib/frrscript.h
index ce313a1b63..75ac53c609 100644
--- a/lib/frrscript.h
+++ b/lib/frrscript.h
@@ -44,6 +44,8 @@ struct frrscript_names_entry {
extern struct frrscript_names_head frrscript_names_hash;
+extern void frrscript_names_config_write(struct vty *vty);
+
int frrscript_names_hash_cmp(const struct frrscript_names_entry *snhe1,
const struct frrscript_names_entry *snhe2);
uint32_t frrscript_names_hash_key(const struct frrscript_names_entry *snhe);
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 3bf20ff42e..303146c292 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -3802,6 +3802,10 @@ static int config_write_protocol(struct vty *vty)
if (!zebra_nhg_recursive_use_backups())
vty_out(vty, "no zebra nexthop resolve-via-backup\n");
+#ifdef HAVE_SCRIPTING
+ frrscript_names_config_write(vty);
+#endif
+
if (rnh_get_hide_backups())
vty_out(vty, "ip nht hide-backup-events\n");