summaryrefslogtreecommitdiffstats
path: root/vtysh/vtysh.c
diff options
context:
space:
mode:
authorLou Berger <lberger@labn.net>2016-01-12 13:42:04 -0500
committerPaul Jakma <paul.jakma@hpe.com>2016-02-26 14:11:44 +0000
commita3fda886cdd48b6d8c421ebb1401142fa9ee93b0 (patch)
tree42a5e6fda0978185128544fd199caf8ed93e58a3 /vtysh/vtysh.c
parent637035710a2f8e1e5944ee714135b7f88ac15ac4 (diff)
downloadquagga-a3fda886cdd48b6d8c421ebb1401142fa9ee93b0.tar.bz2
quagga-a3fda886cdd48b6d8c421ebb1401142fa9ee93b0.tar.xz
bgpd, lib, vtysh: hook up bgp ENCAP CLI node
Signed-off-by: Lou Berger <lberger@labn.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'vtysh/vtysh.c')
-rw-r--r--vtysh/vtysh.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index a39889d0..63b596a5 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -281,6 +281,7 @@ vtysh_execute_func (const char *line, int pager)
if (ret == CMD_SUCCESS || ret == CMD_SUCCESS_DAEMON || ret == CMD_WARNING)
{
if ((saved_node == BGP_VPNV4_NODE || saved_node == BGP_VPNV6_NODE
+ || saved_node == BGP_ENCAP_NODE || saved_node == BGP_ENCAPV6_NODE
|| saved_node == BGP_IPV4_NODE
|| saved_node == BGP_IPV6_NODE || saved_node == BGP_IPV4M_NODE
|| saved_node == BGP_IPV6M_NODE)
@@ -691,6 +692,18 @@ static struct cmd_node bgp_vpnv6_node =
"%s(config-router-af)# "
};
+static struct cmd_node bgp_encap_node =
+{
+ BGP_ENCAP_NODE,
+ "%s(config-router-af)# "
+};
+
+static struct cmd_node bgp_encapv6_node =
+{
+ BGP_ENCAPV6_NODE,
+ "%s(config-router-af)# "
+};
+
static struct cmd_node bgp_ipv4_node =
{
BGP_IPV4_NODE,
@@ -849,6 +862,39 @@ DEFUNSH (VTYSH_BGPD,
}
DEFUNSH (VTYSH_BGPD,
+ address_family_encap,
+ address_family_encap_cmd,
+ "address-family encap",
+ "Enter Address Family command mode\n"
+ "Address family\n")
+{
+ vty->node = BGP_ENCAP_NODE;
+ return CMD_SUCCESS;
+}
+
+DEFUNSH (VTYSH_BGPD,
+ address_family_encapv4,
+ address_family_encapv4_cmd,
+ "address-family encapv4",
+ "Enter Address Family command mode\n"
+ "Address family\n")
+{
+ vty->node = BGP_ENCAP_NODE;
+ return CMD_SUCCESS;
+}
+
+DEFUNSH (VTYSH_BGPD,
+ address_family_encapv6,
+ address_family_encapv6_cmd,
+ "address-family encapv6",
+ "Enter Address Family command mode\n"
+ "Address family\n")
+{
+ vty->node = BGP_ENCAPV6_NODE;
+ return CMD_SUCCESS;
+}
+
+DEFUNSH (VTYSH_BGPD,
address_family_ipv4_unicast,
address_family_ipv4_unicast_cmd,
"address-family ipv4 unicast",
@@ -1074,6 +1120,8 @@ vtysh_exit (struct vty *vty)
break;
case BGP_VPNV4_NODE:
case BGP_VPNV6_NODE:
+ case BGP_ENCAP_NODE:
+ case BGP_ENCAPV6_NODE:
case BGP_IPV4_NODE:
case BGP_IPV4M_NODE:
case BGP_IPV6_NODE:
@@ -1113,6 +1161,8 @@ DEFUNSH (VTYSH_BGPD,
|| vty->node == BGP_IPV4M_NODE
|| vty->node == BGP_VPNV4_NODE
|| vty->node == BGP_VPNV6_NODE
+ || vty->node == BGP_ENCAP_NODE
+ || vty->node == BGP_ENCAPV6_NODE
|| vty->node == BGP_IPV6_NODE
|| vty->node == BGP_IPV6M_NODE)
vty->node = BGP_NODE;
@@ -2308,6 +2358,8 @@ vtysh_init_vty (void)
install_node (&zebra_node, NULL);
install_node (&bgp_vpnv4_node, NULL);
install_node (&bgp_vpnv6_node, NULL);
+ install_node (&bgp_encap_node, NULL);
+ install_node (&bgp_encapv6_node, NULL);
install_node (&bgp_ipv4_node, NULL);
install_node (&bgp_ipv4m_node, NULL);
/* #ifdef HAVE_IPV6 */
@@ -2335,6 +2387,8 @@ vtysh_init_vty (void)
vtysh_install_default (ZEBRA_NODE);
vtysh_install_default (BGP_VPNV4_NODE);
vtysh_install_default (BGP_VPNV6_NODE);
+ vtysh_install_default (BGP_ENCAP_NODE);
+ vtysh_install_default (BGP_ENCAPV6_NODE);
vtysh_install_default (BGP_IPV4_NODE);
vtysh_install_default (BGP_IPV4M_NODE);
vtysh_install_default (BGP_IPV6_NODE);
@@ -2373,6 +2427,10 @@ vtysh_init_vty (void)
install_element (BGP_VPNV4_NODE, &vtysh_quit_bgpd_cmd);
install_element (BGP_VPNV6_NODE, &vtysh_exit_bgpd_cmd);
install_element (BGP_VPNV6_NODE, &vtysh_quit_bgpd_cmd);
+ install_element (BGP_ENCAP_NODE, &vtysh_exit_bgpd_cmd);
+ install_element (BGP_ENCAP_NODE, &vtysh_quit_bgpd_cmd);
+ install_element (BGP_ENCAPV6_NODE, &vtysh_exit_bgpd_cmd);
+ install_element (BGP_ENCAPV6_NODE, &vtysh_quit_bgpd_cmd);
install_element (BGP_IPV4_NODE, &vtysh_exit_bgpd_cmd);
install_element (BGP_IPV4_NODE, &vtysh_quit_bgpd_cmd);
install_element (BGP_IPV4M_NODE, &vtysh_exit_bgpd_cmd);
@@ -2405,6 +2463,8 @@ vtysh_init_vty (void)
install_element (BGP_IPV4M_NODE, &vtysh_end_all_cmd);
install_element (BGP_VPNV4_NODE, &vtysh_end_all_cmd);
install_element (BGP_VPNV6_NODE, &vtysh_end_all_cmd);
+ install_element (BGP_ENCAP_NODE, &vtysh_end_all_cmd);
+ install_element (BGP_ENCAPV6_NODE, &vtysh_end_all_cmd);
install_element (BGP_IPV6_NODE, &vtysh_end_all_cmd);
install_element (BGP_IPV6M_NODE, &vtysh_end_all_cmd);
install_element (ISIS_NODE, &vtysh_end_all_cmd);
@@ -2433,6 +2493,8 @@ vtysh_init_vty (void)
install_element (BGP_NODE, &address_family_vpnv4_unicast_cmd);
install_element (BGP_NODE, &address_family_vpnv6_cmd);
install_element (BGP_NODE, &address_family_vpnv6_unicast_cmd);
+ install_element (BGP_NODE, &address_family_encap_cmd);
+ install_element (BGP_NODE, &address_family_encapv6_cmd);
install_element (BGP_NODE, &address_family_ipv4_unicast_cmd);
install_element (BGP_NODE, &address_family_ipv4_multicast_cmd);
#ifdef HAVE_IPV6
@@ -2441,6 +2503,8 @@ vtysh_init_vty (void)
#endif
install_element (BGP_VPNV4_NODE, &exit_address_family_cmd);
install_element (BGP_VPNV6_NODE, &exit_address_family_cmd);
+ install_element (BGP_ENCAP_NODE, &exit_address_family_cmd);
+ install_element (BGP_ENCAPV6_NODE, &exit_address_family_cmd);
install_element (BGP_IPV4_NODE, &exit_address_family_cmd);
install_element (BGP_IPV4M_NODE, &exit_address_family_cmd);
install_element (BGP_IPV6_NODE, &exit_address_family_cmd);