static void
bgp_clear_star_soft_in (struct vty *vty, const char *name)
{
- bgp_clear_vty (vty,name, AFI_IP, SAFI_UNICAST, clear_all,
+ bgp_clear_vty (vty, name, AFI_IP, SAFI_UNICAST, clear_all,
BGP_CLEAR_SOFT_IN, NULL);
bgp_clear_vty (vty, name, AFI_IP6, SAFI_UNICAST, clear_all,
BGP_CLEAR_SOFT_IN, NULL);
return CMD_SUCCESS;
}
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp *",
- * CLEAR_STR
- * BGP_STR
- * "Clear all peers\n"
- *
- * "clear bgp <view|vrf> WORD ipv6 *",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear all peers\n"
- *
- * "clear bgp ipv6 *",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all peers\n"
- */
+// dwalton
+/* one clear bgp command to rule them all */
DEFUN (clear_ip_bgp_all,
clear_ip_bgp_all_cmd,
- "clear ip bgp [<view|vrf> WORD] *",
- CLEAR_STR
- IP_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all peers\n")
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, 0, 0, clear_all, BGP_CLEAR_SOFT_NONE, NULL);
-}
-
-/*
- * CHECK ME need ipv6 equivalent
- */
-DEFUN (clear_ip_bgp_peer,
- clear_ip_bgp_peer_cmd,
- "clear [ip] bgp [<view|vrf> WORD] <A.B.C.D|X:X::X:X|WORD|peer-group WORD>",
+ "clear [ip] bgp [<view|vrf> WORD] <*|A.B.C.D|X:X::X:X|WORD|(1-4294967295)|external|peer-group WORD> [<ipv4 unicast|ipv4 multicast|ipv6 unicast|vpnv4 unicast|encap unicast>] [<soft|soft in|soft out|in prefix-filter|in|out>]",
CLEAR_STR
IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
- "BGP neighbor IP address to clear\n"
+ "Clear all peers\n"
+ "BGP neighbor address to clear\n"
"BGP IPv6 neighbor to clear\n"
"BGP neighbor on interface to clear\n"
+ "Clear peers with the AS number\n"
+ "Clear all external peers\n"
"Clear all members of peer-group\n"
- "BGP peer-group name\n")
+ "BGP peer-group name\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ "Address family\n"
+ "Address Family modifier\n"
+ BGP_SOFT_STR
+ BGP_SOFT_STR
+ BGP_SOFT_IN_STR
+ BGP_SOFT_STR
+ BGP_SOFT_OUT_STR
+ BGP_SOFT_IN_STR
+ "Push out prefix-list ORF and do inbound soft reconfig\n"
+ BGP_SOFT_IN_STR
+ BGP_SOFT_OUT_STR)
{
int idx_ip = 1;
int idx_view_vrf = 3;
int idx_vrf = 4;
- int idx_peer = 5;
+ int idx_clr_sort = 5;
+ int idx_soft_in_out = argc - 1;
+ int idx_afi;
+ int idx_safi;
char *vrf = NULL;
- enum clear_sort clearer;
+ afi_t afi;
+ safi_t safi;
+ enum clear_sort clr_sort;
+ enum bgp_clear_type clr_type;
+ char *clr_arg = NULL;
- if (!strmatch(argv[idx_ip]->text, "ip"))
+ /*
+ * If the user does "clear ip bgp" then we default the afi safi to ipv4 unicast.
+ * If the user does "clear bgp" then we default the afi safi to ipv6 unicast.
+ * This may be over-written later in the command if they explicitly
+ * specify an afi safi.
+ */
+ if (strmatch(argv[idx_ip]->text, "ip"))
+ {
+ afi = AFI_IP;
+ safi = SAFI_UNICAST;
+ }
+ else
{
+ afi = AFI_IP6;
+ safi = SAFI_UNICAST;
idx_view_vrf--;
idx_vrf--;
- idx_peer--;
+ idx_clr_sort--;
}
-
- if (argv[idx_view_vrf]->type == WORD_TKN)
+
+ if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
vrf = argv[idx_vrf]->arg;
else
- idx_peer -= 2;
+ idx_clr_sort -= 2;
- /* peer-group WORD */
- if (argv[idx_peer]->type == WORD_TKN)
+ /* <*|A.B.C.D|X:X::X:X|WORD|(1-4294967295)|external> */
+ if (strmatch(argv[idx_clr_sort]->text, "*"))
{
- clearer = clear_group;
- idx_peer += 1;
+ clr_sort = clear_all;
}
- else
+ else if (argv[idx_clr_sort]->type == IPV4_TKN)
+ {
+ clr_sort = clear_peer;
+ clr_arg = argv[idx_clr_sort]->arg;
+ }
+ else if (argv[idx_clr_sort]->type == IPV6_TKN)
+ {
+ clr_sort = clear_peer;
+ clr_arg = argv[idx_clr_sort]->arg;
+ }
+ else if (argv[idx_clr_sort]->type == RANGE_TKN)
+ {
+ clr_sort = clear_as;
+ clr_arg = argv[idx_clr_sort]->arg;
+ }
+ else if (strmatch(argv[idx_clr_sort]->text, "external"))
{
- clearer = clear_peer;
+ clr_sort = clear_external;
}
+ else if (strmatch(argv[idx_clr_sort]->text, "peer-group"))
+ {
+ clr_sort = clear_group;
+ clr_arg = argv[idx_clr_sort + 1]->arg;
- return bgp_clear_vty (vty, vrf, 0, 0, clearer, BGP_CLEAR_SOFT_NONE, argv[idx_peer]->arg);
-}
+ if (! peer_group_lookup (vty->index, clr_arg))
+ {
+ vty_out (vty, "%% No such peer-group%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+ }
+ else if (argv[idx_clr_sort]->type == WORD_TKN)
+ {
+ if (peer_lookup_by_conf_if (vty->index, argv[idx_clr_sort]->arg))
+ {
+ clr_sort = clear_peer;
+ clr_arg = argv[idx_clr_sort]->arg;
+ }
+ else
+ {
+ vty_out (vty, "%% No such neighbor%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+ }
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp <view|vrf> WORD ipv6 external",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- *
- * "clear bgp ipv6 external",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- */
-DEFUN (clear_ip_bgp_external,
- clear_ip_bgp_external_cmd,
- "clear [ip] bgp [<view|vrf> WORD] external",
- CLEAR_STR
- IP_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all external peers\n")
-{
- int idx_ip = 1;
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
+ /* soft, soft in, or soft out */
+ if (strmatch(argv[idx_soft_in_out]->text, "in"))
+ {
+ clr_type = BGP_CLEAR_SOFT_IN;
- if (!strmatch(argv[idx_ip]->text, "ip"))
+ if (strmatch(argv[idx_soft_in_out-1]->text, "soft"))
+ {
+ idx_afi = idx_soft_in_out - 3;
+ idx_safi = idx_soft_in_out - 2;
+ }
+ else
+ {
+ idx_afi = idx_soft_in_out - 2;
+ idx_safi = idx_soft_in_out - 1;
+ }
+ }
+ else if (strmatch(argv[idx_soft_in_out]->text, "out"))
{
- idx_view_vrf--;
- idx_vrf--;
+ clr_type = BGP_CLEAR_SOFT_OUT;
+
+ if (strmatch(argv[idx_soft_in_out-1]->text, "soft"))
+ {
+ idx_afi = idx_soft_in_out - 3;
+ idx_safi = idx_soft_in_out - 2;
+ }
+ else
+ {
+ idx_afi = idx_soft_in_out - 2;
+ idx_safi = idx_soft_in_out - 1;
+ }
+ }
+ else if (strmatch(argv[idx_soft_in_out]->text, "soft"))
+ {
+ clr_type = BGP_CLEAR_SOFT_BOTH;
+ idx_afi = idx_soft_in_out - 2;
+ idx_safi = idx_soft_in_out - 1;
+ }
+ else if (strmatch(argv[idx_soft_in_out]->text, "prefix-filter"))
+ {
+ clr_type = BGP_CLEAR_SOFT_IN_ORF_PREFIX;
+ idx_afi = idx_soft_in_out - 3;
+ idx_safi = idx_soft_in_out - 2;
+ }
+ else
+ {
+ clr_type = BGP_CLEAR_SOFT_NONE;
+ idx_afi = idx_soft_in_out - 1;
+ idx_safi = idx_soft_in_out;
}
- if (argv[idx_view_vrf]->type == WORD_TKN)
- vrf = argv[idx_vrf]->arg;
+ /* afi safi */
+ if (strmatch(argv[idx_afi]->text, "ipv4"))
+ {
+ afi = AFI_IP;
+
+ if (strmatch(argv[idx_safi]->text, "unicast"))
+ safi = SAFI_UNICAST;
+ else if (strmatch(argv[idx_safi]->text, "multicast"))
+ safi = SAFI_MULTICAST;
+ }
+ else if (strmatch(argv[idx_afi]->text, "ipv6"))
+ {
+ afi = AFI_IP6;
+
+ if (strmatch(argv[idx_safi]->text, "unicast"))
+ safi = SAFI_UNICAST;
+ else if (strmatch(argv[idx_safi]->text, "multicast"))
+ safi = SAFI_MULTICAST;
+ }
+ else if (strmatch(argv[idx_afi]->text, "encap"))
+ {
+ afi = AFI_IP;
+ safi = SAFI_ENCAP;
+ }
+ else if (strmatch(argv[idx_afi]->text, "vpnv4"))
+ {
+ afi = AFI_IP;
+ safi = SAFI_MPLS_VPN;
+ }
- return bgp_clear_vty (vty, vrf, 0, 0, clear_external, BGP_CLEAR_SOFT_NONE, NULL);
+ return bgp_clear_vty (vty, vrf, afi, safi, clr_sort, clr_type, clr_arg);
}
DEFUN (clear_ip_bgp_prefix,
return bgp_clear_prefix (vty, vrf, argv[idx_ipv4_prefixlen]->arg, AFI_IP, SAFI_UNICAST, NULL);
}
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * need ipv6 options
- *
- * "clear bgp ipv6 (1-4294967295)",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- *
- * "clear bgp <view|vrf> WORD ipv6 (1-4294967295)",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- */
-DEFUN (clear_ip_bgp_as,
- clear_ip_bgp_as_cmd,
- "clear [ip] bgp [<view|vrf> WORD] (1-4294967295)",
+DEFUN (clear_bgp_ipv6_safi_prefix,
+ clear_bgp_ipv6_safi_prefix_cmd,
+ "clear bgp ipv6 <unicast|multicast> prefix X:X::X:X/M",
CLEAR_STR
- IP_STR
BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear peers with the AS number\n")
+ "Address family\n"
+ "Address Family Modifier\n"
+ "Clear bestpath and re-advertise\n"
+ "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
{
- int idx_ip = 1;
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- int idx_number = 3;
- char *vrf = NULL;
-
- if (!strmatch(argv[idx_ip]->text, "ip"))
- {
- idx_view_vrf--;
- idx_vrf--;
- idx_number--;
- }
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
+ int idx_safi = 3;
+ int idx_ipv6_prefixlen = 5;
+ if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
+ return bgp_clear_prefix (vty, NULL, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_MULTICAST, NULL);
else
- idx_number -= 2;
-
- return bgp_clear_vty (vty, vrf, 0, 0, clear_as, BGP_CLEAR_SOFT_NONE, argv[idx_number]->arg);
+ return bgp_clear_prefix (vty, NULL, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_UNICAST, NULL);
}
-/* Outbound soft-reconfiguration */
-DEFUN (clear_ip_bgp_all_soft_out,
- clear_ip_bgp_all_soft_out_cmd,
- "clear ip bgp [<view|vrf> WORD] * [soft] out",
+DEFUN (clear_bgp_instance_ipv6_safi_prefix,
+ clear_bgp_instance_ipv6_safi_prefix_cmd,
+ "clear bgp <view|vrf> WORD ipv6 <unicast|multicast> prefix X:X::X:X/M",
CLEAR_STR
- IP_STR
BGP_STR
BGP_INSTANCE_HELP_STR
- "Clear all peers\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_all, BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_ipv4_soft_out,
- clear_ip_bgp_all_ipv4_soft_out_cmd,
- "clear ip bgp * ipv4 <unicast|multicast> [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
"Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
+ "Address Family Modifier\n"
+ "Clear bestpath and re-advertise\n"
+ "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
{
+ int idx_word = 3;
int idx_safi = 5;
+ int idx_ipv6_prefixlen = 7;
if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
+ return bgp_clear_prefix (vty, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_MULTICAST, NULL);
+ else
+ return bgp_clear_prefix (vty, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_UNICAST, NULL);
}
-DEFUN (clear_ip_bgp_instance_all_ipv4_soft_out,
- clear_ip_bgp_instance_all_ipv4_soft_out_cmd,
- "clear ip bgp <view|vrf> WORD * ipv4 <unicast|multicast> [soft] out",
- CLEAR_STR
- IP_STR
+DEFUN (show_bgp_views,
+ show_bgp_views_cmd,
+ "show bgp views",
+ SHOW_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)
+ "Show the defined BGP views\n")
{
- int idx_view_vrf = 3;
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
+ struct list *inst = bm->bgp;
+ struct listnode *node;
+ struct bgp *bgp;
- return bgp_clear_vty (vty, argv[idx_view_vrf]->arg, 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,
- "clear ip bgp * vpnv4 unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_encap_soft_out,
- clear_ip_bgp_all_encap_soft_out_cmd,
- "clear ip bgp * encap unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n"
- "Soft reconfig outbound update\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-/* neither 'ipv6' or 'soft' do anything here */
-DEFUN (clear_bgp_all_soft_out,
- clear_bgp_all_soft_out_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] * [soft] out",
- CLEAR_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- IPV6_STR
- "Clear all peers\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-
-DEFUN (clear_bgp_ipv6_safi_prefix,
- clear_bgp_ipv6_safi_prefix_cmd,
- "clear bgp ipv6 <unicast|multicast> prefix X:X::X:X/M",
- CLEAR_STR
- BGP_STR
- "Address family\n"
- "Address Family Modifier\n"
- "Clear bestpath and re-advertise\n"
- "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n")
-{
- int idx_safi = 3;
- int idx_ipv6_prefixlen = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_prefix (vty, NULL, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_MULTICAST, NULL);
- else
- return bgp_clear_prefix (vty, NULL, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_UNICAST, NULL);
-}
-
-DEFUN (clear_bgp_instance_ipv6_safi_prefix,
- clear_bgp_instance_ipv6_safi_prefix_cmd,
- "clear bgp <view|vrf> WORD 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")
-{
- int idx_word = 3;
- int idx_safi = 5;
- int idx_ipv6_prefixlen = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_prefix (vty, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_MULTICAST, NULL);
- else
- return bgp_clear_prefix (vty, argv[idx_word]->arg, argv[idx_ipv6_prefixlen]->arg, AFI_IP6, SAFI_UNICAST, NULL);
-}
-
-DEFUN (clear_ip_bgp_peer_soft_out,
- clear_ip_bgp_peer_soft_out_cmd,
- "clear ip bgp [<view|vrf> WORD] <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)
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- int idx_ipv4_word = 5;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- idx_ipv4_word -= 2;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-}
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_ipv4_word = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_ipv4_soft_out,
- clear_ip_bgp_instance_peer_ipv4_soft_out_cmd,
- "clear ip bgp <view|vrf> WORD <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)
-{
- int idx_word = 4;
- int idx_ipv4_word = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-}
-
-/* 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,
- "clear ip bgp <A.B.C.D|WORD> vpnv4 unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP neighbor on interface to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_ipv4_word = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_encap_soft_out,
- clear_ip_bgp_peer_encap_soft_out_cmd,
- "clear ip bgp A.B.C.D encap unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n"
- "Soft reconfig outbound update\n")
-{
- int idx_ipv4 = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_ipv4]->arg);
-}
-
-DEFUN (clear_bgp_peer_soft_out,
- clear_bgp_peer_soft_out_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] <A.B.C.D|X:X::X:X|WORD> [soft] out",
- CLEAR_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- IPV6_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)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_ipv6 = 4;
- int idx_peer = 5;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- {
- idx_peer -= 2;
- idx_ipv6 -= 2;
- }
-
- if (! strmatch(argv[idx_ipv6]->text, "ipv6"))
- idx_peer--;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_OUT, argv[idx_peer]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_group_soft_out,
- clear_ip_bgp_peer_group_soft_out_cmd,
- "clear ip bgp [<view|vrf> WORD] 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)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_word = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- idx_word -= 2;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word]->arg);
-}
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_word = 4;
- int idx_safi = 6;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft_out,
- clear_ip_bgp_instance_peer_group_ipv4_soft_out_cmd,
- "clear ip bgp <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_word_2 = 6;
- int idx_safi = 8;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word_2]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word_2]->arg);
-}
-
-DEFUN (clear_bgp_peer_group_soft_out,
- clear_bgp_peer_group_soft_out_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] 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)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_ipv6 = 4;
- int idx_word = 6;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- {
- idx_ipv6 -= 2;
- idx_word -= 2;
- }
-
- if (!strmatch(argv[idx_ipv6]->text, "ipv6"))
- idx_word--;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_OUT, argv[idx_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_external_soft_out,
- clear_ip_bgp_external_soft_out_cmd,
- "clear ip bgp [<view|vrf> WORD] 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)
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-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",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- "Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_OUT, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
- 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 <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_OUT, NULL);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-DEFUN (clear_bgp_external_soft_out,
- clear_bgp_external_soft_out_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] external [soft] out",
- CLEAR_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all external peers\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_OUT, NULL);
-}
-
-DEFUN (clear_ip_bgp_as_soft_out,
- clear_ip_bgp_as_soft_out_cmd,
- "clear ip bgp [<view|vrf> WORD] (1-4294967295) [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)
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- int idx_asn = 5;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- idx_asn -= 2;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_asn]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_ipv4_soft_out,
- clear_ip_bgp_as_ipv4_soft_out_cmd,
- "clear ip bgp (1-4294967295) ipv4 <unicast|multicast> [soft] out",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_number = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_as_ipv4_soft_out,
- clear_ip_bgp_instance_as_ipv4_soft_out_cmd,
- "clear ip bgp <view|vrf> WORD (1-4294967295) 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)
-{
- int idx_word = 4;
- int idx_number = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_vpnv4_soft_out,
- clear_ip_bgp_as_vpnv4_soft_out_cmd,
- "clear ip bgp (1-4294967295) vpnv4 unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_encap_soft_out,
- clear_ip_bgp_as_encap_soft_out_cmd,
- "clear ip bgp (1-4294967295) encap unicast [soft] out",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family modifier\n"
- "Soft reconfig\n"
- "Soft reconfig outbound update\n")
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_number]->arg);
-}
-
-DEFUN (clear_bgp_as_soft_out,
- clear_bgp_as_soft_out_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] (1-4294967295) [soft] out",
- CLEAR_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- IPV6_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_STR
- BGP_SOFT_OUT_STR)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_asn = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- idx_asn -= 2;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_OUT, argv[idx_asn]->arg);
-}
-
-
-/* Inbound soft-reconfiguration */
-DEFUN (clear_ip_bgp_all_soft_in,
- clear_ip_bgp_all_soft_in_cmd,
- "clear ip bgp [<view|vrf> WORD] * [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all peers\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-
-DEFUN (clear_ip_bgp_all_in_prefix_filter,
- clear_ip_bgp_all_in_prefix_filter_cmd,
- "clear ip bgp [<view|vrf> WORD] * 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")
-{
- int idx_view_vrf = 3;
- int idx_vrf = 4;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_ipv4_soft_in,
- clear_ip_bgp_all_ipv4_soft_in_cmd,
- "clear ip bgp * ipv4 <unicast|multicast> [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-DEFUN (clear_ip_bgp_instance_all_ipv4_soft_in,
- clear_ip_bgp_instance_all_ipv4_soft_in_cmd,
- "clear ip bgp <view|vrf> WORD * ipv4 <unicast|multicast> [soft] 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_STR
- BGP_SOFT_IN_STR)
-{
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_all,
- 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",
- 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
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "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, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_vpnv4_soft_in,
- clear_ip_bgp_all_vpnv4_soft_in_cmd,
- "clear ip bgp * vpnv4 unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_encap_soft_in,
- clear_ip_bgp_all_encap_soft_in_cmd,
- "clear ip bgp * encap unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n"
- "Soft reconfig inbound update\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-DEFUN (clear_bgp_all_soft_in,
- clear_bgp_all_soft_in_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] * [soft] in",
- CLEAR_STR
- BGP_STR
- BGP_INSTANCE_HELP_STR
- "Clear all peers\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- // dwalton
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-DEFUN (clear_bgp_all_in_prefix_filter,
- clear_bgp_all_in_prefix_filter_cmd,
- "clear bgp [ipv6] * in prefix-filter",
- CLEAR_STR
- BGP_STR
- IPV6_STR
- "Clear all peers\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-DEFUN (clear_ip_bgp_peer_soft_in,
- clear_ip_bgp_peer_soft_in_cmd,
- "clear ip bgp [<view|vrf> WORD] <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)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_ipv4_word = 3;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- idx_ipv4_word -= 2;
-
- return bgp_clear_vty (vty, vrf, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-}
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP neighbor on interface to clear\n"
- BGP_SOFT_IN_STR
- "Push out the existing ORF prefix-list\n")
-{
- int idx_ipv4_word = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_ipv4_soft_in,
- clear_ip_bgp_peer_ipv4_soft_in_cmd,
- "clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> [soft] in",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_ipv4_word = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_ipv4_soft_in,
- clear_ip_bgp_instance_peer_ipv4_soft_in_cmd,
- "clear ip bgp <view|vrf> WORD <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)
-{
- int idx_word = 4;
- int idx_ipv4_word = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-}
-
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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
- "Push out the existing ORF prefix-list\n")
-{
- int idx_ipv4_word = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_vpnv4_soft_in,
- clear_ip_bgp_peer_vpnv4_soft_in_cmd,
- "clear ip bgp <A.B.C.D|WORD> vpnv4 unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP neighbor on interface to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_ipv4_word = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_encap_soft_in,
- clear_ip_bgp_peer_encap_soft_in_cmd,
- "clear ip bgp A.B.C.D encap unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n"
- "Soft reconfig inbound update\n")
-{
- int idx_ipv4 = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_ipv4]->arg);
-}
-
-DEFUN (clear_bgp_peer_soft_in,
- clear_bgp_peer_soft_in_cmd,
- "clear bgp [<view|vrf> WORD] [ipv6] <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)
-{
- int idx_view_vrf = 2;
- int idx_vrf = 3;
- int idx_ipv6 = 4;
- int idx_peer = 5;
- char *vrf = NULL;
-
- if (strmatch(argv[idx_view_vrf]->text, "view") || strmatch(argv[idx_view_vrf]->text, "vrf"))
- vrf = argv[idx_vrf]->arg;
- else
- {
- idx_ipv6 -= 2;
- idx_peer -= 2;
- }
-
- if (!strmatch(argv[idx_ipv6]->text, "ipv6"))
- idx_peer--;
-
- return bgp_clear_vty (vty, vrf, AFI_IP6, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN, argv[idx_peer]->arg);
-}
-
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) in prefix-filter",
- * CLEAR_STR
- * BGP_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
- * "Push out the existing ORF prefix-list\n"
- *
- */
-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",
- CLEAR_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP IPv6 neighbor to clear\n"
- "BGP neighbor on interface to clear\n"
- BGP_SOFT_IN_STR
- "Push out the existing ORF prefix-list\n")
-{
- int idx_peer = 2;
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_peer]->arg);
-}
-
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD 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
- *
- * "clear ip bgp peer-group WORD in",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_IN_STR
- *
- * "clear ip bgp <view|vrf> WORD 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_soft_in,
- clear_ip_bgp_peer_group_soft_in_cmd,
- "clear ip bgp peer-group WORD soft in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_word = 4;
- 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[idx_word]->arg);
-}
-
-
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_word = 4;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_group_ipv4_soft_in,
- clear_ip_bgp_peer_group_ipv4_soft_in_cmd,
- "clear ip bgp peer-group WORD ipv4 <unicast|multicast> [soft] in",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_word = 4;
- int idx_safi = 6;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_IN, argv[idx_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_IN, argv[idx_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft_in,
- clear_ip_bgp_instance_peer_group_ipv4_soft_in_cmd,
- "clear ip bgp <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_word_2 = 6;
- int idx_safi = 8;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_IN, argv[idx_word_2]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_IN, argv[idx_word_2]->arg);
-}
-
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_word = 4;
- int idx_safi = 6;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_word]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 peer-group WORD in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp peer-group WORD in",
- * CLEAR_STR
- * BGP_STR
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp ipv6 peer-group WORD soft in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_STR
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD 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_soft_in,
- clear_bgp_peer_group_soft_in_cmd,
- "clear bgp peer-group WORD soft in",
- CLEAR_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_word = 3;
- 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[idx_word]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 peer-group WORD in prefix-filter",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_IN_STR
- * "Push out prefix-list ORF and do inbound soft reconfig\n"
- *
- */
-DEFUN (clear_bgp_peer_group_in_prefix_filter,
- clear_bgp_peer_group_in_prefix_filter_cmd,
- "clear bgp peer-group WORD in prefix-filter",
- CLEAR_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_word = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_word]->arg);
-}
-
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp external in",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- * "clear ip bgp <view|vrf> WORD external in",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- * "clear ip bgp <view|vrf> WORD 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
- *
- */
-DEFUN (clear_ip_bgp_external_soft_in,
- clear_ip_bgp_external_soft_in_cmd,
- "clear ip bgp external soft in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- 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);
-}
-
-
-
-
-DEFUN (clear_ip_bgp_external_in_prefix_filter,
- clear_ip_bgp_external_in_prefix_filter_cmd,
- "clear ip bgp external in prefix-filter",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-DEFUN (clear_ip_bgp_external_ipv4_soft_in,
- clear_ip_bgp_external_ipv4_soft_in_cmd,
- "clear ip bgp external ipv4 <unicast|multicast> [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- "Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_IN, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
- 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 <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_IN, NULL);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_IN, NULL);
-}
-
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- "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")
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp <view|vrf> WORD external in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp <view|vrf> WORD external soft in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_STR
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 external WORD in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp ipv6 external soft in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_STR
- * BGP_SOFT_IN_STR
- *
- * "clear bgp ipv6 external WORD in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp external in",
- * CLEAR_STR
- * BGP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- *
- */
-DEFUN (clear_bgp_external_soft_in,
- clear_bgp_external_soft_in_cmd,
- "clear bgp external soft in",
- CLEAR_STR
- BGP_STR
- "Clear all external peers\n"
- 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);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 external in prefix-filter",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_IN_STR
- * "Push out prefix-list ORF and do inbound soft reconfig\n"
- *
- */
-DEFUN (clear_bgp_external_in_prefix_filter,
- clear_bgp_external_in_prefix_filter_cmd,
- "clear bgp external in prefix-filter",
- CLEAR_STR
- BGP_STR
- "Clear all external peers\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, NULL);
-}
-
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp (1-4294967295) in",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear ip bgp <view|vrf> WORD (1-4294967295) in",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear ip bgp <view|vrf> WORD (1-4294967295) 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
- *
- */
-DEFUN (clear_ip_bgp_as_soft_in,
- clear_ip_bgp_as_soft_in_cmd,
- "clear ip bgp (1-4294967295) soft in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_number = 3;
- 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[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_in_prefix_filter,
- clear_ip_bgp_as_in_prefix_filter_cmd,
- "clear ip bgp (1-4294967295) in prefix-filter",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_ipv4_soft_in,
- clear_ip_bgp_as_ipv4_soft_in_cmd,
- "clear ip bgp (1-4294967295) ipv4 <unicast|multicast> [soft] in",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_number = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_as_ipv4_soft_in,
- clear_ip_bgp_instance_as_ipv4_soft_in_cmd,
- "clear ip bgp <view|vrf> WORD (1-4294967295) 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)
-{
- int idx_word = 4;
- int idx_number = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_ipv4_in_prefix_filter,
- clear_ip_bgp_as_ipv4_in_prefix_filter_cmd,
- "clear ip bgp (1-4294967295) ipv4 <unicast|multicast> in prefix-filter",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "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")
-{
- int idx_number = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_vpnv4_soft_in,
- clear_ip_bgp_as_vpnv4_soft_in_cmd,
- "clear ip bgp (1-4294967295) vpnv4 unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family modifier\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_encap_soft_in,
- clear_ip_bgp_as_encap_soft_in_cmd,
- "clear ip bgp (1-4294967295) encap unicast [soft] in",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family modifier\n"
- "Soft reconfig\n"
- "Soft reconfig inbound update\n")
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
- BGP_CLEAR_SOFT_IN, argv[idx_number]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 (1-4294967295) in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD (1-4294967295) in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 (1-4294967295) in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp ipv6 (1-4294967295) soft in",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_STR
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD (1-4294967295) soft in",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_STR
- * BGP_SOFT_IN_STR
- *
- * "clear bgp (1-4294967295) in",
- * CLEAR_STR
- * BGP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 (1-4294967295) 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
- *
- */
-DEFUN (clear_bgp_as_soft_in,
- clear_bgp_as_soft_in_cmd,
- "clear bgp (1-4294967295) soft in",
- CLEAR_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_STR
- BGP_SOFT_IN_STR)
-{
- int idx_number = 2;
- 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[idx_number]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 (1-4294967295) in prefix-filter",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_IN_STR
- * "Push out prefix-list ORF and do inbound soft reconfig\n"
- *
- */
-DEFUN (clear_bgp_as_in_prefix_filter,
- clear_bgp_as_in_prefix_filter_cmd,
- "clear bgp (1-4294967295) in prefix-filter",
- CLEAR_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_IN_STR
- "Push out prefix-list ORF and do inbound soft reconfig\n")
-{
- int idx_number = 2;
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_IN_ORF_PREFIX, argv[idx_number]->arg);
-}
-
-
-/* Both soft-reconfiguration */
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD * soft",
- * CLEAR_STR
- * IP_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all peers\n"
- * BGP_SOFT_STR
- *
- */
-DEFUN (clear_ip_bgp_all_soft,
- clear_ip_bgp_all_soft_cmd,
- "clear ip bgp * soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- BGP_SOFT_STR)
-{
- if (argc == 2)
- return bgp_clear_vty (vty, argv[1], AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_ipv4_soft,
- clear_ip_bgp_all_ipv4_soft_cmd,
- "clear ip bgp * ipv4 <unicast|multicast> soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR)
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-DEFUN (clear_ip_bgp_instance_all_ipv4_soft,
- clear_ip_bgp_instance_all_ipv4_soft_cmd,
- "clear ip bgp <view|vrf> WORD * ipv4 <unicast|multicast> soft",
- 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_STR)
-{
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-DEFUN (clear_ip_bgp_all_vpnv4_soft,
- clear_ip_bgp_all_vpnv4_soft_cmd,
- "clear ip bgp * vpnv4 unicast soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR)
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_all,
- BGP_CLEAR_SOFT_BOTH, argv[0]);
-}
-
-DEFUN (clear_ip_bgp_all_encap_soft,
- clear_ip_bgp_all_encap_soft_cmd,
- "clear ip bgp * encap unicast soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all peers\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n")
-{
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_all,
- BGP_CLEAR_SOFT_BOTH, argv[0]);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 * soft",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all peers\n"
- * BGP_SOFT_STR
- *
- * "clear bgp <view|vrf> WORD * soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all peers\n"
- * BGP_SOFT_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 * soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear all peers\n"
- * BGP_SOFT_STR
- *
- */
-DEFUN (clear_bgp_all_soft,
- clear_bgp_all_soft_cmd,
- "clear bgp * soft",
- CLEAR_STR
- BGP_STR
- "Clear all peers\n"
- BGP_SOFT_STR)
-{
- if (argc == 2)
- return bgp_clear_vty (vty, argv[1], AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP6, SAFI_UNICAST, clear_all,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD (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_soft,
- clear_ip_bgp_peer_soft_cmd,
- "clear ip bgp <A.B.C.D|WORD> soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP neighbor on interface to clear\n"
- BGP_SOFT_STR)
-{
- int idx_ipv4_word = 3;
- 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[idx_ipv4_word]->arg);
-}
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_ipv4_word = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_ipv4_soft,
- clear_ip_bgp_instance_peer_ipv4_soft_cmd,
- "clear ip bgp <view|vrf> WORD <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)
-{
- int idx_word = 4;
- int idx_ipv4_word = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4_word]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4_word]->arg);
-}
-
-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",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP neighbor on interface to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR)
-{
- int idx_ipv4_word = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_peer_encap_soft,
- clear_ip_bgp_peer_encap_soft_cmd,
- "clear ip bgp A.B.C.D encap unicast soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n")
-{
- int idx_ipv4 = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_peer,
- BGP_CLEAR_SOFT_BOTH, argv[idx_ipv4]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 (A.B.C.D|X:X::X:X|WORD) soft",
- * CLEAR_STR
- * BGP_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
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp <view|vrf> WORD (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
- *
- */
-DEFUN (clear_bgp_peer_soft,
- clear_bgp_peer_soft_cmd,
- "clear bgp <A.B.C.D|X:X::X:X|WORD> soft",
- CLEAR_STR
- BGP_STR
- "BGP neighbor address to clear\n"
- "BGP IPv6 neighbor to clear\n"
- "BGP neighbor on interface to clear\n"
- BGP_SOFT_STR)
-{
- int idx_peer = 2;
- 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[idx_peer]->arg);
-}
-
-
-
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD 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_soft,
- clear_ip_bgp_peer_group_soft_cmd,
- "clear ip bgp peer-group WORD soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_STR)
-{
- int idx_word = 4;
- 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[idx_word]->arg);
-}
-
-
-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",
- CLEAR_STR
- IP_STR
- BGP_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)
-{
- int idx_word = 4;
- int idx_safi = 6;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_BOTH, argv[idx_word]->arg);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_BOTH, argv[idx_word]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_peer_group_ipv4_soft,
- clear_ip_bgp_instance_peer_group_ipv4_soft_cmd,
- "clear ip bgp <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_word_2 = 6;
- int idx_safi = 8;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_group,
- BGP_CLEAR_SOFT_BOTH, argv[idx_word_2]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_group,
- BGP_CLEAR_SOFT_BOTH, argv[idx_word_2]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp <view|vrf> WORD 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
- *
- * "clear bgp ipv6 peer-group WORD soft",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all members of peer-group\n"
- * "BGP peer-group name\n"
- * BGP_SOFT_STR
- *
- */
-DEFUN (clear_bgp_peer_group_soft,
- clear_bgp_peer_group_soft_cmd,
- "clear bgp peer-group WORD soft",
- CLEAR_STR
- BGP_STR
- "Clear all members of peer-group\n"
- "BGP peer-group name\n"
- BGP_SOFT_STR)
-{
- int idx_word = 3;
- 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[idx_word]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD 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_soft,
- clear_ip_bgp_external_soft_cmd,
- "clear ip bgp external soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "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);
-}
-
-
-DEFUN (clear_ip_bgp_external_ipv4_soft,
- clear_ip_bgp_external_ipv4_soft_cmd,
- "clear ip bgp external ipv4 <unicast|multicast> soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear all external peers\n"
- "Address family\n"
- "Address Family modifier\n"
- "Address Family modifier\n"
- BGP_SOFT_STR)
-{
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-DEFUN (clear_ip_bgp_instance_external_ipv4_soft,
- clear_ip_bgp_instance_external_ipv4_soft_cmd,
- "clear ip bgp <view|vrf> WORD 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)
-{
- int idx_word = 4;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_external,
- BGP_CLEAR_SOFT_BOTH, NULL);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_UNICAST, clear_external,
- BGP_CLEAR_SOFT_BOTH, NULL);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp <view|vrf> WORD external soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear all external peers\n"
- * BGP_SOFT_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 external soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_STR
- *
- * "clear bgp ipv6 external soft",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear all external peers\n"
- * BGP_SOFT_STR
- *
- */
-DEFUN (clear_bgp_external_soft,
- clear_bgp_external_soft_cmd,
- "clear bgp external soft",
- CLEAR_STR
- BGP_STR
- "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);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear ip bgp <view|vrf> WORD (1-4294967295) 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_soft,
- clear_ip_bgp_as_soft_cmd,
- "clear ip bgp (1-4294967295) soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_STR)
-{
- int idx_number = 3;
- 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[idx_number]->arg);
-}
-
-
-DEFUN (clear_ip_bgp_as_ipv4_soft,
- clear_ip_bgp_as_ipv4_soft_cmd,
- "clear ip bgp (1-4294967295) ipv4 <unicast|multicast> soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR)
-{
- int idx_number = 3;
- int idx_safi = 5;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, NULL,AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_instance_as_ipv4_soft,
- clear_ip_bgp_instance_as_ipv4_soft_cmd,
- "clear ip bgp <view|vrf> WORD (1-4294967295) 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)
-{
- int idx_word = 4;
- int idx_number = 5;
- int idx_safi = 7;
- if (strncmp (argv[idx_safi]->arg, "m", 1) == 0)
- return bgp_clear_vty (vty, argv[idx_word]->arg, AFI_IP, SAFI_MULTICAST, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-
- return bgp_clear_vty (vty, argv[idx_word]->arg,AFI_IP, SAFI_UNICAST, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_vpnv4_soft,
- clear_ip_bgp_as_vpnv4_soft_cmd,
- "clear ip bgp (1-4294967295) vpnv4 unicast soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family Modifier\n"
- BGP_SOFT_STR)
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-}
-
-DEFUN (clear_ip_bgp_as_encap_soft,
- clear_ip_bgp_as_encap_soft_cmd,
- "clear ip bgp (1-4294967295) encap unicast soft",
- CLEAR_STR
- IP_STR
- BGP_STR
- "Clear peers with the AS number\n"
- "Address family\n"
- "Address Family Modifier\n"
- "Soft reconfig\n")
-{
- int idx_number = 3;
- return bgp_clear_vty (vty, NULL, AFI_IP, SAFI_ENCAP, clear_as,
- BGP_CLEAR_SOFT_BOTH, argv[idx_number]->arg);
-}
-
-/*
- * CHECK ME - The following ALIASes need to be implemented in this DEFUN
- * "clear bgp ipv6 (1-4294967295) soft",
- * CLEAR_STR
- * BGP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_STR
- *
- * "clear bgp <view|vrf> WORD ipv6 (1-4294967295) soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Address family\n"
- * "Clear peers with the AS number\n"
- * BGP_SOFT_STR
- *
- * "clear bgp <view|vrf> WORD (1-4294967295) soft",
- * CLEAR_STR
- * BGP_STR
- * BGP_INSTANCE_HELP_STR
- * "Clear peers with the AS number\n"
- * BGP_SOFT_STR
- *
- */
-DEFUN (clear_bgp_as_soft,
- clear_bgp_as_soft_cmd,
- "clear bgp (1-4294967295) soft",
- CLEAR_STR
- BGP_STR
- "Clear peers with the AS number\n"
- BGP_SOFT_STR)
-{
- int idx_number = 2;
- 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[idx_number]->arg);
-}
-
-
-
-
-DEFUN (show_bgp_views,
- show_bgp_views_cmd,
- "show bgp views",
- SHOW_STR
- BGP_STR
- "Show the defined BGP views\n")
-{
- struct list *inst = bm->bgp;
- struct listnode *node;
- struct bgp *bgp;
-
- if (!bgp_option_check (BGP_OPT_MULTIPLE_INSTANCE))
- {
- vty_out (vty, "BGP Multiple Instance is not enabled%s", VTY_NEWLINE);
- return CMD_WARNING;
- }
-
- vty_out (vty, "Defined BGP views:%s", VTY_NEWLINE);
- for (ALL_LIST_ELEMENTS_RO(inst, node, bgp))
- {
- /* Skip VRFs. */
- if (bgp->inst_type == BGP_INSTANCE_TYPE_VRF)
- continue;
- vty_out (vty, "\t%s (AS%u)%s",
- bgp->name ? bgp->name : "(null)",
- bgp->as, VTY_NEWLINE);
- }
-
- return CMD_SUCCESS;
+ if (!bgp_option_check (BGP_OPT_MULTIPLE_INSTANCE))
+ {
+ vty_out (vty, "BGP Multiple Instance is not enabled%s", VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ vty_out (vty, "Defined BGP views:%s", VTY_NEWLINE);
+ for (ALL_LIST_ELEMENTS_RO(inst, node, bgp))
+ {
+ /* Skip VRFs. */
+ if (bgp->inst_type == BGP_INSTANCE_TYPE_VRF)
+ continue;
+ vty_out (vty, "\t%s (AS%u)%s",
+ bgp->name ? bgp->name : "(null)",
+ bgp->as, VTY_NEWLINE);
+ }
+
+ return CMD_SUCCESS;
}
DEFUN (show_bgp_vrfs,
/* "clear ip bgp commands" */
install_element (ENABLE_NODE, &clear_ip_bgp_all_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_external_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_all_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_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_peer_group_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_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_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_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_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_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_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_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_all_vpnv4_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_bgp_all_soft_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_peer_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_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_external_in_prefix_filter_cmd);
- install_element (ENABLE_NODE, &clear_bgp_as_soft_in_cmd);
- install_element (ENABLE_NODE, &clear_bgp_as_in_prefix_filter_cmd);
/* clear ip bgp prefix */
install_element (ENABLE_NODE, &clear_ip_bgp_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_peer_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_soft_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_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_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_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_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_all_vpnv4_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_vpnv4_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_vpnv4_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_bgp_all_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_bgp_peer_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_bgp_external_soft_out_cmd);
- install_element (ENABLE_NODE, &clear_bgp_as_soft_out_cmd);
-
- /* "clear ip bgp neighbor soft" */
- install_element (ENABLE_NODE, &clear_ip_bgp_all_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_group_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_external_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_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);
- install_element (ENABLE_NODE, &clear_ip_bgp_all_encap_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_peer_encap_soft_cmd);
- install_element (ENABLE_NODE, &clear_ip_bgp_as_encap_soft_cmd);
- install_element (ENABLE_NODE, &clear_bgp_all_soft_cmd);
- install_element (ENABLE_NODE, &clear_bgp_peer_soft_cmd);
- install_element (ENABLE_NODE, &clear_bgp_peer_group_soft_cmd);
- install_element (ENABLE_NODE, &clear_bgp_external_soft_cmd);
- install_element (ENABLE_NODE, &clear_bgp_as_soft_cmd);
-
/* "show ip bgp summary" commands. */
install_element (VIEW_NODE, &show_ip_bgp_summary_cmd);
install_element (VIEW_NODE, &show_ip_bgp_updgrps_cmd);