]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib, vtysh: Allow watchfrr to receive start/end lines 12357/head
authorDonald Sharp <sharpd@nvidia.com>
Mon, 21 Nov 2022 17:04:12 +0000 (12:04 -0500)
committerDonald Sharp <sharpd@nvidia.com>
Mon, 21 Nov 2022 17:04:12 +0000 (12:04 -0500)
Watchfrr really should receive notification about start/end
read of configuration.  Let's fix that.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
lib/lib_vty.c
vtysh/vtysh.c

index 85816c51230b2c568ccfb6296cd83d3c1c0b58d0..46a0a681031ee1b83db17c1a4e58151d97ed96ca 100644 (file)
@@ -225,10 +225,8 @@ static struct call_back {
 } callback;
 
 
-DEFUN_HIDDEN (start_config,
-             start_config_cmd,
-             "XFRR_start_configuration",
-             "The Beginning of Configuration\n")
+DEFUN_NOSH(start_config, start_config_cmd, "XFRR_start_configuration",
+          "The Beginning of Configuration\n")
 {
        callback.readin_time = monotime(NULL);
 
@@ -240,10 +238,8 @@ DEFUN_HIDDEN (start_config,
        return CMD_SUCCESS;
 }
 
-DEFUN_HIDDEN (end_config,
-             end_config_cmd,
-             "XFRR_end_configuration",
-             "The End of Configuration\n")
+DEFUN_NOSH(end_config, end_config_cmd, "XFRR_end_configuration",
+          "The End of Configuration\n")
 {
        time_t readin_time;
        char readin_time_str[MONOTIME_STRLEN];
index 48274d717018e6743ebfd5b8595d3b8c4d1b502d..30f117505a5e11c3b2b8488d311154213ff7110b 100644 (file)
@@ -3413,6 +3413,30 @@ int vtysh_write_config_integrated(void)
        return CMD_SUCCESS;
 }
 
+DEFUN_HIDDEN(start_config, start_config_cmd, "XFRR_start_configuration",
+            "The Beginning of Configuration\n")
+{
+       unsigned int i;
+       char line[] = "XFRR_start_configuration";
+
+       for (i = 0; i < array_size(vtysh_client); i++)
+               vtysh_client_execute(&vtysh_client[i], line);
+
+       return CMD_SUCCESS;
+}
+
+DEFUN_HIDDEN(end_config, end_config_cmd, "XFRR_end_configuration",
+            "The End of Configuration\n")
+{
+       unsigned int i;
+       char line[] = "XFRR_end_configuration";
+
+       for (i = 0; i < array_size(vtysh_client); i++)
+               vtysh_client_execute(&vtysh_client[i], line);
+
+       return CMD_SUCCESS;
+}
+
 static bool want_config_integrated(void)
 {
        struct stat s;
@@ -4870,6 +4894,9 @@ void vtysh_init_vty(void)
        /* "write memory" command. */
        install_element(ENABLE_NODE, &vtysh_write_memory_cmd);
 
+       install_element(CONFIG_NODE, &start_config_cmd);
+       install_element(CONFIG_NODE, &end_config_cmd);
+
        install_element(CONFIG_NODE, &vtysh_terminal_paginate_cmd);
        install_element(VIEW_NODE, &vtysh_terminal_paginate_cmd);
        install_element(VIEW_NODE, &vtysh_terminal_length_cmd);