From c25e458a4de6b3fc9089fbc21b0ef4a6ba8e6018 Mon Sep 17 00:00:00 2001 From: hasso Date: Tue, 23 Dec 2003 10:39:08 +0000 Subject: *** empty log message *** --- vtysh/Makefile.am | 8 +++---- vtysh/extract.pl | 1 + vtysh/vtysh.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++-- vtysh/vtysh.h | 6 ++++-- vtysh/vtysh_config.c | 2 ++ 5 files changed, 70 insertions(+), 8 deletions(-) diff --git a/vtysh/Makefile.am b/vtysh/Makefile.am index 95f8f7f4..9118350e 100644 --- a/vtysh/Makefile.am +++ b/vtysh/Makefile.am @@ -18,13 +18,13 @@ dist_examples_DATA = vtysh.conf.sample EXTRA_DIST = extract.pl rebuild4: - ./extract.pl $(top_srcdir)/zebra/*.c $(top_srcdir)/ripd/*.c $(top_srcdir)/ospfd/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c > vtysh_cmd.c + ./extract.pl $(top_srcdir)/zebra/*.c $(top_srcdir)/ripd/*.c $(top_srcdir)/ospfd/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/isisd/*.c $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c > vtysh_cmd.c vtysh_cmd.c: $(top_srcdir)/zebra/*.c $(top_srcdir)/ripd/*.c $(top_srcdir)/ripngd/*.c $(top_srcdir)/ospfd/*.c \ - $(top_srcdir)/ospf6d/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \ + $(top_srcdir)/ospf6d/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/isisd/*.c $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \ $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c $(top_srcdir)/lib/distribute.c $(top_srcdir)/lib/if_rmap.c $(srcdir)/extract.pl $(top_srcdir)/zebra/*.c $(top_srcdir)/ripd/*.c $(top_srcdir)/ripngd/*.c $(top_srcdir)/ospfd/*.c \ - $(top_srcdir)/ospf6d/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/lib/keychain.c $(top_srcdir)/lib/routemap.c \ - $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c $(top_srcdir)/lib/distribute.c \ + $(top_srcdir)/ospf6d/*.c $(top_srcdir)/isisd/*.c $(top_srcdir)/bgpd/*.c $(top_srcdir)/lib/keychain.c \ + $(top_srcdir)/lib/routemap.c $(top_srcdir)/lib/filter.c $(top_srcdir)/lib/plist.c $(top_srcdir)/lib/distribute.c \ $(top_srcdir)/lib/if_rmap.c > vtysh_cmd.c diff --git a/vtysh/extract.pl b/vtysh/extract.pl index 9a65f145..cb5ca36a 100755 --- a/vtysh/extract.pl +++ b/vtysh/extract.pl @@ -37,6 +37,7 @@ $ignore{'"router ospf <0-65535>"'} = "ignore"; $ignore{'"router ospf6"'} = "ignore"; $ignore{'"router bgp <1-65535>"'} = "ignore"; $ignore{'"router bgp <1-65535> view WORD"'} = "ignore"; +$ignore{'"router isis WORD"'} = "ignore"; $ignore{'"address-family ipv4"'} = "ignore"; $ignore{'"address-family ipv4 (unicast|multicast)"'} = "ignore"; $ignore{'"address-family ipv6"'} = "ignore"; diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index e9c784a5..36b7c585 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -423,6 +423,8 @@ vtysh_execute_func (char *line, int pager) if (cmd_stat != CMD_WARNING) cmd_stat = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_BGP], line, fp); + if (cmd_stat != CMD_WARNING) + cmd_stat = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_ISIS], line, fp); if (cmd_stat) { line = "end"; @@ -478,6 +480,10 @@ vtysh_execute_func (char *line, int pager) if (vtysh_client_execute (&vtysh_client[VTYSH_INDEX_BGP], line, fp) != CMD_SUCCESS) break; + if (cmd->daemon & VTYSH_ISISD) + if (vtysh_client_execute (&vtysh_client[VTYSH_INDEX_ISIS], line, fp) + != CMD_SUCCESS) + break; if (cmd->func) (*cmd->func) (cmd, vty, 0, NULL); } @@ -598,6 +604,10 @@ vtysh_config_from_file (struct vty *vty, FILE *fp) if (vtysh_client_execute (&vtysh_client[VTYSH_INDEX_BGP], vty->buf, stdout) != CMD_SUCCESS) break; + if (cmd->daemon & VTYSH_ISISD) + if (vtysh_client_execute (&vtysh_client[VTYSH_INDEX_ISIS], + vty->buf, stdout) != CMD_SUCCESS) + break; if (cmd->func) (*cmd->func) (cmd, vty, 0, NULL); } @@ -784,6 +794,14 @@ struct cmd_node rip_node = "%s(config-router)# ", }; +/* ISIS node structure. */ +struct cmd_node isis_node = +{ + ISIS_NODE, + "%s(config-router)# ", + 1 +}; + struct cmd_node interface_node = { INTERFACE_NODE, @@ -939,6 +957,18 @@ DEFUNSH (VTYSH_OSPF6D, return CMD_SUCCESS; } +DEFUNSH (VTYSH_ISISD, + router_isis, + router_isis_cmd, + "router isis WORD", + ROUTER_STR + "ISO IS-IS\n" + "ISO Routing area tag") +{ + vty->node = ISIS_NODE; + return CMD_SUCCESS; +} + DEFUNSH (VTYSH_RMAP, route_map, route_map_cmd, @@ -1007,6 +1037,7 @@ vtysh_exit (struct vty *vty) case RIPNG_NODE: case OSPF_NODE: case OSPF6_NODE: + case ISIS_NODE: case MASC_NODE: case RMAP_NODE: case VTY_NODE: @@ -1154,7 +1185,21 @@ ALIAS (vtysh_exit_ospf6d, "quit", "Exit current mode and down to previous mode\n") -DEFUNSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D, +DEFUNSH (VTYSH_ISISD, + vtysh_exit_isisd, + vtysh_exit_isisd_cmd, + "exit", + "Exit current mode and down to previous mode\n") +{ + return vtysh_exit (vty); +} + +ALIAS (vtysh_exit_isisd, + vtysh_quit_isisd_cmd, + "quit", + "Exit current mode and down to previous mode\n") + +DEFUNSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_ISISD, vtysh_interface, vtysh_interface_cmd, "interface IFNAME", @@ -1184,7 +1229,7 @@ DEFSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_OSPFD, NO_STR "Interface specific description\n") -DEFUNSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D, +DEFUNSH (VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_ISISD, vtysh_exit_interface, vtysh_exit_interface_cmd, "exit", @@ -1232,6 +1277,7 @@ DEFUN (vtysh_write_terminal, ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_OSPF], line); ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_OSPF6], line); ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_BGP], line); + ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_ISIS], line); vtysh_config_dump (fp); @@ -1319,6 +1365,7 @@ int write_config_integrated(void) ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_OSPF], line); ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_OSPF6], line); ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_BGP], line); + ret = vtysh_client_config (&vtysh_client[VTYSH_INDEX_ISIS], line); vtysh_config_dump (fp); @@ -1364,6 +1411,7 @@ DEFUN (vtysh_write_memory, ret = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_OSPF], line, stdout); ret = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_OSPF6], line, stdout); ret = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_BGP], line, stdout); + ret = vtysh_client_execute (&vtysh_client[VTYSH_INDEX_ISIS], line, stdout); fprintf (stdout,"[OK]\n"); @@ -1713,6 +1761,7 @@ vtysh_connect_all() vtysh_connect (&vtysh_client[VTYSH_INDEX_OSPF], OSPF_VTYSH_PATH); vtysh_connect (&vtysh_client[VTYSH_INDEX_OSPF6], OSPF6_VTYSH_PATH); vtysh_connect (&vtysh_client[VTYSH_INDEX_BGP], BGP_VTYSH_PATH); + vtysh_connect (&vtysh_client[VTYSH_INDEX_ISIS], ISIS_VTYSH_PATH); } @@ -1786,6 +1835,7 @@ vtysh_init_vty () /* #endif */ install_node (&keychain_node, NULL); install_node (&keychain_key_node, NULL); + install_node (&isis_node, NULL); vtysh_install_default (VIEW_NODE); vtysh_install_default (ENABLE_NODE); @@ -1802,6 +1852,7 @@ vtysh_init_vty () vtysh_install_default (OSPF_NODE); vtysh_install_default (RIPNG_NODE); vtysh_install_default (OSPF6_NODE); + vtysh_install_default (ISIS_NODE); vtysh_install_default (KEYCHAIN_NODE); vtysh_install_default (KEYCHAIN_KEY_NODE); @@ -1834,6 +1885,8 @@ vtysh_init_vty () install_element (BGP_IPV4M_NODE, &vtysh_quit_bgpd_cmd); install_element (BGP_IPV6_NODE, &vtysh_exit_bgpd_cmd); install_element (BGP_IPV6_NODE, &vtysh_quit_bgpd_cmd); + install_element (ISIS_NODE, &vtysh_exit_isisd_cmd); + install_element (ISIS_NODE, &vtysh_quit_isisd_cmd); install_element (KEYCHAIN_NODE, &vtysh_exit_ripd_cmd); install_element (KEYCHAIN_NODE, &vtysh_quit_ripd_cmd); install_element (KEYCHAIN_KEY_NODE, &vtysh_exit_ripd_cmd); @@ -1853,6 +1906,7 @@ vtysh_init_vty () install_element (BGP_IPV4M_NODE, &vtysh_end_all_cmd); install_element (BGP_VPNV4_NODE, &vtysh_end_all_cmd); install_element (BGP_IPV6_NODE, &vtysh_end_all_cmd); + install_element (ISIS_NODE, &vtysh_end_all_cmd); install_element (KEYCHAIN_NODE, &vtysh_end_all_cmd); install_element (KEYCHAIN_KEY_NODE, &vtysh_end_all_cmd); install_element (RMAP_NODE, &vtysh_end_all_cmd); @@ -1870,6 +1924,7 @@ vtysh_init_vty () #ifdef HAVE_IPV6 install_element (CONFIG_NODE, &router_ospf6_cmd); #endif + install_element (CONFIG_NODE, &router_isis_cmd); install_element (CONFIG_NODE, &router_bgp_cmd); install_element (BGP_NODE, &address_family_vpnv4_cmd); install_element (BGP_NODE, &address_family_vpnv4_unicast_cmd); @@ -1907,6 +1962,7 @@ vtysh_init_vty () install_element (RIPNG_NODE, &vtysh_write_terminal_cmd); install_element (OSPF_NODE, &vtysh_write_terminal_cmd); install_element (OSPF6_NODE, &vtysh_write_terminal_cmd); + install_element (ISIS_NODE, &vtysh_write_terminal_cmd); install_element (INTERFACE_NODE, &vtysh_write_terminal_cmd); install_element (RMAP_NODE, &vtysh_write_terminal_cmd); install_element (KEYCHAIN_NODE, &vtysh_write_terminal_cmd); @@ -1924,6 +1980,7 @@ vtysh_init_vty () install_element (RIPNG_NODE, &vtysh_write_memory_cmd); install_element (OSPF_NODE, &vtysh_write_memory_cmd); install_element (OSPF6_NODE, &vtysh_write_memory_cmd); + install_element (ISIS_NODE, &vtysh_write_memory_cmd); install_element (INTERFACE_NODE, &vtysh_write_memory_cmd); install_element (RMAP_NODE, &vtysh_write_memory_cmd); install_element (KEYCHAIN_NODE, &vtysh_write_memory_cmd); diff --git a/vtysh/vtysh.h b/vtysh/vtysh.h index 08184df9..5ccf41af 100644 --- a/vtysh/vtysh.h +++ b/vtysh/vtysh.h @@ -28,7 +28,8 @@ #define VTYSH_OSPFD 0x08 #define VTYSH_OSPF6D 0x10 #define VTYSH_BGPD 0x20 -#define VTYSH_ALL VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD +#define VTYSH_ISISD 0x40 +#define VTYSH_ALL VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD|VTYSH_ISISD #define VTYSH_RMAP VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD|VTYSH_OSPF6D|VTYSH_BGPD #define VTYSH_INDEX_ZEBRA 0 @@ -37,7 +38,8 @@ #define VTYSH_INDEX_OSPF 3 #define VTYSH_INDEX_OSPF6 4 #define VTYSH_INDEX_BGP 5 -#define VTYSH_INDEX_MAX 6 +#define VTYSH_INDEX_ISIS 6 +#define VTYSH_INDEX_MAX 7 /* vtysh local configuration file. */ #define VTYSH_DEFAULT_CONFIG "vtysh.conf" diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c index a307d5cc..28af1ca2 100644 --- a/vtysh/vtysh_config.c +++ b/vtysh/vtysh_config.c @@ -191,6 +191,8 @@ vtysh_config_parse_line (char *line) config = config_get (OSPF6_NODE, line); else if (strncmp (line, "router bgp", strlen ("router bgp")) == 0) config = config_get (BGP_NODE, line); + else if (strncmp (line, "router isis", strlen ("router bgp")) == 0) + config = config_get (ISIS_NODE, line); else if (strncmp (line, "router", strlen ("router")) == 0) config = config_get (BGP_NODE, line); else if (strncmp (line, "route-map", strlen ("route-map")) == 0) -- cgit v1.2.1