summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-03-25 13:07:40 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-03-25 13:07:40 -0400
commit8fe43e65fb810eda705ef53fa41f86375b9687cd (patch)
treef972c1c3e91037626c59779af83058a1bd3bc0d3
parentcc7165b62a3e44aabdac4cb2d3cfe31dac0dab67 (diff)
parent01080f7cf9bafeb8ca4e15011b48040ddb6d6c8c (diff)
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
-rw-r--r--bgpd/bgp_vty.c1631
-rw-r--r--zebra/interface.c2
-rw-r--r--zebra/rt_netlink.c62
-rw-r--r--zebra/zebra_rib.c86
4 files changed, 1633 insertions, 148 deletions
diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index bf8f221fa7..37909dd26c 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -5858,7 +5858,7 @@ DEFUN (exit_address_family,
/* Recalculate bestpath and re-advertise a prefix */
static int
-bgp_clear_prefix (struct vty *vty, char *view_name, const char *ip_str,
+bgp_clear_prefix (struct vty *vty, const char *view_name, const char *ip_str,
afi_t afi, safi_t safi, struct prefix_rd *prd)
{
int ret;
@@ -5952,6 +5952,15 @@ DEFUN (clear_ip_bgp_all,
}
ALIAS (clear_ip_bgp_all,
+ clear_ip_bgp_instance_all_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " *",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n")
+
+ALIAS (clear_ip_bgp_all,
clear_bgp_all_cmd,
"clear bgp *",
CLEAR_STR
@@ -5959,28 +5968,28 @@ ALIAS (clear_ip_bgp_all,
"Clear all peers\n")
ALIAS (clear_ip_bgp_all,
- clear_bgp_ipv6_all_cmd,
- "clear bgp ipv6 *",
+ clear_bgp_instance_all_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " *",
CLEAR_STR
BGP_STR
- "Address family\n"
+ BGP_INSTANCE_HELP_STR
"Clear all peers\n")
ALIAS (clear_ip_bgp_all,
- clear_ip_bgp_instance_all_cmd,
- "clear ip bgp " BGP_INSTANCE_CMD " *",
+ clear_bgp_ipv6_all_cmd,
+ "clear bgp ipv6 *",
CLEAR_STR
- IP_STR
BGP_STR
- BGP_INSTANCE_HELP_STR
+ "Address family\n"
"Clear all peers\n")
ALIAS (clear_ip_bgp_all,
- clear_bgp_instance_all_cmd,
- "clear bgp " BGP_INSTANCE_CMD " *",
+ clear_bgp_instance_ipv6_all_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 *",
CLEAR_STR
BGP_STR
BGP_INSTANCE_HELP_STR
+ "Address family\n"
"Clear all peers\n")
DEFUN (clear_ip_bgp_peer,
@@ -5993,10 +6002,24 @@ DEFUN (clear_ip_bgp_peer,
"BGP IPv6 neighbor to clear\n"
"BGP neighbor on interface to clear\n")
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], 0, 0, clear_peer, BGP_CLEAR_SOFT_NONE, argv[2]);
+
return bgp_clear_vty (vty, NULL, 0, 0, clear_peer, BGP_CLEAR_SOFT_NONE, argv[0]);
}
ALIAS (clear_ip_bgp_peer,
+ clear_ip_bgp_instance_peer_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD)",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor IP address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n")
+
+ALIAS (clear_ip_bgp_peer,
clear_bgp_peer_cmd,
"clear bgp (A.B.C.D|X:X::X:X|WORD)",
CLEAR_STR
@@ -6006,6 +6029,16 @@ ALIAS (clear_ip_bgp_peer,
"BGP neighbor on interface to clear\n")
ALIAS (clear_ip_bgp_peer,
+ clear_bgp_instance_peer_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD)",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor IP address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n")
+
+ALIAS (clear_ip_bgp_peer,
clear_bgp_ipv6_peer_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD)",
CLEAR_STR
@@ -6015,6 +6048,17 @@ ALIAS (clear_ip_bgp_peer,
"BGP IPv6 neighbor to clear\n"
"BGP neighbor on interface to clear\n")
+ALIAS (clear_ip_bgp_peer,
+ clear_bgp_instance_ipv6_peer_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD)",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor IP address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n")
+
DEFUN (clear_ip_bgp_peer_group,
clear_ip_bgp_peer_group_cmd,
"clear ip bgp peer-group WORD",
@@ -6024,10 +6068,23 @@ DEFUN (clear_ip_bgp_peer_group,
"Clear all members of peer-group\n"
"BGP peer-group name\n")
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], 0, 0, clear_group, BGP_CLEAR_SOFT_NONE, argv[2]);
+
return bgp_clear_vty (vty, NULL, 0, 0, clear_group, BGP_CLEAR_SOFT_NONE, argv[0]);
}
ALIAS (clear_ip_bgp_peer_group,
+ clear_ip_bgp_instance_peer_group_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n")
+
+ALIAS (clear_ip_bgp_peer_group,
clear_bgp_peer_group_cmd,
"clear bgp peer-group WORD",
CLEAR_STR
@@ -6036,6 +6093,15 @@ ALIAS (clear_ip_bgp_peer_group,
"BGP peer-group name\n")
ALIAS (clear_ip_bgp_peer_group,
+ clear_bgp_instance_peer_group_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n")
+
+ALIAS (clear_ip_bgp_peer_group,
clear_bgp_ipv6_peer_group_cmd,
"clear bgp ipv6 peer-group WORD",
CLEAR_STR
@@ -6044,6 +6110,16 @@ ALIAS (clear_ip_bgp_peer_group,
"Clear all members of peer-group\n"
"BGP peer-group name\n")
+ALIAS (clear_ip_bgp_peer_group,
+ clear_bgp_instance_ipv6_peer_group_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n")
+
DEFUN (clear_ip_bgp_external,
clear_ip_bgp_external_cmd,
"clear ip bgp external",
@@ -6052,10 +6128,22 @@ DEFUN (clear_ip_bgp_external,
BGP_STR
"Clear all external peers\n")
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], 0, 0, clear_external, BGP_CLEAR_SOFT_NONE, NULL);
+
return bgp_clear_vty (vty, NULL, 0, 0, clear_external, BGP_CLEAR_SOFT_NONE, NULL);
}
ALIAS (clear_ip_bgp_external,
+ clear_ip_bgp_instance_external_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n")
+
+ALIAS (clear_ip_bgp_external,
clear_bgp_external_cmd,
"clear bgp external",
CLEAR_STR
@@ -6063,6 +6151,14 @@ ALIAS (clear_ip_bgp_external,
"Clear all external peers\n")
ALIAS (clear_ip_bgp_external,
+ clear_bgp_instance_external_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n")
+
+ALIAS (clear_ip_bgp_external,
clear_bgp_ipv6_external_cmd,
"clear bgp ipv6 external",
CLEAR_STR
@@ -6070,6 +6166,15 @@ ALIAS (clear_ip_bgp_external,
"Address family\n"
"Clear all external peers\n")
+ALIAS (clear_ip_bgp_external,
+ clear_bgp_instance_ipv6_external_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n")
+
DEFUN (clear_ip_bgp_prefix,
clear_ip_bgp_prefix_cmd,
"clear ip bgp prefix A.B.C.D/M",
@@ -6079,10 +6184,23 @@ DEFUN (clear_ip_bgp_prefix,
"Clear bestpath and re-advertise\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
{
+ if (argc == 3)
+ return bgp_clear_prefix (vty, argv[1], argv[2], AFI_IP, SAFI_UNICAST, NULL);
+
return bgp_clear_prefix (vty, NULL, argv[0], AFI_IP, SAFI_UNICAST, NULL);
}
ALIAS (clear_ip_bgp_prefix,
+ clear_ip_bgp_instance_prefix_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " prefix A.B.C.D/M",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear bestpath and re-advertise\n"
+ "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
+
+ALIAS (clear_ip_bgp_prefix,
clear_bgp_prefix_cmd,
"clear bgp prefix A.B.C.D/M",
CLEAR_STR
@@ -6090,6 +6208,14 @@ ALIAS (clear_ip_bgp_prefix,
"Clear bestpath and re-advertise\n"
"IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
+ALIAS (clear_ip_bgp_prefix,
+ clear_bgp_instance_prefix_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " prefix A.B.C.D/M",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear bestpath and re-advertise\n"
+ "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n")
DEFUN (clear_ip_bgp_as,
clear_ip_bgp_as_cmd,
@@ -6099,10 +6225,22 @@ DEFUN (clear_ip_bgp_as,
BGP_STR
"Clear peers with the AS number\n")
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], 0, 0, clear_as, BGP_CLEAR_SOFT_NONE, argv[2]);
+
return bgp_clear_vty (vty, NULL, 0, 0, clear_as, BGP_CLEAR_SOFT_NONE, argv[0]);
}
ALIAS (clear_ip_bgp_as,
+ clear_ip_bgp_instance_as_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE,
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n")
+
+ALIAS (clear_ip_bgp_as,
clear_bgp_as_cmd,
"clear bgp " CMD_AS_RANGE,
CLEAR_STR
@@ -6110,6 +6248,14 @@ ALIAS (clear_ip_bgp_as,
"Clear peers with the AS number\n")
ALIAS (clear_ip_bgp_as,
+ clear_bgp_instance_as_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE,
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n")
+
+ALIAS (clear_ip_bgp_as,
clear_bgp_ipv6_as_cmd,
"clear bgp ipv6 " CMD_AS_RANGE,
CLEAR_STR
@@ -6117,6 +6263,15 @@ ALIAS (clear_ip_bgp_as,
"Address family\n"
"Clear peers with the AS number\n")
+ALIAS (clear_ip_bgp_as,
+ clear_bgp_instance_ipv6_as_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE,
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n")
+
/* Outbound soft-reconfiguration */
DEFUN (clear_ip_bgp_all_soft_out,
clear_ip_bgp_all_soft_out_cmd,
@@ -6137,6 +6292,17 @@ DEFUN (clear_ip_bgp_all_soft_out,
}
ALIAS (clear_ip_bgp_all_soft_out,
+ clear_ip_bgp_instance_all_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_ip_bgp_all_soft_out,
clear_ip_bgp_all_out_cmd,
"clear ip bgp * out",
CLEAR_STR
@@ -6146,14 +6312,13 @@ ALIAS (clear_ip_bgp_all_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_ip_bgp_all_soft_out,
- clear_ip_bgp_instance_all_soft_out_cmd,
- "clear ip bgp " BGP_INSTANCE_CMD " * soft out",
+ clear_ip_bgp_instance_all_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * out",
CLEAR_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
"Clear all peers\n"
- BGP_SOFT_STR
BGP_SOFT_OUT_STR)
DEFUN (clear_ip_bgp_all_ipv4_soft_out,
@@ -6177,6 +6342,27 @@ DEFUN (clear_ip_bgp_all_ipv4_soft_out,
BGP_CLEAR_SOFT_OUT, NULL);
}
+DEFUN (clear_ip_bgp_instance_all_ipv4_soft_out,
+ clear_ip_bgp_instance_all_ipv4_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_OUT_STR)
+{
+ if (strncmp (argv[2], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_all,
+ BGP_CLEAR_SOFT_OUT, NULL);
+
+ return bgp_clear_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, clear_all,
+ BGP_CLEAR_SOFT_OUT, NULL);
+}
+
ALIAS (clear_ip_bgp_all_ipv4_soft_out,
clear_ip_bgp_all_ipv4_out_cmd,
"clear ip bgp * ipv4 (unicast|multicast) out",
@@ -6189,9 +6375,9 @@ ALIAS (clear_ip_bgp_all_ipv4_soft_out,
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
-DEFUN (clear_ip_bgp_instance_all_ipv4_soft_out,
- clear_ip_bgp_instance_all_ipv4_soft_out_cmd,
- "clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) soft out",
+ALIAS (clear_ip_bgp_instance_all_ipv4_soft_out,
+ clear_ip_bgp_instance_all_ipv4_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) out",
CLEAR_STR
IP_STR
BGP_STR
@@ -6201,14 +6387,6 @@ DEFUN (clear_ip_bgp_instance_all_ipv4_soft_out,
"Address Family modifier\n"
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
-{
- if (strncmp (argv[2], "m", 1) == 0)
- return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-
- return bgp_clear_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
DEFUN (clear_ip_bgp_all_vpnv4_soft_out,
clear_ip_bgp_all_vpnv4_soft_out_cmd,
@@ -6273,6 +6451,15 @@ ALIAS (clear_bgp_all_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_all_soft_out,
+ clear_bgp_instance_all_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " * out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_all_soft_out,
clear_bgp_ipv6_all_soft_out_cmd,
"clear bgp ipv6 * soft out",
CLEAR_STR
@@ -6283,6 +6470,17 @@ ALIAS (clear_bgp_all_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_all_soft_out,
+ clear_bgp_instance_ipv6_all_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 * soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_all_soft_out,
clear_bgp_ipv6_all_out_cmd,
"clear bgp ipv6 * out",
CLEAR_STR
@@ -6291,6 +6489,16 @@ ALIAS (clear_bgp_all_soft_out,
"Clear all peers\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_bgp_all_soft_out,
+ clear_bgp_instance_ipv6_all_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 * out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all peers\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_bgp_ipv6_safi_prefix,
clear_bgp_ipv6_safi_prefix_cmd,
"clear bgp ipv6 (unicast|multicast) prefix X:X::X:X/M",
@@ -6307,6 +6515,23 @@ DEFUN (clear_bgp_ipv6_safi_prefix,
return bgp_clear_prefix (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL);
}
+DEFUN (clear_bgp_instance_ipv6_safi_prefix,
+ clear_bgp_instance_ipv6_safi_prefix_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (unicast|multicast) prefix X:X::X:X/M",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Clear bestpath and re-advertise\n"
+ "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
+{
+ if (strncmp (argv[2], "m", 1) == 0)
+ return bgp_clear_prefix (vty, argv[1], argv[3], AFI_IP6, SAFI_MULTICAST, NULL);
+ else
+ return bgp_clear_prefix (vty, argv[1], argv[3], AFI_IP6, SAFI_UNICAST, NULL);
+}
+
DEFUN (clear_ip_bgp_peer_soft_out,
clear_ip_bgp_peer_soft_out_cmd,
"clear ip bgp (A.B.C.D|WORD) soft out",
@@ -6318,11 +6543,27 @@ DEFUN (clear_ip_bgp_peer_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_ip_bgp_peer_soft_out,
+ clear_ip_bgp_instance_peer_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_ip_bgp_peer_soft_out,
clear_ip_bgp_peer_out_cmd,
"clear ip bgp (A.B.C.D|WORD) out",
CLEAR_STR
@@ -6332,6 +6573,17 @@ ALIAS (clear_ip_bgp_peer_soft_out,
"BGP neighbor on interface to clear\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_peer_soft_out,
+ clear_ip_bgp_instance_peer_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_peer_ipv4_soft_out,
clear_ip_bgp_peer_ipv4_soft_out_cmd,
"clear ip bgp (A.B.C.D|WORD) ipv4 (unicast|multicast) soft out",
@@ -6354,6 +6606,29 @@ DEFUN (clear_ip_bgp_peer_ipv4_soft_out,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_ipv4_soft_out,
+ clear_ip_bgp_instance_peer_ipv4_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) ipv4 (unicast|multicast) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_peer,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+}
+
ALIAS (clear_ip_bgp_peer_ipv4_soft_out,
clear_ip_bgp_peer_ipv4_out_cmd,
"clear ip bgp (A.B.C.D|WORD) ipv4 (unicast|multicast) out",
@@ -6367,6 +6642,20 @@ ALIAS (clear_ip_bgp_peer_ipv4_soft_out,
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_instance_peer_ipv4_soft_out,
+ clear_ip_bgp_instance_peer_ipv4_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) ipv4 (unicast|multicast) out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_OUT_STR)
+
/* NOTE: WORD peers have not been tested for vpnv4 */
DEFUN (clear_ip_bgp_peer_vpnv4_soft_out,
clear_ip_bgp_peer_vpnv4_soft_out_cmd,
@@ -6408,11 +6697,27 @@ DEFUN (clear_bgp_peer_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_bgp_peer_soft_out,
+ clear_bgp_instance_peer_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD) soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_soft_out,
clear_bgp_ipv6_peer_soft_out_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) soft out",
CLEAR_STR
@@ -6425,6 +6730,19 @@ ALIAS (clear_bgp_peer_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_peer_soft_out,
+ clear_bgp_instance_ipv6_peer_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD) soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_soft_out,
clear_bgp_peer_out_cmd,
"clear bgp (A.B.C.D|X:X::X:X|WORD) out",
CLEAR_STR
@@ -6435,6 +6753,17 @@ ALIAS (clear_bgp_peer_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_peer_soft_out,
+ clear_bgp_instance_peer_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD) out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_soft_out,
clear_bgp_ipv6_peer_out_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) out",
CLEAR_STR
@@ -6445,6 +6774,18 @@ ALIAS (clear_bgp_peer_soft_out,
"BGP neighbor on interface to clear\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_bgp_peer_soft_out,
+ clear_bgp_instance_ipv6_peer_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD) out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_peer_group_soft_out,
clear_ip_bgp_peer_group_soft_out_cmd,
"clear ip bgp peer-group WORD soft out",
@@ -6456,11 +6797,27 @@ DEFUN (clear_ip_bgp_peer_group_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_ip_bgp_peer_group_soft_out,
+ clear_ip_bgp_instance_peer_group_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_ip_bgp_peer_group_soft_out,
clear_ip_bgp_peer_group_out_cmd,
"clear ip bgp peer-group WORD out",
CLEAR_STR
@@ -6470,6 +6827,17 @@ ALIAS (clear_ip_bgp_peer_group_soft_out,
"BGP peer-group name\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_peer_group_soft_out,
+ clear_ip_bgp_instance_peer_group_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_peer_group_ipv4_soft_out,
clear_ip_bgp_peer_group_ipv4_soft_out_cmd,
"clear ip bgp peer-group WORD ipv4 (unicast|multicast) soft out",
@@ -6492,6 +6860,29 @@ DEFUN (clear_ip_bgp_peer_group_ipv4_soft_out,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft_out,
+ clear_ip_bgp_instance_peer_group_ipv4_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD ipv4 (unicast|multicast) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_group,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+}
+
ALIAS (clear_ip_bgp_peer_group_ipv4_soft_out,
clear_ip_bgp_peer_group_ipv4_out_cmd,
"clear ip bgp peer-group WORD ipv4 (unicast|multicast) out",
@@ -6505,6 +6896,20 @@ ALIAS (clear_ip_bgp_peer_group_ipv4_soft_out,
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_instance_peer_group_ipv4_soft_out,
+ clear_ip_bgp_instance_peer_group_ipv4_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD ipv4 (unicast|multicast) out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_bgp_peer_group_soft_out,
clear_bgp_peer_group_soft_out_cmd,
"clear bgp peer-group WORD soft out",
@@ -6515,11 +6920,26 @@ DEFUN (clear_bgp_peer_group_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_bgp_peer_group_soft_out,
+ clear_bgp_instance_peer_group_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_group_soft_out,
clear_bgp_ipv6_peer_group_soft_out_cmd,
"clear bgp ipv6 peer-group WORD soft out",
CLEAR_STR
@@ -6531,6 +6951,18 @@ ALIAS (clear_bgp_peer_group_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_peer_group_soft_out,
+ clear_bgp_instance_ipv6_peer_group_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_group_soft_out,
clear_bgp_peer_group_out_cmd,
"clear bgp peer-group WORD out",
CLEAR_STR
@@ -6540,6 +6972,16 @@ ALIAS (clear_bgp_peer_group_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_peer_group_soft_out,
+ clear_bgp_instance_peer_group_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_peer_group_soft_out,
clear_bgp_ipv6_peer_group_out_cmd,
"clear bgp ipv6 peer-group WORD out",
CLEAR_STR
@@ -6549,6 +6991,17 @@ ALIAS (clear_bgp_peer_group_soft_out,
"BGP peer-group name\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_bgp_peer_group_soft_out,
+ clear_bgp_instance_ipv6_peer_group_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_external_soft_out,
clear_ip_bgp_external_soft_out_cmd,
"clear ip bgp external soft out",
@@ -6559,12 +7012,27 @@ DEFUN (clear_ip_bgp_external_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_OUT, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_OUT, NULL);
}
ALIAS (clear_ip_bgp_external_soft_out,
- clear_ip_bgp_external_out_cmd,
+ clear_ip_bgp_instance_external_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_ip_bgp_external_soft_out,
+ clear_ip_bgp_external_out_cmd,
"clear ip bgp external out",
CLEAR_STR
IP_STR
@@ -6572,6 +7040,16 @@ ALIAS (clear_ip_bgp_external_soft_out,
"Clear all external peers\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_external_soft_out,
+ clear_ip_bgp_instance_external_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_external_ipv4_soft_out,
clear_ip_bgp_external_ipv4_soft_out_cmd,
"clear ip bgp external ipv4 (unicast|multicast) soft out",
@@ -6593,6 +7071,28 @@ DEFUN (clear_ip_bgp_external_ipv4_soft_out,
BGP_CLEAR_SOFT_OUT, NULL);
}
+DEFUN (clear_ip_bgp_instance_external_ipv4_soft_out,
+ clear_ip_bgp_instance_external_ipv4_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external ipv4 (unicast|multicast) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+{
+ if (strncmp (argv[2], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_external,
+ BGP_CLEAR_SOFT_OUT, NULL);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_OUT, NULL);
+}
+
ALIAS (clear_ip_bgp_external_ipv4_soft_out,
clear_ip_bgp_external_ipv4_out_cmd,
"clear ip bgp external ipv4 (unicast|multicast) out",
@@ -6605,6 +7105,19 @@ ALIAS (clear_ip_bgp_external_ipv4_soft_out,
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_instance_external_ipv4_soft_out,
+ clear_ip_bgp_instance_external_ipv4_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external ipv4 (unicast|multicast) out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_bgp_external_soft_out,
clear_bgp_external_soft_out_cmd,
"clear bgp external soft out",
@@ -6614,11 +7127,25 @@ DEFUN (clear_bgp_external_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_OUT, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_OUT, NULL);
}
ALIAS (clear_bgp_external_soft_out,
+ clear_bgp_instance_external_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_external_soft_out,
clear_bgp_ipv6_external_soft_out_cmd,
"clear bgp ipv6 external soft out",
CLEAR_STR
@@ -6629,6 +7156,17 @@ ALIAS (clear_bgp_external_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_external_soft_out,
+ clear_bgp_instance_ipv6_external_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_external_soft_out,
clear_bgp_external_out_cmd,
"clear bgp external out",
CLEAR_STR
@@ -6637,6 +7175,15 @@ ALIAS (clear_bgp_external_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_external_soft_out,
+ clear_bgp_instance_external_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_external_soft_out,
clear_bgp_ipv6_external_out_cmd,
"clear bgp ipv6 external WORD out",
CLEAR_STR
@@ -6645,6 +7192,16 @@ ALIAS (clear_bgp_external_soft_out,
"Clear all external peers\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_bgp_external_soft_out,
+ clear_bgp_instance_ipv6_external_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external WORD out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_as_soft_out,
clear_ip_bgp_as_soft_out_cmd,
"clear ip bgp " CMD_AS_RANGE " soft out",
@@ -6655,11 +7212,26 @@ DEFUN (clear_ip_bgp_as_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_ip_bgp_as_soft_out,
+ clear_ip_bgp_instance_as_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_ip_bgp_as_soft_out,
clear_ip_bgp_as_out_cmd,
"clear ip bgp " CMD_AS_RANGE " out",
CLEAR_STR
@@ -6668,6 +7240,16 @@ ALIAS (clear_ip_bgp_as_soft_out,
"Clear peers with the AS number\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_as_soft_out,
+ clear_ip_bgp_instance_as_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_as_ipv4_soft_out,
clear_ip_bgp_as_ipv4_soft_out_cmd,
"clear ip bgp " CMD_AS_RANGE " ipv4 (unicast|multicast) soft out",
@@ -6689,6 +7271,28 @@ DEFUN (clear_ip_bgp_as_ipv4_soft_out,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_as_ipv4_soft_out,
+ clear_ip_bgp_instance_as_ipv4_soft_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " ipv4 (unicast|multicast) soft out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_as,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+}
+
ALIAS (clear_ip_bgp_as_ipv4_soft_out,
clear_ip_bgp_as_ipv4_out_cmd,
"clear ip bgp " CMD_AS_RANGE " ipv4 (unicast|multicast) out",
@@ -6701,6 +7305,19 @@ ALIAS (clear_ip_bgp_as_ipv4_soft_out,
"Address Family modifier\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_ip_bgp_instance_as_ipv4_soft_out,
+ clear_ip_bgp_instance_as_ipv4_out_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " ipv4 (unicast|multicast) out",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_OUT_STR)
+
DEFUN (clear_ip_bgp_as_vpnv4_soft_out,
clear_ip_bgp_as_vpnv4_soft_out_cmd,
"clear ip bgp " CMD_AS_RANGE " vpnv4 unicast soft out",
@@ -6737,11 +7354,25 @@ DEFUN (clear_bgp_as_soft_out,
BGP_SOFT_STR
BGP_SOFT_OUT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_OUT, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_OUT, argv[0]);
}
ALIAS (clear_bgp_as_soft_out,
+ clear_bgp_instance_as_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_as_soft_out,
clear_bgp_ipv6_as_soft_out_cmd,
"clear bgp ipv6 " CMD_AS_RANGE " soft out",
CLEAR_STR
@@ -6752,6 +7383,17 @@ ALIAS (clear_bgp_as_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_as_soft_out,
+ clear_bgp_instance_ipv6_as_soft_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE " soft out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_as_soft_out,
clear_bgp_as_out_cmd,
"clear bgp " CMD_AS_RANGE " out",
CLEAR_STR
@@ -6760,6 +7402,15 @@ ALIAS (clear_bgp_as_soft_out,
BGP_SOFT_OUT_STR)
ALIAS (clear_bgp_as_soft_out,
+ clear_bgp_instance_as_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_OUT_STR)
+
+ALIAS (clear_bgp_as_soft_out,
clear_bgp_ipv6_as_out_cmd,
"clear bgp ipv6 " CMD_AS_RANGE " out",
CLEAR_STR
@@ -6768,6 +7419,16 @@ ALIAS (clear_bgp_as_soft_out,
"Clear peers with the AS number\n"
BGP_SOFT_OUT_STR)
+ALIAS (clear_bgp_as_soft_out,
+ clear_bgp_instance_ipv6_as_out_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE " out",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n"
+ BGP_SOFT_OUT_STR)
+
/* Inbound soft-reconfiguration */
DEFUN (clear_ip_bgp_all_soft_in,
clear_ip_bgp_all_soft_in_cmd,
@@ -6807,6 +7468,16 @@ ALIAS (clear_ip_bgp_all_soft_in,
"Clear all peers\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_all_soft_in,
+ clear_ip_bgp_instance_all_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_all_in_prefix_filter,
clear_ip_bgp_all_in_prefix_filter_cmd,
"clear ip bgp * in prefix-filter",
@@ -6825,18 +7496,6 @@ DEFUN (clear_ip_bgp_all_in_prefix_filter,
BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
}
-ALIAS (clear_ip_bgp_all_in_prefix_filter,
- clear_ip_bgp_instance_all_in_prefix_filter_cmd,
- "clear ip bgp " BGP_INSTANCE_CMD " * in prefix-filter",
- CLEAR_STR
- IP_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all peers\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-
-
DEFUN (clear_ip_bgp_all_ipv4_soft_in,
clear_ip_bgp_all_ipv4_soft_in_cmd,
"clear ip bgp * ipv4 (unicast|multicast) soft in",
@@ -6858,18 +7517,6 @@ DEFUN (clear_ip_bgp_all_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, NULL);
}
-ALIAS (clear_ip_bgp_all_ipv4_soft_in,
- clear_ip_bgp_all_ipv4_in_cmd,
- "clear ip bgp * ipv4 (unicast|multicast) in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_IN_STR)
-
DEFUN (clear_ip_bgp_instance_all_ipv4_soft_in,
clear_ip_bgp_instance_all_ipv4_soft_in_cmd,
"clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) soft in",
@@ -6892,9 +7539,9 @@ DEFUN (clear_ip_bgp_instance_all_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, NULL);
}
-DEFUN (clear_ip_bgp_all_ipv4_in_prefix_filter,
- clear_ip_bgp_all_ipv4_in_prefix_filter_cmd,
- "clear ip bgp * ipv4 (unicast|multicast) in prefix-filter",
+ALIAS (clear_ip_bgp_all_ipv4_soft_in,
+ clear_ip_bgp_all_ipv4_in_cmd,
+ "clear ip bgp * ipv4 (unicast|multicast) in",
CLEAR_STR
IP_STR
BGP_STR
@@ -6902,20 +7549,24 @@ DEFUN (clear_ip_bgp_all_ipv4_in_prefix_filter,
"Address family\n"
"Address Family modifier\n"
"Address Family modifier\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- if (strncmp (argv[0], "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
+ BGP_SOFT_IN_STR)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
+ALIAS (clear_ip_bgp_instance_all_ipv4_soft_in,
+ clear_ip_bgp_instance_all_ipv4_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_IN_STR)
-DEFUN (clear_ip_bgp_instance_all_ipv4_in_prefix_filter,
- clear_ip_bgp_instance_all_ipv4_in_prefix_filter_cmd,
- "clear ip bgp " BGP_INSTANCE_CMD " * ipv4 (unicast|multicast) in prefix-filter",
+DEFUN (clear_ip_bgp_all_ipv4_in_prefix_filter,
+ clear_ip_bgp_all_ipv4_in_prefix_filter_cmd,
+ "clear ip bgp * ipv4 (unicast|multicast) in prefix-filter",
CLEAR_STR
IP_STR
BGP_STR
@@ -6926,12 +7577,12 @@ DEFUN (clear_ip_bgp_instance_all_ipv4_in_prefix_filter,
BGP_SOFT_IN_STR
"Push out prefix-list ORF and do inbound soft reconfig\n")
{
- if (strncmp (argv[2], "m", 1) == 0)
- return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
+ if (strncmp (argv[0], "m", 1) == 0)
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_all,
+ BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
- return bgp_clear_vty (vty, argv[0], AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
+ return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
+ BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
}
DEFUN (clear_ip_bgp_all_vpnv4_soft_in,
@@ -6999,6 +7650,17 @@ ALIAS (clear_bgp_all_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_all_soft_in,
+ clear_bgp_instance_ipv6_all_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 * soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_all_soft_in,
clear_bgp_all_in_cmd,
"clear bgp * in",
CLEAR_STR
@@ -7007,6 +7669,15 @@ ALIAS (clear_bgp_all_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_all_soft_in,
+ clear_bgp_instance_all_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " * in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all peers\n"
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_all_soft_in,
clear_bgp_ipv6_all_in_cmd,
"clear bgp ipv6 * in",
CLEAR_STR
@@ -7015,6 +7686,16 @@ ALIAS (clear_bgp_all_soft_in,
"Clear all peers\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_bgp_all_soft_in,
+ clear_bgp_instance_ipv6_all_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 * in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all peers\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_bgp_all_in_prefix_filter,
clear_bgp_all_in_prefix_filter_cmd,
"clear bgp * in prefix-filter",
@@ -7049,11 +7730,27 @@ DEFUN (clear_ip_bgp_peer_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_ip_bgp_peer_soft_in,
+ clear_ip_bgp_instance_peer_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_ip_bgp_peer_soft_in,
clear_ip_bgp_peer_in_cmd,
"clear ip bgp (A.B.C.D|WORD) in",
CLEAR_STR
@@ -7063,6 +7760,17 @@ ALIAS (clear_ip_bgp_peer_soft_in,
"BGP neighbor on interface to clear\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_peer_soft_in,
+ clear_ip_bgp_instance_peer_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_peer_in_prefix_filter,
clear_ip_bgp_peer_in_prefix_filter_cmd,
"clear ip bgp (A.B.C.D|WORD) in prefix-filter",
@@ -7100,6 +7808,29 @@ DEFUN (clear_ip_bgp_peer_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_ipv4_soft_in,
+ clear_ip_bgp_instance_peer_ipv4_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) ipv4 (unicast|multicast) soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_peer,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+}
+
ALIAS (clear_ip_bgp_peer_ipv4_soft_in,
clear_ip_bgp_peer_ipv4_in_cmd,
"clear ip bgp (A.B.C.D|WORD) ipv4 (unicast|multicast) in",
@@ -7113,6 +7844,20 @@ ALIAS (clear_ip_bgp_peer_ipv4_soft_in,
"Address Family modifier\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_instance_peer_ipv4_soft_in,
+ clear_ip_bgp_instance_peer_ipv4_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) ipv4 (unicast|multicast) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_peer_ipv4_in_prefix_filter,
clear_ip_bgp_peer_ipv4_in_prefix_filter_cmd,
"clear ip bgp (A.B.C.D|WORD) ipv4 (unicast|multicast) in prefix-filter",
@@ -7175,11 +7920,27 @@ DEFUN (clear_bgp_peer_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_bgp_peer_soft_in,
+ clear_bgp_instance_peer_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD) soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_soft_in,
clear_bgp_ipv6_peer_soft_in_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) soft in",
CLEAR_STR
@@ -7192,6 +7953,19 @@ ALIAS (clear_bgp_peer_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_peer_soft_in,
+ clear_bgp_instance_ipv6_peer_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD) soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_soft_in,
clear_bgp_peer_in_cmd,
"clear bgp (A.B.C.D|X:X::X:X|WORD) in",
CLEAR_STR
@@ -7202,6 +7976,17 @@ ALIAS (clear_bgp_peer_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_peer_soft_in,
+ clear_bgp_instance_peer_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD) in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_soft_in,
clear_bgp_ipv6_peer_in_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) in",
CLEAR_STR
@@ -7212,6 +7997,18 @@ ALIAS (clear_bgp_peer_soft_in,
"BGP neighbor on interface to clear\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_bgp_peer_soft_in,
+ clear_bgp_instance_ipv6_peer_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD) in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_bgp_peer_in_prefix_filter,
clear_bgp_peer_in_prefix_filter_cmd,
"clear bgp (A.B.C.D|X:X::X:X|WORD) in prefix-filter",
@@ -7250,11 +8047,27 @@ DEFUN (clear_ip_bgp_peer_group_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_ip_bgp_peer_group_soft_in,
+ clear_ip_bgp_instance_peer_group_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_ip_bgp_peer_group_soft_in,
clear_ip_bgp_peer_group_in_cmd,
"clear ip bgp peer-group WORD in",
CLEAR_STR
@@ -7264,6 +8077,17 @@ ALIAS (clear_ip_bgp_peer_group_soft_in,
"BGP peer-group name\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_peer_group_soft_in,
+ clear_ip_bgp_instance_peer_group_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_peer_group_in_prefix_filter,
clear_ip_bgp_peer_group_in_prefix_filter_cmd,
"clear ip bgp peer-group WORD in prefix-filter",
@@ -7301,6 +8125,29 @@ DEFUN (clear_ip_bgp_peer_group_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft_in,
+ clear_ip_bgp_instance_peer_group_ipv4_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD ipv4 (unicast|multicast) soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_group,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+}
+
ALIAS (clear_ip_bgp_peer_group_ipv4_soft_in,
clear_ip_bgp_peer_group_ipv4_in_cmd,
"clear ip bgp peer-group WORD ipv4 (unicast|multicast) in",
@@ -7314,6 +8161,20 @@ ALIAS (clear_ip_bgp_peer_group_ipv4_soft_in,
"Address Family modifier\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_instance_peer_group_ipv4_soft_in,
+ clear_ip_bgp_instance_peer_group_ipv4_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD ipv4 (unicast|multicast) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_peer_group_ipv4_in_prefix_filter,
clear_ip_bgp_peer_group_ipv4_in_prefix_filter_cmd,
"clear ip bgp peer-group WORD ipv4 (unicast|multicast) in prefix-filter",
@@ -7346,11 +8207,26 @@ DEFUN (clear_bgp_peer_group_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_bgp_peer_group_soft_in,
+ clear_bgp_instance_peer_group_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_group_soft_in,
clear_bgp_ipv6_peer_group_soft_in_cmd,
"clear bgp ipv6 peer-group WORD soft in",
CLEAR_STR
@@ -7362,6 +8238,18 @@ ALIAS (clear_bgp_peer_group_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_peer_group_soft_in,
+ clear_bgp_instance_ipv6_peer_group_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_group_soft_in,
clear_bgp_peer_group_in_cmd,
"clear bgp peer-group WORD in",
CLEAR_STR
@@ -7371,6 +8259,16 @@ ALIAS (clear_bgp_peer_group_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_peer_group_soft_in,
+ clear_bgp_instance_peer_group_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_peer_group_soft_in,
clear_bgp_ipv6_peer_group_in_cmd,
"clear bgp ipv6 peer-group WORD in",
CLEAR_STR
@@ -7380,6 +8278,17 @@ ALIAS (clear_bgp_peer_group_soft_in,
"BGP peer-group name\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_bgp_peer_group_soft_in,
+ clear_bgp_instance_ipv6_peer_group_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_bgp_peer_group_in_prefix_filter,
clear_bgp_peer_group_in_prefix_filter_cmd,
"clear bgp peer-group WORD in prefix-filter",
@@ -7415,11 +8324,26 @@ DEFUN (clear_ip_bgp_external_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_IN, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_IN, NULL);
}
ALIAS (clear_ip_bgp_external_soft_in,
+ clear_ip_bgp_instance_external_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_ip_bgp_external_soft_in,
clear_ip_bgp_external_in_cmd,
"clear ip bgp external in",
CLEAR_STR
@@ -7428,6 +8352,16 @@ ALIAS (clear_ip_bgp_external_soft_in,
"Clear all external peers\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_external_soft_in,
+ clear_ip_bgp_instance_external_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_external_in_prefix_filter,
clear_ip_bgp_external_in_prefix_filter_cmd,
"clear ip bgp external in prefix-filter",
@@ -7463,6 +8397,28 @@ DEFUN (clear_ip_bgp_external_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, NULL);
}
+DEFUN (clear_ip_bgp_instance_external_ipv4_soft_in,
+ clear_ip_bgp_instance_external_ipv4_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external ipv4 (unicast|multicast) soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+{
+ if (strncmp (argv[2], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_external,
+ BGP_CLEAR_SOFT_IN, NULL);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_IN, NULL);
+}
+
ALIAS (clear_ip_bgp_external_ipv4_soft_in,
clear_ip_bgp_external_ipv4_in_cmd,
"clear ip bgp external ipv4 (unicast|multicast) in",
@@ -7475,6 +8431,19 @@ ALIAS (clear_ip_bgp_external_ipv4_soft_in,
"Address Family modifier\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_instance_external_ipv4_soft_in,
+ clear_ip_bgp_instance_external_ipv4_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external ipv4 (unicast|multicast) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_external_ipv4_in_prefix_filter,
clear_ip_bgp_external_ipv4_in_prefix_filter_cmd,
"clear ip bgp external ipv4 (unicast|multicast) in prefix-filter",
@@ -7505,11 +8474,25 @@ DEFUN (clear_bgp_external_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_IN, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_IN, NULL);
}
ALIAS (clear_bgp_external_soft_in,
+ clear_bgp_instance_external_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_external_soft_in,
clear_bgp_ipv6_external_soft_in_cmd,
"clear bgp ipv6 external soft in",
CLEAR_STR
@@ -7520,6 +8503,17 @@ ALIAS (clear_bgp_external_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_external_soft_in,
+ clear_bgp_instance_ipv6_external_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_external_soft_in,
clear_bgp_external_in_cmd,
"clear bgp external in",
CLEAR_STR
@@ -7528,6 +8522,15 @@ ALIAS (clear_bgp_external_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_external_soft_in,
+ clear_bgp_instance_external_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_external_soft_in,
clear_bgp_ipv6_external_in_cmd,
"clear bgp ipv6 external WORD in",
CLEAR_STR
@@ -7536,6 +8539,16 @@ ALIAS (clear_bgp_external_soft_in,
"Clear all external peers\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_bgp_external_soft_in,
+ clear_bgp_instance_ipv6_external_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external WORD in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_bgp_external_in_prefix_filter,
clear_bgp_external_in_prefix_filter_cmd,
"clear bgp external in prefix-filter",
@@ -7569,11 +8582,26 @@ DEFUN (clear_ip_bgp_as_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_ip_bgp_as_soft_in,
+ clear_ip_bgp_instance_as_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_ip_bgp_as_soft_in,
clear_ip_bgp_as_in_cmd,
"clear ip bgp " CMD_AS_RANGE " in",
CLEAR_STR
@@ -7582,6 +8610,16 @@ ALIAS (clear_ip_bgp_as_soft_in,
"Clear peers with the AS number\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_as_soft_in,
+ clear_ip_bgp_instance_as_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_as_in_prefix_filter,
clear_ip_bgp_as_in_prefix_filter_cmd,
"clear ip bgp " CMD_AS_RANGE " in prefix-filter",
@@ -7617,6 +8655,28 @@ DEFUN (clear_ip_bgp_as_ipv4_soft_in,
BGP_CLEAR_SOFT_IN, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_as_ipv4_soft_in,
+ clear_ip_bgp_instance_as_ipv4_soft_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " ipv4 (unicast|multicast) soft in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_as,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+}
+
ALIAS (clear_ip_bgp_as_ipv4_soft_in,
clear_ip_bgp_as_ipv4_in_cmd,
"clear ip bgp " CMD_AS_RANGE " ipv4 (unicast|multicast) in",
@@ -7629,6 +8689,19 @@ ALIAS (clear_ip_bgp_as_ipv4_soft_in,
"Address Family modifier\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_ip_bgp_instance_as_ipv4_soft_in,
+ clear_ip_bgp_instance_as_ipv4_in_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " ipv4 (unicast|multicast) in",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_ip_bgp_as_ipv4_in_prefix_filter,
clear_ip_bgp_as_ipv4_in_prefix_filter_cmd,
"clear ip bgp " CMD_AS_RANGE " ipv4 (unicast|multicast) in prefix-filter",
@@ -7686,11 +8759,25 @@ DEFUN (clear_bgp_as_soft_in,
BGP_SOFT_STR
BGP_SOFT_IN_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_IN, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_IN, argv[0]);
}
ALIAS (clear_bgp_as_soft_in,
+ clear_bgp_instance_as_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_as_soft_in,
clear_bgp_ipv6_as_soft_in_cmd,
"clear bgp ipv6 " CMD_AS_RANGE " soft in",
CLEAR_STR
@@ -7701,6 +8788,17 @@ ALIAS (clear_bgp_as_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_as_soft_in,
+ clear_bgp_instance_ipv6_as_soft_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE " soft in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_as_soft_in,
clear_bgp_as_in_cmd,
"clear bgp " CMD_AS_RANGE " in",
CLEAR_STR
@@ -7709,6 +8807,15 @@ ALIAS (clear_bgp_as_soft_in,
BGP_SOFT_IN_STR)
ALIAS (clear_bgp_as_soft_in,
+ clear_bgp_instance_as_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_IN_STR)
+
+ALIAS (clear_bgp_as_soft_in,
clear_bgp_ipv6_as_in_cmd,
"clear bgp ipv6 " CMD_AS_RANGE " in",
CLEAR_STR
@@ -7717,6 +8824,16 @@ ALIAS (clear_bgp_as_soft_in,
"Clear peers with the AS number\n"
BGP_SOFT_IN_STR)
+ALIAS (clear_bgp_as_soft_in,
+ clear_bgp_instance_ipv6_as_in_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE " in",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n"
+ BGP_SOFT_IN_STR)
+
DEFUN (clear_bgp_as_in_prefix_filter,
clear_bgp_as_in_prefix_filter_cmd,
"clear bgp " CMD_AS_RANGE " in prefix-filter",
@@ -7835,10 +8952,10 @@ DEFUN (clear_bgp_all_soft,
{
if (argc == 2)
return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, argv[0]);
+ BGP_CLEAR_SOFT_BOTH, NULL);
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, argv[0]);
+ BGP_CLEAR_SOFT_BOTH, NULL);
}
ALIAS (clear_bgp_all_soft,
@@ -7859,6 +8976,16 @@ ALIAS (clear_bgp_all_soft,
"Clear all peers\n"
BGP_SOFT_STR)
+ALIAS (clear_bgp_all_soft,
+ clear_bgp_instance_ipv6_all_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 * soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all peers\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_peer_soft,
clear_ip_bgp_peer_soft_cmd,
"clear ip bgp (A.B.C.D|WORD) soft",
@@ -7869,10 +8996,25 @@ DEFUN (clear_ip_bgp_peer_soft,
"BGP neighbor on interface to clear\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+ALIAS (clear_ip_bgp_peer_soft,
+ clear_ip_bgp_instance_peer_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_peer_ipv4_soft,
clear_ip_bgp_peer_ipv4_soft_cmd,
"clear ip bgp (A.B.C.D|WORD) ipv4 (unicast|multicast) soft",
@@ -7894,6 +9036,28 @@ DEFUN (clear_ip_bgp_peer_ipv4_soft,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_ipv4_soft,
+ clear_ip_bgp_instance_peer_ipv4_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " (A.B.C.D|WORD) ipv4 (unicast|multicast) soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP neighbor on interface to clear\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Address Family Modifier\n"
+ BGP_SOFT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_peer,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+}
+
DEFUN (clear_ip_bgp_peer_vpnv4_soft,
clear_ip_bgp_peer_vpnv4_soft_cmd,
"clear ip bgp (A.B.C.D|WORD) vpnv4 unicast soft",
@@ -7920,11 +9084,26 @@ DEFUN (clear_bgp_peer_soft,
"BGP neighbor on interface to clear\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_peer,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_peer,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
ALIAS (clear_bgp_peer_soft,
+ clear_bgp_instance_peer_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " (A.B.C.D|X:X::X:X|WORD) soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR)
+
+ALIAS (clear_bgp_peer_soft,
clear_bgp_ipv6_peer_soft_cmd,
"clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) soft",
CLEAR_STR
@@ -7935,6 +9114,18 @@ ALIAS (clear_bgp_peer_soft,
"BGP neighbor on interface to clear\n"
BGP_SOFT_STR)
+ALIAS (clear_bgp_peer_soft,
+ clear_bgp_instance_ipv6_peer_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 (A.B.C.D|X:X::X:X|WORD) soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "BGP neighbor address to clear\n"
+ "BGP IPv6 neighbor to clear\n"
+ "BGP neighbor on interface to clear\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_peer_group_soft,
clear_ip_bgp_peer_group_soft_cmd,
"clear ip bgp peer-group WORD soft",
@@ -7945,10 +9136,25 @@ DEFUN (clear_ip_bgp_peer_group_soft,
"BGP peer-group name\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+ALIAS (clear_ip_bgp_peer_group_soft,
+ clear_ip_bgp_instance_peer_group_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_peer_group_ipv4_soft,
clear_ip_bgp_peer_group_ipv4_soft_cmd,
"clear ip bgp peer-group WORD ipv4 (unicast|multicast) soft",
@@ -7970,6 +9176,28 @@ DEFUN (clear_ip_bgp_peer_group_ipv4_soft,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft,
+ clear_ip_bgp_instance_peer_group_ipv4_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " peer-group WORD ipv4 (unicast|multicast) soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_group,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+}
+
DEFUN (clear_bgp_peer_group_soft,
clear_bgp_peer_group_soft_cmd,
"clear bgp peer-group WORD soft",
@@ -7979,11 +9207,25 @@ DEFUN (clear_bgp_peer_group_soft,
"BGP peer-group name\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_group,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_group,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
ALIAS (clear_bgp_peer_group_soft,
+ clear_bgp_instance_peer_group_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " peer-group WORD soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR)
+
+ALIAS (clear_bgp_peer_group_soft,
clear_bgp_ipv6_peer_group_soft_cmd,
"clear bgp ipv6 peer-group WORD soft",
CLEAR_STR
@@ -7993,6 +9235,17 @@ ALIAS (clear_bgp_peer_group_soft,
"BGP peer-group name\n"
BGP_SOFT_STR)
+ALIAS (clear_bgp_peer_group_soft,
+ clear_bgp_instance_ipv6_peer_group_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 peer-group WORD soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all members of peer-group\n"
+ "BGP peer-group name\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_external_soft,
clear_ip_bgp_external_soft_cmd,
"clear ip bgp external soft",
@@ -8002,10 +9255,24 @@ DEFUN (clear_ip_bgp_external_soft,
"Clear all external peers\n"
BGP_SOFT_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_BOTH, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_BOTH, NULL);
}
+ALIAS (clear_ip_bgp_external_soft,
+ clear_ip_bgp_instance_external_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_external_ipv4_soft,
clear_ip_bgp_external_ipv4_soft_cmd,
"clear ip bgp external ipv4 (unicast|multicast) soft",
@@ -8026,6 +9293,27 @@ DEFUN (clear_ip_bgp_external_ipv4_soft,
BGP_CLEAR_SOFT_BOTH, NULL);
}
+DEFUN (clear_ip_bgp_instance_external_ipv4_soft,
+ clear_ip_bgp_instance_external_ipv4_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " external ipv4 (unicast|multicast) soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR)
+{
+ if (strncmp (argv[2], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_external,
+ BGP_CLEAR_SOFT_BOTH, NULL);
+
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_BOTH, NULL);
+}
+
DEFUN (clear_bgp_external_soft,
clear_bgp_external_soft_cmd,
"clear bgp external soft",
@@ -8034,11 +9322,24 @@ DEFUN (clear_bgp_external_soft,
"Clear all external peers\n"
BGP_SOFT_STR)
{
+ if (argc == 2)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_external,
+ BGP_CLEAR_SOFT_BOTH, NULL);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_external,
BGP_CLEAR_SOFT_BOTH, NULL);
}
ALIAS (clear_bgp_external_soft,
+ clear_bgp_instance_external_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " external soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear all external peers\n"
+ BGP_SOFT_STR)
+
+ALIAS (clear_bgp_external_soft,
clear_bgp_ipv6_external_soft_cmd,
"clear bgp ipv6 external soft",
CLEAR_STR
@@ -8047,6 +9348,16 @@ ALIAS (clear_bgp_external_soft,
"Clear all external peers\n"
BGP_SOFT_STR)
+ALIAS (clear_bgp_external_soft,
+ clear_bgp_instance_ipv6_external_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 external soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear all external peers\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_as_soft,
clear_ip_bgp_as_soft_cmd,
"clear ip bgp " CMD_AS_RANGE " soft",
@@ -8056,10 +9367,24 @@ DEFUN (clear_ip_bgp_as_soft,
"Clear peers with the AS number\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+ALIAS (clear_ip_bgp_as_soft,
+ clear_ip_bgp_instance_as_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR)
+
DEFUN (clear_ip_bgp_as_ipv4_soft,
clear_ip_bgp_as_ipv4_soft_cmd,
"clear ip bgp " CMD_AS_RANGE " ipv4 (unicast|multicast) soft",
@@ -8080,6 +9405,27 @@ DEFUN (clear_ip_bgp_as_ipv4_soft,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
+DEFUN (clear_ip_bgp_instance_as_ipv4_soft,
+ clear_ip_bgp_instance_as_ipv4_soft_cmd,
+ "clear ip bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " ipv4 (unicast|multicast) soft",
+ CLEAR_STR
+ IP_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Address Family Modifier\n"
+ BGP_SOFT_STR)
+{
+ if (strncmp (argv[3], "m", 1) == 0)
+ return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_MULTICAST, clear_as,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
+ return bgp_clear_vty (vty, argv[1],AFI_IP, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+}
+
DEFUN (clear_ip_bgp_as_vpnv4_soft,
clear_ip_bgp_as_vpnv4_soft_cmd,
"clear ip bgp " CMD_AS_RANGE " vpnv4 unicast soft",
@@ -8103,11 +9449,24 @@ DEFUN (clear_bgp_as_soft,
"Clear peers with the AS number\n"
BGP_SOFT_STR)
{
+ if (argc == 3)
+ return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_as,
+ BGP_CLEAR_SOFT_BOTH, argv[2]);
+
return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_as,
BGP_CLEAR_SOFT_BOTH, argv[0]);
}
ALIAS (clear_bgp_as_soft,
+ clear_bgp_instance_as_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " " CMD_AS_RANGE " soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR)
+
+ALIAS (clear_bgp_as_soft,
clear_bgp_ipv6_as_soft_cmd,
"clear bgp ipv6 " CMD_AS_RANGE " soft",
CLEAR_STR
@@ -8116,6 +9475,16 @@ ALIAS (clear_bgp_as_soft,
"Clear peers with the AS number\n"
BGP_SOFT_STR)
+ALIAS (clear_bgp_as_soft,
+ clear_bgp_instance_ipv6_as_soft_cmd,
+ "clear bgp " BGP_INSTANCE_CMD " ipv6 " CMD_AS_RANGE " soft",
+ CLEAR_STR
+ BGP_STR
+ BGP_INSTANCE_HELP_STR
+ "Address family\n"
+ "Clear peers with the AS number\n"
+ BGP_SOFT_STR)
+
DEFUN (show_bgp_views,
show_bgp_views_cmd,
"show bgp views",
@@ -13237,57 +14606,85 @@ bgp_vty_init (void)
install_element (ENABLE_NODE, &clear_ip_bgp_all_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_cmd);
-#ifdef HAVE_IPV6
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_cmd);
+
install_element (ENABLE_NODE, &clear_bgp_all_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_cmd);
-#endif /* HAVE_IPV6 */
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_cmd);
/* "clear ip bgp neighbor soft in" */
install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_ipv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_ipv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_ipv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_ipv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_in_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_ipv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_in_cmd);
@@ -13295,126 +14692,198 @@ bgp_vty_init (void)
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_in_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_in_cmd);
-#ifdef HAVE_IPV6
+
install_element (ENABLE_NODE, &clear_bgp_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_all_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_all_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_all_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_in_prefix_filter_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_soft_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_in_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_in_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_in_prefix_filter_cmd);
-#endif /* HAVE_IPV6 */
/* clear ip bgp prefix */
install_element (ENABLE_NODE, &clear_ip_bgp_prefix_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_prefix_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_safi_prefix_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_safi_prefix_cmd);
/* "clear ip bgp neighbor soft out" */
install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_ipv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_ipv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_ipv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_ipv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_out_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_ipv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_out_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_out_cmd);
-#ifdef HAVE_IPV6
+
install_element (ENABLE_NODE, &clear_bgp_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_all_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_all_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_out_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_soft_out_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_out_cmd);
-#endif /* HAVE_IPV6 */
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_out_cmd);
/* "clear ip bgp neighbor soft" */
install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_instance_all_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_ipv4_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_ipv4_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_peer_group_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_external_ipv4_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_external_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_ipv4_soft_cmd);
+ install_element (ENABLE_NODE, &clear_ip_bgp_instance_as_ipv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_cmd);
install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_cmd);
-#ifdef HAVE_IPV6
+
install_element (ENABLE_NODE, &clear_bgp_all_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_instance_all_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_peer_group_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_external_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_external_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_as_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_as_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_all_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_all_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_peer_group_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_peer_group_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_external_soft_cmd);
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_external_soft_cmd);
install_element (ENABLE_NODE, &clear_bgp_ipv6_as_soft_cmd);
-#endif /* HAVE_IPV6 */
+ install_element (ENABLE_NODE, &clear_bgp_instance_ipv6_as_soft_cmd);
/* "show ip bgp summary" commands. */
install_element (VIEW_NODE, &show_ip_bgp_summary_cmd);
diff --git a/zebra/interface.c b/zebra/interface.c
index 0ea06d6f5a..38fe6988eb 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -498,6 +498,7 @@ if_install_connected (struct interface *ifp)
for (ALL_LIST_ELEMENTS (ifp->connected, node, next, ifc))
{
p = ifc->address;
+ zebra_interface_address_add_update (ifp, ifc);
if (p->family == AF_INET)
connected_up_ipv4 (ifp, ifc);
@@ -521,6 +522,7 @@ if_uninstall_connected (struct interface *ifp)
for (ALL_LIST_ELEMENTS (ifp->connected, node, next, ifc))
{
p = ifc->address;
+ zebra_interface_address_delete_update (ifp, ifc);
if (p->family == AF_INET)
connected_down_ipv4 (ifp, ifc);
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index ffab76bbe6..b95ef8462b 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -850,12 +850,6 @@ netlink_routing_table (struct sockaddr_nl *snl, struct nlmsghdr *h,
if (rtm->rtm_type != RTN_UNICAST)
return 0;
- table = rtm->rtm_table;
- if (!is_zebra_valid_kernel_table(table) && !is_zebra_main_routing_table(table))
- return 0;
-
- vrf_id = vrf_lookup_by_table(table);
-
len = h->nlmsg_len - NLMSG_LENGTH (sizeof (struct rtmsg));
if (len < 0)
return -1;
@@ -873,6 +867,21 @@ netlink_routing_table (struct sockaddr_nl *snl, struct nlmsghdr *h,
if (rtm->rtm_src_len != 0)
return 0;
+ /* Table corresponding to route. */
+ if (tb[RTA_TABLE])
+ table = *(int *) RTA_DATA (tb[RTA_TABLE]);
+ else
+ table = rtm->rtm_table;
+
+ /* Map to VRF */
+ vrf_id = vrf_lookup_by_table(table);
+ if (vrf_id == VRF_DEFAULT)
+ {
+ if (!is_zebra_valid_kernel_table(table) &&
+ !is_zebra_main_routing_table(table))
+ return 0;
+ }
+
/* Route which inserted by Zebra. */
if (rtm->rtm_protocol == RTPROT_ZEBRA)
flags |= ZEBRA_FLAG_SELFROUTE;
@@ -1045,12 +1054,6 @@ netlink_route_change (struct sockaddr_nl *snl, struct nlmsghdr *h,
return 0;
}
- table = rtm->rtm_table;
- if (!is_zebra_valid_kernel_table(table) && !is_zebra_main_routing_table(table))
- return 0;
-
- vrf_id = vrf_lookup_by_table(table);
-
len = h->nlmsg_len - NLMSG_LENGTH (sizeof (struct rtmsg));
if (len < 0)
return -1;
@@ -1076,6 +1079,21 @@ netlink_route_change (struct sockaddr_nl *snl, struct nlmsghdr *h,
return 0;
}
+ /* Table corresponding to route. */
+ if (tb[RTA_TABLE])
+ table = *(int *) RTA_DATA (tb[RTA_TABLE]);
+ else
+ table = rtm->rtm_table;
+
+ /* Map to VRF */
+ vrf_id = vrf_lookup_by_table(table);
+ if (vrf_id == VRF_DEFAULT)
+ {
+ if (!is_zebra_valid_kernel_table(table) &&
+ !is_zebra_main_routing_table(table))
+ return 0;
+ }
+
index = 0;
metric = 0;
dest = NULL;
@@ -1654,7 +1672,6 @@ netlink_route (int cmd, int family, void *dest, int length, void *gate,
req.n.nlmsg_flags = NLM_F_CREATE | NLM_F_REQUEST;
req.n.nlmsg_type = cmd;
req.r.rtm_family = family;
- req.r.rtm_table = table;
req.r.rtm_dst_len = length;
req.r.rtm_protocol = RTPROT_ZEBRA;
req.r.rtm_scope = RT_SCOPE_UNIVERSE;
@@ -1687,6 +1704,15 @@ netlink_route (int cmd, int family, void *dest, int length, void *gate,
if (dest)
addattr_l (&req.n, sizeof req, RTA_DST, dest, bytelen);
+ /* Table corresponding to this route. */
+ if (table < 256)
+ req.r.rtm_table = table;
+ else
+ {
+ req.r.rtm_table = RT_TABLE_UNSPEC;
+ addattr32(&req.n, sizeof req, RTA_TABLE, table);
+ }
+
if (!discard)
{
if (gate)
@@ -2071,7 +2097,6 @@ netlink_route_multipath (int cmd, struct prefix *p, struct rib *rib,
req.n.nlmsg_flags |= NLM_F_REPLACE;
req.n.nlmsg_type = cmd;
req.r.rtm_family = family;
- req.r.rtm_table = rib->table;
req.r.rtm_dst_len = p->prefixlen;
req.r.rtm_protocol = RTPROT_ZEBRA;
req.r.rtm_scope = RT_SCOPE_UNIVERSE;
@@ -2105,6 +2130,15 @@ netlink_route_multipath (int cmd, struct prefix *p, struct rib *rib,
*/
addattr32 (&req.n, sizeof req, RTA_PRIORITY, NL_DEFAULT_ROUTE_METRIC);
+ /* Table corresponding to this route. */
+ if (rib->table < 256)
+ req.r.rtm_table = rib->table;
+ else
+ {
+ req.r.rtm_table = RT_TABLE_UNSPEC;
+ addattr32(&req.n, sizeof req, RTA_TABLE, rib->table);
+ }
+
if (discard)
{
if (cmd == RTM_NEWROUTE)
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 9679afe068..8a57473e63 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2002,6 +2002,32 @@ rib_delnode (struct route_node *rn, struct rib *rib)
}
}
+/* Lookup the routing table in a VRF based on both VRF-Id and table-id.
+ * NOTE: Table-id is relevant only in the Default VRF.
+ */
+static struct route_table *
+zebra_vrf_table_with_table_id (afi_t afi, safi_t safi,
+ vrf_id_t vrf_id, u_int32_t table_id)
+{
+ struct route_table *table = NULL;
+
+ if (afi >= AFI_MAX || safi >= SAFI_MAX)
+ return NULL;
+
+ if (vrf_id == VRF_DEFAULT)
+ {
+ if (table_id == RT_TABLE_MAIN ||
+ table_id == zebrad.rtm_table_default)
+ table = zebra_vrf_table (afi, safi, vrf_id);
+ else
+ table = zebra_vrf_other_route_table (afi, table_id, vrf_id);
+ }
+ else
+ table = zebra_vrf_table (afi, safi, vrf_id);
+
+ return table;
+}
+
int
rib_add_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p,
struct in_addr *gate, struct in_addr *src,
@@ -2015,14 +2041,7 @@ rib_add_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p,
struct nexthop *nexthop;
/* Lookup table. */
- if ((table_id == RT_TABLE_MAIN) || (table_id == zebrad.rtm_table_default))
- {
- table = zebra_vrf_table (AFI_IP, safi, vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table (AFI_IP, table_id, vrf_id);
- }
+ table = zebra_vrf_table_with_table_id (AFI_IP, safi, vrf_id, table_id);
if (! table)
return 0;
@@ -2298,14 +2317,7 @@ rib_add_ipv4_multipath (struct prefix_ipv4 *p, struct rib *rib, safi_t safi)
int ret = 0;
/* Lookup table. */
- if ((rib->table == zebrad.rtm_table_default) || (rib->table == RT_TABLE_MAIN))
- {
- table = zebra_vrf_table (AFI_IP, safi, rib->vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table (AFI_IP, rib->table, rib->vrf_id);
- }
+ table = zebra_vrf_table_with_table_id (AFI_IP, safi, rib->vrf_id, rib->table);
if (! table)
return 0;
@@ -2390,14 +2402,7 @@ rib_delete_ipv4 (int type, u_short instance, int flags, struct prefix_ipv4 *p,
char buf2[INET6_ADDRSTRLEN];
/* Lookup table. */
- if ((table_id == RT_TABLE_MAIN) || (table_id == zebrad.rtm_table_default))
- {
- table = zebra_vrf_table (AFI_IP, safi, vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table(AFI_IP, table_id, vrf_id);
- }
+ table = zebra_vrf_table_with_table_id (AFI_IP, safi, vrf_id, table_id);
if (! table)
return 0;
@@ -2966,14 +2971,7 @@ rib_add_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,
struct nexthop *nexthop;
/* Lookup table. */
- if ((table_id == RT_TABLE_MAIN) || (table_id == zebrad.rtm_table_default))
- {
- table = zebra_vrf_table (AFI_IP6, safi, vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table(AFI_IP6, table_id, vrf_id);
- }
+ table = zebra_vrf_table_with_table_id (AFI_IP6, safi, vrf_id, table_id);
if (! table)
return 0;
@@ -3078,7 +3076,6 @@ rib_add_ipv6_multipath (struct prefix *p, struct rib *rib, safi_t safi,
struct rib *same = NULL;
struct nexthop *nexthop;
int ret = 0;
- unsigned int table_id = 0;
if (p->family == AF_INET)
{
@@ -3093,21 +3090,11 @@ rib_add_ipv6_multipath (struct prefix *p, struct rib *rib, safi_t safi,
}
else
{
- if (rib)
- table_id = rib->table;
- else
+ if (!rib)
return 0; /* why are we getting called with NULL rib */
/* Lookup table. */
- if ((table_id == RT_TABLE_MAIN) || (table_id == zebrad.rtm_table_default))
- {
- table = zebra_vrf_table (AFI_IP6, safi, rib->vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table(AFI_IP6, table_id, rib->vrf_id);
- }
-
+ table = zebra_vrf_table_with_table_id (AFI_IP6, safi, rib->vrf_id, rib->table);
if (! table)
return 0;
@@ -3215,14 +3202,7 @@ rib_delete_ipv6 (int type, u_short instance, int flags, struct prefix_ipv6 *p,
apply_mask_ipv6 (p);
/* Lookup table. */
- if ((table_id == RT_TABLE_MAIN) || (table_id == zebrad.rtm_table_default))
- {
- table = zebra_vrf_table (AFI_IP6, safi, vrf_id);
- }
- else
- {
- table = zebra_vrf_other_route_table(AFI_IP6, table_id, vrf_id);
- }
+ table = zebra_vrf_table_with_table_id (AFI_IP6, safi, vrf_id, table_id);
if (! table)
return 0;