From: Donald Sharp Date: Tue, 22 Sep 2015 19:00:57 +0000 (-0700) Subject: vtysh: Allow display of individual daemons configs X-Git-Tag: frr-2.0-rc1~1248 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=c006e89e9ae894f5e078cc53146e09225b53cc6f;p=matthieu%2Ffrr.git vtysh: Allow display of individual daemons configs When executing a 'show run' or 'write terminal' you see the entire integrated config. You have no way of knowing what an individual daemon is going to write until after you do a write of config to disk if you are not using an integrated configuration. This change allows the end-user to do such a thing. Ticket: CM-7597 Reviewed-by: CCR-3561 Testing: See Bug Signed-off-by: Donald Sharp --- diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 3c88ae4db5..699a15b115 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -2028,6 +2028,34 @@ DEFUN (vtysh_write_terminal, return CMD_SUCCESS; } +DEFUN (vtysh_write_terminal_daemon, + vtysh_write_terminal_daemon_cmd, + "write terminal (zebra|ripd|ripngd|ospfd|ospf6d|bgpd|isisd|babeld)", + "Write running configuration to memory, network, or terminal\n" + "Write to terminal\n" + "For the zebra daemon\n" + "For the rip daemon\n" + "For the ripng daemon\n" + "For the ospf daemon\n" + "For the ospfv6 daemon\n" + "For the bgp daemon\n" + "For the isis daemon\n" + "For the babel daemon\n") +{ + unsigned int i; + int ret = CMD_SUCCESS; + + for (i = 0; i < array_size(vtysh_client); i++) + { + if (strcmp(vtysh_client[i].name, argv[0]) == 0) + break; + } + + ret = vtysh_client_execute(&vtysh_client[i], "show running-config\n", stdout); + + return ret; +} + DEFUN (vtysh_integrated_config, vtysh_integrated_config_cmd, "service integrated-vtysh-config", @@ -2197,6 +2225,20 @@ ALIAS (vtysh_write_terminal, SHOW_STR "Current operating configuration\n") +ALIAS (vtysh_write_terminal_daemon, + vtysh_show_running_config_daemon_cmd, + "show running-config (zebra|ripd|ripngd|ospfd|ospf6d|bgpd|isisd|babeld)", + SHOW_STR + "Current operating configuration\n" + "For the zebra daemon\n" + "For the rip daemon\n" + "For the ripng daemon\n" + "For the ospf daemon\n" + "For the ospfv6 daemon\n" + "For the bgp daemon\n" + "For the isis daemon\n" + "For the babel daemon\n") + DEFUN (vtysh_terminal_length, vtysh_terminal_length_cmd, "terminal length <0-512>", @@ -2830,12 +2872,14 @@ vtysh_init_vty (void) install_element (CONFIG_NODE, &vtysh_interface_cmd); install_element (CONFIG_NODE, &vtysh_no_interface_cmd); install_element (ENABLE_NODE, &vtysh_show_running_config_cmd); + install_element (ENABLE_NODE, &vtysh_show_running_config_daemon_cmd); install_element (ENABLE_NODE, &vtysh_copy_runningconfig_startupconfig_cmd); install_element (ENABLE_NODE, &vtysh_write_file_cmd); install_element (ENABLE_NODE, &vtysh_write_cmd); /* "write terminal" command. */ install_element (ENABLE_NODE, &vtysh_write_terminal_cmd); + install_element (ENABLE_NODE, &vtysh_write_terminal_daemon_cmd); install_element (CONFIG_NODE, &vtysh_integrated_config_cmd); install_element (CONFIG_NODE, &no_vtysh_integrated_config_cmd);