mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-14 12:52:37 +00:00
babeld: add command: "show_babel_running_config".
This commit is contained in:
parent
1f39f466e4
commit
d3351d1ebf
@ -43,6 +43,7 @@ THE SOFTWARE.
|
||||
#include "command.h"
|
||||
#include "prefix.h"
|
||||
#include "vector.h"
|
||||
#include "distribute.h"
|
||||
|
||||
#include "babel_main.h"
|
||||
#include "util.h"
|
||||
@ -829,6 +830,24 @@ DEFUN (show_babel_database,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (show_babel_running_config,
|
||||
show_babel_running_config_cmd,
|
||||
"show babel running-config",
|
||||
SHOW_STR
|
||||
IP_STR
|
||||
"Babel information\n"
|
||||
"Configuration information\n"
|
||||
"No attributes\n")
|
||||
{
|
||||
vty_out(vty, " -- Babel running configuration --%s", VTY_NEWLINE);
|
||||
show_babel_main_configuration(vty);
|
||||
show_babeld_configuration(vty);
|
||||
vty_out(vty, " -- ditribution lists --%s", VTY_NEWLINE);
|
||||
config_show_distribute(vty);
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
void
|
||||
babel_if_init ()
|
||||
{
|
||||
@ -864,6 +883,8 @@ babel_if_init ()
|
||||
install_element(ENABLE_NODE, &show_babel_neighbour_cmd);
|
||||
install_element(VIEW_NODE, &show_babel_database_cmd);
|
||||
install_element(ENABLE_NODE, &show_babel_database_cmd);
|
||||
install_element(VIEW_NODE, &show_babel_running_config_cmd);
|
||||
install_element(ENABLE_NODE, &show_babel_running_config_cmd);
|
||||
}
|
||||
|
||||
/* hooks: functions called respectively when struct interface is
|
||||
|
@ -527,3 +527,69 @@ babel_save_state_file(void)
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
show_babel_main_configuration (struct vty *vty)
|
||||
{
|
||||
#ifdef NO_DEBUG
|
||||
vty_out(vty, "No debug.%s", VTY_NEWLINE);
|
||||
#else
|
||||
vty_out(vty, "Activated debug options:");
|
||||
if (debug == BABEL_DEBUG_ALL) {
|
||||
vty_out(vty, " all%s", VTY_NEWLINE);
|
||||
} else {
|
||||
vty_out(vty, "%s%s%s%s%s%s%s%s%s%s%s%s%s",
|
||||
debug & BABEL_DEBUG_COMMON ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_COMMON ? " common" : "",
|
||||
debug & BABEL_DEBUG_KERNEL ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_KERNEL ? " kernel" : "",
|
||||
debug & BABEL_DEBUG_FILTER ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_FILTER ? " filter" : "",
|
||||
debug & BABEL_DEBUG_TIMEOUT ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_TIMEOUT ? " timeout" : "",
|
||||
debug & BABEL_DEBUG_IF ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_IF ? " interface": "",
|
||||
debug & BABEL_DEBUG_ROUTE ? VTY_NEWLINE : "",
|
||||
debug & BABEL_DEBUG_ROUTE ? " route" : "",
|
||||
VTY_NEWLINE);
|
||||
}
|
||||
#endif
|
||||
|
||||
vty_out(vty,
|
||||
"pid file = %s%s"
|
||||
"state file = %s%s"
|
||||
"configuration file = %s%s"
|
||||
"protocol informations:%s"
|
||||
" multicast address = %s%s"
|
||||
" port = %d%s"
|
||||
"vty address = %s%s"
|
||||
"vty port = %d%s"
|
||||
"id = %s%s"
|
||||
"idle time = %d%s"
|
||||
"wireless hello interval = %d%s"
|
||||
"wired hello interval = %d%s"
|
||||
"idle hello interval = %d%s"
|
||||
"parasitic = %s%s"
|
||||
"split-horizon = %s%s"
|
||||
"allow_duplicates = %s%s"
|
||||
"kernel_metric = %d%s",
|
||||
pidfile, VTY_NEWLINE,
|
||||
state_file, VTY_NEWLINE,
|
||||
babel_config_file ? babel_config_file : babel_config_default,
|
||||
VTY_NEWLINE,
|
||||
VTY_NEWLINE,
|
||||
format_address(protocol_group), VTY_NEWLINE,
|
||||
protocol_port, VTY_NEWLINE,
|
||||
babel_vty_addr ? babel_vty_addr : "None",
|
||||
VTY_NEWLINE,
|
||||
babel_vty_port, VTY_NEWLINE,
|
||||
format_eui64(myid), VTY_NEWLINE,
|
||||
idle_time, VTY_NEWLINE,
|
||||
wireless_hello_interval, VTY_NEWLINE,
|
||||
wired_hello_interval, VTY_NEWLINE,
|
||||
idle_hello_interval, VTY_NEWLINE,
|
||||
format_bool(parasitic), VTY_NEWLINE,
|
||||
format_bool(split_horizon), VTY_NEWLINE,
|
||||
format_bool(allow_duplicates), VTY_NEWLINE,
|
||||
kernel_metric, VTY_NEWLINE);
|
||||
}
|
||||
|
@ -36,6 +36,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "vty.h"
|
||||
|
||||
extern struct timeval babel_now; /* current time */
|
||||
extern struct thread_master *master; /* quagga's threads handler */
|
||||
extern int debug;
|
||||
@ -52,3 +54,5 @@ extern unsigned char protocol_group[16];
|
||||
extern int protocol_socket;
|
||||
extern int kernel_socket;
|
||||
extern int max_request_hopcount;
|
||||
|
||||
void show_babel_main_configuration (struct vty *vty);
|
||||
|
@ -764,3 +764,10 @@ redistribute_filter(const unsigned char *prefix, unsigned short plen,
|
||||
|
||||
return babel_filter_redistribute(&p, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
show_babeld_configuration (struct vty *vty)
|
||||
{
|
||||
vty_out(vty, "babeld running process %s.%s",
|
||||
babel_routing_process ? "enable" : "disable", VTY_NEWLINE);
|
||||
}
|
||||
|
@ -41,6 +41,7 @@ THE SOFTWARE.
|
||||
#define BABEL_BABELD_H
|
||||
|
||||
#include <zebra.h>
|
||||
#include "vty.h"
|
||||
|
||||
#define INFINITY ((unsigned short)(~0))
|
||||
|
||||
@ -131,6 +132,7 @@ extern int redistribute_filter(const unsigned char *prefix, unsigned short plen,
|
||||
unsigned int ifindex, int proto);
|
||||
extern int resize_receive_buffer(int size);
|
||||
extern void schedule_neighbours_check(int msecs, int override);
|
||||
extern void show_babeld_configuration (struct vty *vty);
|
||||
|
||||
|
||||
#endif /* BABEL_BABELD_H */
|
||||
|
@ -298,6 +298,10 @@ format_eui64(const unsigned char *eui)
|
||||
return buf[i];
|
||||
}
|
||||
|
||||
const char *format_bool(const int b) {
|
||||
return b ? "true" : "false";
|
||||
}
|
||||
|
||||
int
|
||||
parse_address(const char *address, unsigned char *addr_r, int *af_r)
|
||||
{
|
||||
|
@ -111,6 +111,7 @@ unsigned char *mask_prefix(unsigned char *restrict ret,
|
||||
const char *format_address(const unsigned char *address);
|
||||
const char *format_prefix(const unsigned char *address, unsigned char prefix);
|
||||
const char *format_eui64(const unsigned char *eui);
|
||||
const char *format_bool(const int b);
|
||||
int parse_address(const char *address, unsigned char *addr_r, int *af_r);
|
||||
int parse_net(const char *ifp, unsigned char *prefix_r, unsigned char *plen_r,
|
||||
int *af_r);
|
||||
|
Loading…
Reference in New Issue
Block a user