From: Donald Sharp Date: Mon, 21 Nov 2022 17:04:12 +0000 (-0500) Subject: lib, vtysh: Allow watchfrr to receive start/end lines X-Git-Tag: base_8.5~228^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F12357%2Fhead;p=mirror%2Ffrr.git lib, vtysh: Allow watchfrr to receive start/end lines Watchfrr really should receive notification about start/end read of configuration. Let's fix that. Signed-off-by: Donald Sharp --- diff --git a/lib/lib_vty.c b/lib/lib_vty.c index 85816c5123..46a0a68103 100644 --- a/lib/lib_vty.c +++ b/lib/lib_vty.c @@ -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]; diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 48274d7170..30f117505a 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -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);