]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib, zebra: Keep `zebra on-rib-process script` in frr.conf 17263/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 18 Oct 2024 12:36:52 +0000 (15:36 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Mon, 28 Oct 2024 07:57:44 +0000 (09:57 +0200)
After the change:

```
$ grep on-rib-process /etc/frr/frr.conf
zebra on-rib-process script script4

$ systemctl restart frr

$ vtysh -c 'show run' | grep on-rib-process
zebra on-rib-process script script4
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
lib/frrscript.c
lib/frrscript.h
zebra/zebra_vty.c

index 50410fb58bd66310c2a6d44a455fcd601c4716c8..ec2f47899a90114146b6747feb66d7af92fae19c 100644 (file)
@@ -25,6 +25,16 @@ DEFINE_MTYPE_STATIC(LIB, SCRIPT, "Scripting");
 
 struct frrscript_names_head frrscript_names_hash;
 
+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
index df49b5718c1d335afe458c4ef0d609bded6a087d..ddc1fecc86d18ba505ec7dea0e7fff12246f9905 100644 (file)
@@ -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);
index d36c2f81c789ccc8b5379355bccd60ef2a715796..a7d983142f1bce1c2bc43db361c6bf42d3328148 100644 (file)
@@ -4017,6 +4017,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");