summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xfeed.x26
-rw-r--r--lib/command_match.c53
-rw-r--r--lib/command_match.h16
-rw-r--r--lib/command_parse.y1
-rw-r--r--lib/grammar_sandbox.c25
-rw-r--r--opt.txt905
6 files changed, 76 insertions, 950 deletions
diff --git a/feed.x b/feed.x
deleted file mode 100755
index cbff1944b..000000000
--- a/feed.x
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/expect
-
-# takes a list of command format strings
-# and feeds them to the test grammar
-# parser
-
-set f [open [lindex $argv 0]]
-set cmds [split [read $f] "\n"]
-close $f
-
-spawn vtysh
-
-foreach command $cmds {
- expect {
- "dell-s6000-16#" {
- send "grammar parse $command\r"
- }
- "Grammar error" {
- send_user "$command"
- send "exit\r"
- exit
- }
- }
-}
-
-interact
diff --git a/lib/command_match.c b/lib/command_match.c
index 285a776a7..d5efa3968 100644
--- a/lib/command_match.c
+++ b/lib/command_match.c
@@ -52,6 +52,9 @@ disambiguate_nodes (struct graph_node *, struct graph_node *, char *);
static struct list *
disambiguate (struct list *, struct list *, vector, unsigned int);
+int
+compare_completions (const void *, const void *);
+
/* token matcher prototypes */
static enum match_type
match_token (struct graph_node *, char *);
@@ -291,7 +294,7 @@ match_command_complete (struct graph_node *start, vector vline, struct list **co
*/
matcher_rv =
- idx + 1 == vector_active(vline) && next->count ?
+ idx == vector_active(vline) && next->count ?
MATCHER_OK :
MATCHER_NO_MATCH;
@@ -302,6 +305,54 @@ match_command_complete (struct graph_node *start, vector vline, struct list **co
}
/**
+ * Compare two completions. Tightly coupled to vector.
+ *
+ * @param[in] fst pointer to first item pointer in vector->index
+ * @param[in] snd pointer to second item poitner in vector->index
+ * @return integer compare code as determined by strcmp
+ */
+int
+compare_completions (const void *fst, const void *snd)
+{
+ const char *first = *((char **) fst);
+ const char *secnd = *((char **) snd);
+ return strcmp (first, secnd);
+}
+
+enum matcher_rv
+match_command_complete_str (struct graph_node *start,
+ vector vline,
+ vector completions)
+{
+ struct list *comps;
+ enum matcher_rv rv = match_command_complete (start, vline, &comps);
+
+ // quick n' dirty deduplication fn here, prolly like O(n^n)
+ struct listnode *ln;
+ struct graph_node *gn;
+ unsigned int i;
+ for (ALL_LIST_ELEMENTS_RO(comps,ln,gn))
+ {
+ // linear search for node text in completions vector
+ int exists = 0;
+ for (i = 0; i < vector_active (completions) && !exists; i++)
+ exists = !strcmp (gn->text, vector_slot (completions, i));
+
+ if (!exists)
+ vector_set (completions, XSTRDUP(MTYPE_TMP, gn->text));
+ }
+
+ // sort completions
+ qsort (completions->index,
+ vector_active (completions),
+ sizeof (void *),
+ &compare_completions);
+
+ list_delete (comps);
+ return rv;
+}
+
+/**
* Adds all children that are reachable by one parser hop to the given list.
* NUL_GN, SELECTOR_GN, and OPTION_GN nodes are treated as transparent.
*
diff --git a/lib/command_match.h b/lib/command_match.h
index 6804a0777..e8a408495 100644
--- a/lib/command_match.h
+++ b/lib/command_match.h
@@ -85,7 +85,7 @@ match_command (struct graph_node *start,
*
* @param[in] start the start node of the DFA to match against
* @param[in] vline vectorized input string
- * @param[in] completions pointer to possible completions
+ * @param[in] completions pointer to list of possible next nodes
* @return matcher status
*/
enum matcher_rv
@@ -93,4 +93,18 @@ match_command_complete (struct graph_node *start,
vector vline,
struct list **completions);
+
+/**
+ * Compiles possible completions for a given line of user input.
+ *
+ * @param[in] start the start node of the DFA to match against
+ * @param[in] vline vectorized input string
+ * @param[in] completions vector to fill with string completions
+ * @return matcher status
+ */
+enum matcher_rv
+match_command_complete_str (struct graph_node *start,
+ vector vline,
+ vector completions);
+
#endif /* _ZEBRA_COMMAND_MATCH_H */
diff --git a/lib/command_parse.y b/lib/command_parse.y
index 56c58fdae..df90f64ed 100644
--- a/lib/command_parse.y
+++ b/lib/command_parse.y
@@ -433,6 +433,7 @@ terminate_graph (struct graph_node *startnode,
{
struct graph_node *end = new_node (END_GN);
end->element = element;
+ end->text = XSTRDUP(MTYPE_CMD_TOKENS, "<cr>");
if (node_exists (finalnode, end))
yyerror (element, startnode, "Duplicate command.");
else
diff --git a/lib/grammar_sandbox.c b/lib/grammar_sandbox.c
index 6473fc12e..899d0469a 100644
--- a/lib/grammar_sandbox.c
+++ b/lib/grammar_sandbox.c
@@ -91,31 +91,22 @@ DEFUN (grammar_test_complete,
char *cmdstr = argv_concat (argv, argc, 0);
vector command = cmd_make_strvec (cmdstr);
- struct list *completions;
- enum matcher_rv result = match_command_complete (nodegraph, command, &completions);
+ vector completions = vector_init (VECTOR_MIN_SIZE);
+ enum matcher_rv result =
+ match_command_complete_str (nodegraph, command, completions);
// print completions or relevant error message
- if (completions)
+ if (!MATCHER_ERROR(result))
{
- struct listnode *ln;
- struct graph_node *gn;
- for (ALL_LIST_ELEMENTS_RO(completions,ln,gn))
- {
- if (gn->type == END_GN)
- zlog_info ("<cr> (%p)", gn->element->func);
- else
- zlog_info ("%-30s%s", gn->text, gn->doc);
- }
- list_delete (completions);
+ for (unsigned int i = 0; i < vector_active (completions); i++)
+ zlog_info ((char *) vector_slot (completions, i));
}
else
- {
- assert(MATCHER_ERROR(result));
- zlog_info ("%% No match for \"%s\"", cmdstr);
- }
+ zlog_info ("%% No match for \"%s\"", cmdstr);
// free resources
cmd_free_strvec (command);
+ cmd_free_strvec (completions);
free (cmdstr);
return CMD_SUCCESS;
diff --git a/opt.txt b/opt.txt
deleted file mode 100644
index a63e0b85f..000000000
--- a/opt.txt
+++ /dev/null
@@ -1,905 +0,0 @@
-address-family encap
-address-family encapv4
-address-family encapv6
-address-family ipv4
-address-family ipv4 <unicast|multicast>
-address-family ipv6
-address-family ipv6 <unicast|multicast>
-address-family vpnv4
-address-family vpnv4 unicast
-address-family vpnv6
-address-family vpnv6 unicast
-aggregate-address A.B.C.D A.B.C.D
-aggregate-address A.B.C.D A.B.C.D as-set
-aggregate-address A.B.C.D A.B.C.D as-set summary-only
-aggregate-address A.B.C.D A.B.C.D summary-only
-aggregate-address A.B.C.D A.B.C.D summary-only as-set
-aggregate-address A.B.C.D/M
-aggregate-address A.B.C.D/M as-set
-aggregate-address A.B.C.D/M as-set summary-only
-aggregate-address A.B.C.D/M summary-only
-aggregate-address A.B.C.D/M summary-only as-set
-aggregate-address X:X::X:X/M
-aggregate-address X:X::X:X/M summary-only
-bgp always-compare-med
-bgp bestpath as-path confed
-bgp bestpath as-path ignore
-bgp bestpath as-path multipath-relax <as-set|no-as-set>
-bgp bestpath compare-routerid
-bgp bestpath med <confed|missing-as-worst>
-bgp bestpath med confed missing-as-worst
-bgp bestpath med missing-as-worst confed
-bgp client-to-client reflection
-bgp cluster-id (1-4294967295)
-bgp cluster-id A.B.C.D
-bgp confederation identifier (1-4294967295)
-bgp confederation peers . (1-4294967295)
-bgp config-type <cisco|zebra>
-bgp dampening
-bgp dampening (1-45)
-bgp dampening (1-45) (1-20000) (1-20000) (1-255)
-bgp default ipv4-unicast
-bgp default local-preference (0-4294967295)
-bgp default show-hostname
-bgp default subgroup-pkt-queue-max (20-100)
-bgp deterministic-med
-bgp disable-ebgp-connected-route-check
-bgp enforce-first-as
-bgp fast-external-failover
-bgp graceful-restart
-bgp graceful-restart stalepath-time (1-3600)
-bgp listen limit (1-5000)
-bgp listen range <A.B.C.D/M|X:X::X:X/M> peer-group WORD
-bgp log-neighbor-changes
-bgp max-med administrative
-bgp max-med administrative (0-4294967294)
-bgp max-med on-startup (5-86400)
-bgp max-med on-startup (5-86400) (0-4294967294)
-bgp multiple-instance
-bgp network import-check
-bgp route-map delay-timer (0-600)
-bgp route-reflector allow-outbound-policy
-bgp router-id A.B.C.D
-bgp router-id IFNAME
-clear bgp <A.B.C.D|X:X::X:X|WORD>
-clear bgp <A.B.C.D|X:X::X:X|WORD> in
-clear bgp <A.B.C.D|X:X::X:X|WORD> in prefix-filter
-clear bgp <A.B.C.D|X:X::X:X|WORD> out
-clear bgp <A.B.C.D|X:X::X:X|WORD> soft
-clear bgp <A.B.C.D|X:X::X:X|WORD> soft in
-clear bgp <A.B.C.D|X:X::X:X|WORD> soft out
-clear bgp *
-clear bgp * in
-clear bgp * in prefix-filter
-clear bgp * out
-clear bgp * soft
-clear bgp * soft in
-clear bgp * soft out
-clear bgp (1-4294967295)
-clear bgp (1-4294967295) in
-clear bgp (1-4294967295) in prefix-filter
-clear bgp (1-4294967295) out
-clear bgp (1-4294967295) soft
-clear bgp (1-4294967295) soft in
-clear bgp (1-4294967295) soft out
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD>
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD> in
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD> out
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD> soft
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD> soft in
-clear bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD> soft out
-clear bgp BGP_INSTANCE_CMD *
-clear bgp BGP_INSTANCE_CMD * in
-clear bgp BGP_INSTANCE_CMD * out
-clear bgp BGP_INSTANCE_CMD * soft
-clear bgp BGP_INSTANCE_CMD * soft in
-clear bgp BGP_INSTANCE_CMD * soft out
-clear bgp BGP_INSTANCE_CMD (1-4294967295)
-clear bgp BGP_INSTANCE_CMD (1-4294967295) in
-clear bgp BGP_INSTANCE_CMD (1-4294967295) out
-clear bgp BGP_INSTANCE_CMD (1-4294967295) soft
-clear bgp BGP_INSTANCE_CMD (1-4294967295) soft in
-clear bgp BGP_INSTANCE_CMD (1-4294967295) soft out
-clear bgp BGP_INSTANCE_CMD external
-clear bgp BGP_INSTANCE_CMD external in
-clear bgp BGP_INSTANCE_CMD external out
-clear bgp BGP_INSTANCE_CMD external soft
-clear bgp BGP_INSTANCE_CMD external soft in
-clear bgp BGP_INSTANCE_CMD external soft out
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD>
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD> in
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD> out
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD> soft
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD> soft in
-clear bgp BGP_INSTANCE_CMD ipv6 <A.B.C.D|X:X::X:X|WORD> soft out
-clear bgp BGP_INSTANCE_CMD ipv6 <unicast|multicast> prefix X:X::X:X/M
-clear bgp BGP_INSTANCE_CMD ipv6 *
-clear bgp BGP_INSTANCE_CMD ipv6 * in
-clear bgp BGP_INSTANCE_CMD ipv6 * out
-clear bgp BGP_INSTANCE_CMD ipv6 * soft
-clear bgp BGP_INSTANCE_CMD ipv6 * soft in
-clear bgp BGP_INSTANCE_CMD ipv6 * soft out
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295)
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295) in
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295) out
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295) soft
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295) soft in
-clear bgp BGP_INSTANCE_CMD ipv6 (1-4294967295) soft out
-clear bgp BGP_INSTANCE_CMD ipv6 external
-clear bgp BGP_INSTANCE_CMD ipv6 external WORD in
-clear bgp BGP_INSTANCE_CMD ipv6 external WORD out
-clear bgp BGP_INSTANCE_CMD ipv6 external soft
-clear bgp BGP_INSTANCE_CMD ipv6 external soft in
-clear bgp BGP_INSTANCE_CMD ipv6 external soft out
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD in
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD out
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD soft
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD soft in
-clear bgp BGP_INSTANCE_CMD ipv6 peer-group WORD soft out
-clear bgp BGP_INSTANCE_CMD peer-group WORD
-clear bgp BGP_INSTANCE_CMD peer-group WORD in
-clear bgp BGP_INSTANCE_CMD peer-group WORD out
-clear bgp BGP_INSTANCE_CMD peer-group WORD soft
-clear bgp BGP_INSTANCE_CMD peer-group WORD soft in
-clear bgp BGP_INSTANCE_CMD peer-group WORD soft out
-clear bgp external
-clear bgp external in
-clear bgp external in prefix-filter
-clear bgp external out
-clear bgp external soft
-clear bgp external soft in
-clear bgp external soft out
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD>
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> in
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> in prefix-filter
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> out
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> soft
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> soft in
-clear bgp ipv6 <A.B.C.D|X:X::X:X|WORD> soft out
-clear bgp ipv6 <unicast|multicast> prefix X:X::X:X/M
-clear bgp ipv6 *
-clear bgp ipv6 * in
-clear bgp ipv6 * in prefix-filter
-clear bgp ipv6 * out
-clear bgp ipv6 * soft
-clear bgp ipv6 * soft in
-clear bgp ipv6 * soft out
-clear bgp ipv6 (1-4294967295)
-clear bgp ipv6 (1-4294967295) in
-clear bgp ipv6 (1-4294967295) in prefix-filter
-clear bgp ipv6 (1-4294967295) out
-clear bgp ipv6 (1-4294967295) soft
-clear bgp ipv6 (1-4294967295) soft in
-clear bgp ipv6 (1-4294967295) soft out
-clear bgp ipv6 external
-clear bgp ipv6 external WORD in
-clear bgp ipv6 external WORD out
-clear bgp ipv6 external in prefix-filter
-clear bgp ipv6 external soft
-clear bgp ipv6 external soft in
-clear bgp ipv6 external soft out
-clear bgp ipv6 peer-group WORD
-clear bgp ipv6 peer-group WORD in
-clear bgp ipv6 peer-group WORD in prefix-filter
-clear bgp ipv6 peer-group WORD out
-clear bgp ipv6 peer-group WORD soft
-clear bgp ipv6 peer-group WORD soft in
-clear bgp ipv6 peer-group WORD soft out
-clear bgp peer-group WORD
-clear bgp peer-group WORD in
-clear bgp peer-group WORD in prefix-filter
-clear bgp peer-group WORD out
-clear bgp peer-group WORD soft
-clear bgp peer-group WORD soft in
-clear bgp peer-group WORD soft out
-clear ip bgp <A.B.C.D|WORD> in
-clear ip bgp <A.B.C.D|WORD> in prefix-filter
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> in
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> in prefix-filter
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> out
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> soft
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> soft in
-clear ip bgp <A.B.C.D|WORD> ipv4 <unicast|multicast> soft out
-clear ip bgp <A.B.C.D|WORD> out
-clear ip bgp <A.B.C.D|WORD> soft
-clear ip bgp <A.B.C.D|WORD> soft in
-clear ip bgp <A.B.C.D|WORD> soft out
-clear ip bgp <A.B.C.D|WORD> vpnv4 unicast in
-clear ip bgp <A.B.C.D|WORD> vpnv4 unicast out
-clear ip bgp <A.B.C.D|WORD> vpnv4 unicast soft
-clear ip bgp <A.B.C.D|WORD> vpnv4 unicast soft in
-clear ip bgp <A.B.C.D|WORD> vpnv4 unicast soft out
-clear ip bgp <A.B.C.D|X:X::X:X|WORD>
-clear ip bgp *
-clear ip bgp * encap unicast in
-clear ip bgp * encap unicast out
-clear ip bgp * encap unicast soft
-clear ip bgp * encap unicast soft in
-clear ip bgp * encap unicast soft out
-clear ip bgp * in
-clear ip bgp * in prefix-filter
-clear ip bgp * ipv4 <unicast|multicast> in
-clear ip bgp * ipv4 <unicast|multicast> in prefix-filter
-clear ip bgp * ipv4 <unicast|multicast> out
-clear ip bgp * ipv4 <unicast|multicast> soft
-clear ip bgp * ipv4 <unicast|multicast> soft in
-clear ip bgp * ipv4 <unicast|multicast> soft out
-clear ip bgp * out
-clear ip bgp * soft
-clear ip bgp * soft in
-clear ip bgp * soft out
-clear ip bgp * vpnv4 unicast in
-clear ip bgp * vpnv4 unicast out
-clear ip bgp * vpnv4 unicast soft
-clear ip bgp * vpnv4 unicast soft in
-clear ip bgp * vpnv4 unicast soft out
-clear ip bgp (1-4294967295)
-clear ip bgp (1-4294967295) encap unicast in
-clear ip bgp (1-4294967295) encap unicast out
-clear ip bgp (1-4294967295) encap unicast soft
-clear ip bgp (1-4294967295) encap unicast soft in
-clear ip bgp (1-4294967295) encap unicast soft out
-clear ip bgp (1-4294967295) in
-clear ip bgp (1-4294967295) in prefix-filter
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> in
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> in prefix-filter
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> out
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> soft
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> soft in
-clear ip bgp (1-4294967295) ipv4 <unicast|multicast> soft out
-clear ip bgp (1-4294967295) out
-clear ip bgp (1-4294967295) soft
-clear ip bgp (1-4294967295) soft in
-clear ip bgp (1-4294967295) soft out
-clear ip bgp (1-4294967295) vpnv4 unicast in
-clear ip bgp (1-4294967295) vpnv4 unicast out
-clear ip bgp (1-4294967295) vpnv4 unicast soft
-clear ip bgp (1-4294967295) vpnv4 unicast soft in
-clear ip bgp (1-4294967295) vpnv4 unicast soft out
-clear ip bgp A.B.C.D encap unicast in
-clear ip bgp A.B.C.D encap unicast out
-clear ip bgp A.B.C.D encap unicast soft
-clear ip bgp A.B.C.D encap unicast soft in
-clear ip bgp A.B.C.D encap unicast soft out
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> in
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> ipv4 <unicast|multicast> in
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> ipv4 <unicast|multicast> out
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> ipv4 <unicast|multicast> soft
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> ipv4 <unicast|multicast> soft in
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> ipv4 <unicast|multicast> soft out
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> out
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> soft
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> soft in
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|WORD> soft out
-clear ip bgp BGP_INSTANCE_CMD <A.B.C.D|X:X::X:X|WORD>
-clear ip bgp BGP_INSTANCE_CMD *
-clear ip bgp BGP_INSTANCE_CMD * in
-clear ip bgp BGP_INSTANCE_CMD * ipv4 <unicast|multicast> in
-clear ip bgp BGP_INSTANCE_CMD * ipv4 <unicast|multicast> out
-clear ip bgp BGP_INSTANCE_CMD * ipv4 <unicast|multicast> soft
-clear ip bgp BGP_INSTANCE_CMD * ipv4 <unicast|multicast> soft in
-clear ip bgp BGP_INSTANCE_CMD * ipv4 <unicast|multicast> soft out
-clear ip bgp BGP_INSTANCE_CMD * out
-clear ip bgp BGP_INSTANCE_CMD * soft
-clear ip bgp BGP_INSTANCE_CMD * soft in
-clear ip bgp BGP_INSTANCE_CMD * soft out
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295)
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) in
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) ipv4 <unicast|multicast> in
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) ipv4 <unicast|multicast> out
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) ipv4 <unicast|multicast> soft
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) ipv4 <unicast|multicast> soft in
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) ipv4 <unicast|multicast> soft out
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) out
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) soft
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) soft in
-clear ip bgp BGP_INSTANCE_CMD (1-4294967295) soft out
-clear ip bgp BGP_INSTANCE_CMD external
-clear ip bgp BGP_INSTANCE_CMD external in
-clear ip bgp BGP_INSTANCE_CMD external ipv4 <unicast|multicast> in
-clear ip bgp BGP_INSTANCE_CMD external ipv4 <unicast|multicast> out
-clear ip bgp BGP_INSTANCE_CMD external ipv4 <unicast|multicast> soft
-clear ip bgp BGP_INSTANCE_CMD external ipv4 <unicast|multicast> soft in
-clear ip bgp BGP_INSTANCE_CMD external ipv4 <unicast|multicast> soft out
-clear ip bgp BGP_INSTANCE_CMD external out
-clear ip bgp BGP_INSTANCE_CMD external soft
-clear ip bgp BGP_INSTANCE_CMD external soft in
-clear ip bgp BGP_INSTANCE_CMD external soft out
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD in
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD ipv4 <unicast|multicast> in
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD ipv4 <unicast|multicast> out
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD ipv4 <unicast|multicast> soft
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD ipv4 <unicast|multicast> soft in
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD ipv4 <unicast|multicast> soft out
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD out
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD soft
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD soft in
-clear ip bgp BGP_INSTANCE_CMD peer-group WORD soft out
-clear ip bgp BGP_INSTANCE_CMD prefix A.B.C.D/M
-clear ip bgp dampening
-clear ip bgp dampening A.B.C.D
-clear ip bgp dampening A.B.C.D A.B.C.D
-clear ip bgp dampening A.B.C.D/M
-clear ip bgp external
-clear ip bgp external in
-clear ip bgp external in prefix-filter
-clear ip bgp external ipv4 <unicast|multicast> in
-clear ip bgp external ipv4 <unicast|multicast> in prefix-filter
-clear ip bgp external ipv4 <unicast|multicast> out
-clear ip bgp external ipv4 <unicast|multicast> soft
-clear ip bgp external ipv4 <unicast|multicast> soft in
-clear ip bgp external ipv4 <unicast|multicast> soft out
-clear ip bgp external out
-clear ip bgp external soft
-clear ip bgp external soft in
-clear ip bgp external soft out
-clear ip bgp peer-group WORD
-clear ip bgp peer-group WORD in
-clear ip bgp peer-group WORD in prefix-filter
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> in
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> in prefix-filter
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> out
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> soft
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> soft in
-clear ip bgp peer-group WORD ipv4 <unicast|multicast> soft out
-clear ip bgp peer-group WORD out
-clear ip bgp peer-group WORD soft
-clear ip bgp peer-group WORD soft in
-clear ip bgp peer-group WORD soft out
-clear ip bgp prefix A.B.C.D/M
-coalesce-time (0-4294967295)
-debug bgp as4
-debug bgp as4 segment
-debug bgp bestpath <A.B.C.D/M|X:X::X:X/M>
-debug bgp keepalives
-debug bgp keepalives <A.B.C.D|X:X::X:X|WORD>
-debug bgp neighbor-events
-debug bgp neighbor-events <A.B.C.D|X:X::X:X|WORD>
-debug bgp nht
-debug bgp update-groups
-debug bgp updates
-debug bgp updates <in|out>
-debug bgp updates <in|out> <A.B.C.D|X:X::X:X|WORD>
-debug bgp updates prefix <A.B.C.D/M|X:X::X:X/M>
-debug bgp zebra
-debug bgp zebra prefix <A.B.C.D/M|X:X::X:X/M>
-distance (1-255) A.B.C.D/M
-distance (1-255) A.B.C.D/M WORD
-distance bgp (1-255) (1-255) (1-255)
-dump bgp <all|all-et|updates|updates-et|routes-mrt> PATH [INTERVAL]
-exit-address-family
-ip community-list (1-99) <deny|permit>
-ip community-list (1-99) <deny|permit> AA:NN
-ip community-list (100-500) <deny|permit> LINE
-ip community-list expanded WORD <deny|permit> LINE
-ip community-list standard WORD <deny|permit>
-ip community-list standard WORD <deny|permit> AA:NN
-ip extcommunity-list (1-99) <deny|permit>
-ip extcommunity-list (1-99) <deny|permit> AA:NN
-ip extcommunity-list (100-500) <deny|permit> LINE
-ip extcommunity-list expanded WORD <deny|permit> LINE
-ip extcommunity-list standard WORD <deny|permit>
-ip extcommunity-list standard WORD <deny|permit> AA:NN
-ipv6 bgp aggregate-address X:X::X:X/M
-ipv6 bgp aggregate-address X:X::X:X/M summary-only
-ipv6 bgp network X:X::X:X/M
-match as-path WORD
-match community <(1-99)|(100-500)|WORD>
-match community <(1-99)|(100-500)|WORD> exact-match
-match extcommunity <(1-99)|(100-500)|WORD>
-match interface WORD
-match ip address <(1-199)|(1300-2699)|WORD>
-match ip address prefix-list WORD
-match ip next-hop <(1-199)|(1300-2699)|WORD>
-match ip next-hop prefix-list WORD
-match ip route-source <(1-199)|(1300-2699)|WORD>
-match ip route-source prefix-list WORD
-match ipv6 address WORD
-match ipv6 address prefix-list WORD
-match ipv6 next-hop X:X::X:X
-match local-preference (0-4294967295)
-match metric (0-4294967295)
-match origin <egp|igp|incomplete>
-match peer <A.B.C.D|X:X::X:X>
-match peer local
-match probability (0-100)
-match tag (1-65535)
-maximum-paths (1-255)
-maximum-paths ibgp (1-255)
-maximum-paths ibgp (1-255) equal-cluster-length
-neighbor <A.B.C.D|X:X::X:X> interface WORD
-neighbor <A.B.C.D|X:X::X:X> port (0-65535)
-neighbor <A.B.C.D|X:X::X:X> strict-capability-match
-neighbor <A.B.C.D|X:X::X:X|WORD> activate
-neighbor <A.B.C.D|X:X::X:X|WORD> addpath-tx-all-paths
-neighbor <A.B.C.D|X:X::X:X|WORD> addpath-tx-bestpath-per-AS
-neighbor <A.B.C.D|X:X::X:X|WORD> advertisement-interval (0-600)
-neighbor <A.B.C.D|X:X::X:X|WORD> allowas-in
-neighbor <A.B.C.D|X:X::X:X|WORD> allowas-in (1-10)
-neighbor <A.B.C.D|X:X::X:X|WORD> as-override
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged <as-path|next-hop|med>
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged as-path <next-hop|med>
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged as-path med next-hop
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged as-path next-hop med
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged med <as-path|next-hop>
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged med as-path next-hop
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged med next-hop as-path
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged next-hop <as-path|med>
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged next-hop as-path med
-neighbor <A.B.C.D|X:X::X:X|WORD> attribute-unchanged next-hop med as-path
-neighbor <A.B.C.D|X:X::X:X|WORD> bfd
-neighbor <A.B.C.D|X:X::X:X|WORD> bfd (2-255) BFD_CMD_MIN_RX_RANGE (50-60000)
-neighbor <A.B.C.D|X:X::X:X|WORD> capability dynamic
-neighbor <A.B.C.D|X:X::X:X|WORD> capability extended-nexthop
-neighbor <A.B.C.D|X:X::X:X|WORD> capability orf prefix-list <both|send|receive>
-neighbor <A.B.C.D|X:X::X:X|WORD> default-originate
-neighbor <A.B.C.D|X:X::X:X|WORD> default-originate route-map WORD
-neighbor <A.B.C.D|X:X::X:X|WORD> description LINE
-neighbor <A.B.C.D|X:X::X:X|WORD> disable-connected-check
-neighbor <A.B.C.D|X:X::X:X|WORD> distribute-list <(1-199)|(1300-2699)|WORD> <in|out>
-neighbor <A.B.C.D|X:X::X:X|WORD> dont-capability-negotiate
-neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop
-neighbor <A.B.C.D|X:X::X:X|WORD> ebgp-multihop (1-255)
-neighbor <A.B.C.D|X:X::X:X|WORD> enforce-multihop
-neighbor <A.B.C.D|X:X::X:X|WORD> filter-list WORD <in|out>
-neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295)
-neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend
-neighbor <A.B.C.D|X:X::X:X|WORD> local-as (1-4294967295) no-prepend replace-as
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295)
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295) (1-100)
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295) (1-100) restart (1-65535)
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295) (1-100) warning-only
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295) restart (1-65535)
-neighbor <A.B.C.D|X:X::X:X|WORD> maximum-prefix (1-4294967295) warning-only
-neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self
-neighbor <A.B.C.D|X:X::X:X|WORD> next-hop-self force
-neighbor <A.B.C.D|X:X::X:X|WORD> nexthop-local unchanged
-neighbor <A.B.C.D|X:X::X:X|WORD> override-capability
-neighbor <A.B.C.D|X:X::X:X|WORD> passive
-neighbor <A.B.C.D|X:X::X:X|WORD> password LINE
-neighbor <A.B.C.D|X:X::X:X|WORD> peer-group WORD
-neighbor <A.B.C.D|X:X::X:X|WORD> prefix-list WORD <in|out>
-neighbor <A.B.C.D|X:X::X:X|WORD> remote-as <(1-4294967295)|external|internal>
-neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS
-neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all
-neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS all replace-AS
-neighbor <A.B.C.D|X:X::X:X|WORD> remove-private-AS replace-AS
-neighbor <A.B.C.D|X:X::X:X|WORD> route-map WORD <in|out>
-neighbor <A.B.C.D|X:X::X:X|WORD> route-reflector-client
-neighbor <A.B.C.D|X:X::X:X|WORD> route-server-client
-neighbor <A.B.C.D|X:X::X:X|WORD> send-community
-neighbor <A.B.C.D|X:X::X:X|WORD> send-community <both|extended|standard>
-neighbor <A.B.C.D|X:X::X:X|WORD> shutdown
-neighbor <A.B.C.D|X:X::X:X|WORD> soft-reconfiguration inbound
-neighbor <A.B.C.D|X:X::X:X|WORD> solo
-neighbor <A.B.C.D|X:X::X:X|WORD> timers (0-65535) (0-65535)
-neighbor <A.B.C.D|X:X::X:X|WORD> timers connect (1-65535)
-neighbor <A.B.C.D|X:X::X:X|WORD> ttl-security hops (1-254)
-neighbor <A.B.C.D|X:X::X:X|WORD> unsuppress-map WORD
-neighbor <A.B.C.D|X:X::X:X|WORD> update-source <A.B.C.D|X:X::X:X|WORD>
-neighbor <A.B.C.D|X:X::X:X|WORD> weight (0-65535)
-neighbor WORD interface
-neighbor WORD interface peer-group WORD
-neighbor WORD interface v6only
-neighbor WORD interface v6only peer-group WORD
-neighbor WORD peer-group
-network A.B.C.D
-network A.B.C.D backdoor
-network A.B.C.D mask A.B.C.D
-network A.B.C.D mask A.B.C.D backdoor
-network A.B.C.D mask A.B.C.D route-map WORD
-network A.B.C.D route-map WORD
-network A.B.C.D/M
-network A.B.C.D/M backdoor
-network A.B.C.D/M rd ASN:nn_or_IP-address:nn tag WORD
-network A.B.C.D/M rd ASN:nn_or_IP-address:nn tag WORD route-map WORD
-network A.B.C.D/M route-map WORD
-network X:X::X:X/M
-network X:X::X:X/M route-map WORD
-redistribute <kernel|connected|static|ripng|ospf6|isis>
-redistribute <kernel|connected|static|ripng|ospf6|isis> metric (0-4294967295)
-redistribute <kernel|connected|static|ripng|ospf6|isis> metric (0-4294967295) route-map WORD
-redistribute <kernel|connected|static|ripng|ospf6|isis> route-map WORD
-redistribute <kernel|connected|static|ripng|ospf6|isis> route-map WORD metric (0-4294967295)
-redistribute <kernel|connected|static|rip|ospf|isis>
-redistribute <kernel|connected|static|rip|ospf|isis> metric (0-4294967295)
-redistribute <kernel|connected|static|rip|ospf|isis> metric (0-4294967295) route-map WORD
-redistribute <kernel|connected|static|rip|ospf|isis> route-map WORD
-redistribute <kernel|connected|static|rip|ospf|isis> route-map WORD metric (0-4294967295)
-redistribute <ospf|table> (1-65535)
-redistribute <ospf|table> (1-65535) metric (0-4294967295)
-redistribute <ospf|table> (1-65535) metric (0-4294967295) route-map WORD
-redistribute <ospf|table> (1-65535) route-map WORD
-redistribute <ospf|table> (1-65535) route-map WORD metric (0-4294967295)
-router bgp
-router bgp (1-4294967295)
-router bgp (1-4294967295) <view|vrf> WORD
-set aggregator as (1-4294967295) A.B.C.D
-set as-path exclude . (1-4294967295)
-set as-path prepend (last-as) (1-10)
-set as-path prepend . (1-4294967295)
-set atomic-aggregate
-set comm-list <(1-99)|(100-500)|WORD> delete
-set community AA:NN
-set community none
-set extcommunity rt .ASN:nn_or_IP-address:nn
-set extcommunity soo .ASN:nn_or_IP-address:nn
-set ip next-hop A.B.C.D
-set ip next-hop peer-address
-set ip next-hop unchanged
-set ipv6 next-hop global X:X::X:X
-set ipv6 next-hop local X:X::X:X
-set ipv6 next-hop peer-address
-set local-preference (0-4294967295)
-set metric <rtt|+rtt|-rtt>
-set metric <+/-metric>
-set metric (0-4294967295)
-set origin <egp|igp|incomplete>
-set originator-id A.B.C.D
-set tag (1-65535)
-set vpnv4 next-hop A.B.C.D
-set weight (0-4294967295)
-show bgp <ipv4|ipv6> <encap|multicast|unicast|vpn> statistics
-show bgp <ipv4|ipv6> <unicast|multicast> update-groups
-show bgp <ipv4|ipv6> <unicast|multicast> update-groups <advertise-queue|advertised-routes|packet-queue>
-show bgp <ipv4|ipv6> <unicast|multicast> update-groups SUBGROUP-ID
-show bgp <ipv4|ipv6> <unicast|multicast> update-groups SUBGROUP-ID <advertise-queue|advertised-routes|packet-queue>
-show bgp BGP_INSTANCE_ALL_CMD summary [json]
-show bgp BGP_INSTANCE_ALL_CMD update-groups
-show bgp BGP_INSTANCE_ALL_CMD [json]
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> community
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export>
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> <advertised-routes|received-routes> [json]
-show bgp BGP_INSTANCE_CMD <ipv4|ipv6> <unicast|multicast|vpn|encap> statistics
-show bgp BGP_INSTANCE_CMD X:X::X:X <bestpath|multipath> [json]
-show bgp BGP_INSTANCE_CMD X:X::X:X [json]
-show bgp BGP_INSTANCE_CMD X:X::X:X/M <bestpath|multipath> [json]
-show bgp BGP_INSTANCE_CMD X:X::X:X/M longer-prefixes
-show bgp BGP_INSTANCE_CMD X:X::X:X/M [json]
-show bgp BGP_INSTANCE_CMD community-list <(1-500)|WORD>
-show bgp BGP_INSTANCE_CMD filter-list WORD
-show bgp BGP_INSTANCE_CMD ipv6 <unicast|multicast> summary [json]
-show bgp BGP_INSTANCE_CMD ipv6 X:X::X:X <bestpath|multipath> [json]
-show bgp BGP_INSTANCE_CMD ipv6 X:X::X:X [json]
-show bgp BGP_INSTANCE_CMD ipv6 X:X::X:X/M <bestpath|multipath> [json]
-show bgp BGP_INSTANCE_CMD ipv6 X:X::X:X/M longer-prefixes
-show bgp BGP_INSTANCE_CMD ipv6 X:X::X:X/M [json]
-show bgp BGP_INSTANCE_CMD ipv6 community-list <(1-500)|WORD>
-show bgp BGP_INSTANCE_CMD ipv6 filter-list WORD
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> dampened-routes [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> flap-statistics [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show bgp BGP_INSTANCE_CMD ipv6 neighbors [json]
-show bgp BGP_INSTANCE_CMD ipv6 prefix-list WORD
-show bgp BGP_INSTANCE_CMD ipv6 route-map WORD
-show bgp BGP_INSTANCE_CMD ipv6 summary [json]
-show bgp BGP_INSTANCE_CMD ipv6 [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> dampened-routes [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> flap-statistics [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show bgp BGP_INSTANCE_CMD neighbors [json]
-show bgp BGP_INSTANCE_CMD prefix-list WORD
-show bgp BGP_INSTANCE_CMD route-map WORD
-show bgp BGP_INSTANCE_CMD summary [json]
-show bgp BGP_INSTANCE_CMD update-groups
-show bgp BGP_INSTANCE_CMD update-groups <advertise-queue|advertised-routes|packet-queue>
-show bgp BGP_INSTANCE_CMD update-groups SUBGROUP-ID
-show bgp BGP_INSTANCE_CMD update-groups SUBGROUP-ID <advertise-queue|advertised-routes|packet-queue>
-show bgp BGP_INSTANCE_CMD [json]
-show bgp X:X::X:X <bestpath|multipath> [json]
-show bgp X:X::X:X [json]
-show bgp X:X::X:X/M <bestpath|multipath> [json]
-show bgp X:X::X:X/M longer-prefixes
-show bgp X:X::X:X/M [json]
-show bgp community
-show bgp community <AA:NN|local-AS|no-advertise|no-export>
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp community-list <(1-500)|WORD>
-show bgp community-list <(1-500)|WORD> exact-match
-show bgp filter-list WORD
-show bgp ipv4 <unicast|multicast> A.B.C.D <bestpath|multipath> [json]
-show bgp ipv4 <unicast|multicast> A.B.C.D [json]
-show bgp ipv4 <unicast|multicast> A.B.C.D/M <bestpath|multipath> [json]
-show bgp ipv4 <unicast|multicast> A.B.C.D/M [json]
-show bgp ipv4 <unicast|multicast> summary [json]
-show bgp ipv4 <unicast|multicast> [json]
-show bgp ipv4 encap
-show bgp ipv4 encap neighbors A.B.C.D advertised-routes
-show bgp ipv4 encap neighbors A.B.C.D routes
-show bgp ipv4 encap rd ASN:nn_or_IP-address:nn
-show bgp ipv4 encap rd ASN:nn_or_IP-address:nn neighbors <A.B.C.D|X:X::X:X> advertised-routes
-show bgp ipv4 encap rd ASN:nn_or_IP-address:nn neighbors <A.B.C.D|X:X::X:X> routes
-show bgp ipv4 encap rd ASN:nn_or_IP-address:nn tags
-show bgp ipv4 encap tags
-show bgp ipv6 <unicast|multicast> X:X::X:X <bestpath|multipath> [json]
-show bgp ipv6 <unicast|multicast> X:X::X:X [json]
-show bgp ipv6 <unicast|multicast> X:X::X:X/M <bestpath|multipath> [json]
-show bgp ipv6 <unicast|multicast> X:X::X:X/M [json]
-show bgp ipv6 <unicast|multicast> summary [json]
-show bgp ipv6 <unicast|multicast> [json]
-show bgp ipv6 X:X::X:X <bestpath|multipath> [json]
-show bgp ipv6 X:X::X:X [json]
-show bgp ipv6 X:X::X:X/M <bestpath|multipath> [json]
-show bgp ipv6 X:X::X:X/M longer-prefixes
-show bgp ipv6 X:X::X:X/M [json]
-show bgp ipv6 community
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export>
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp ipv6 community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show bgp ipv6 community-list <(1-500)|WORD>
-show bgp ipv6 community-list <(1-500)|WORD> exact-match
-show bgp ipv6 encap
-show bgp ipv6 encap neighbors A.B.C.D advertised-routes
-show bgp ipv6 encap neighbors A.B.C.D routes
-show bgp ipv6 encap rd ASN:nn_or_IP-address:nn
-show bgp ipv6 encap rd ASN:nn_or_IP-address:nn neighbors <A.B.C.D|X:X::X:X> advertised-routes
-show bgp ipv6 encap rd ASN:nn_or_IP-address:nn neighbors <A.B.C.D|X:X::X:X> routes
-show bgp ipv6 encap rd ASN:nn_or_IP-address:nn tags
-show bgp ipv6 encap tags
-show bgp ipv6 filter-list WORD
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> dampened-routes [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> flap-statistics [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show bgp ipv6 neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show bgp ipv6 neighbors [json]
-show bgp ipv6 prefix-list WORD
-show bgp ipv6 regexp LINE
-show bgp ipv6 route-map WORD
-show bgp ipv6 summary [json]
-show bgp ipv6 [json]
-show bgp memory
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> dampened-routes [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> flap-statistics [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show bgp neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show bgp neighbors [json]
-show bgp prefix-list WORD
-show bgp regexp LINE
-show bgp route-map WORD
-show bgp summary [json]
-show bgp update-groups
-show bgp update-groups <advertise-queue|advertised-routes|packet-queue>
-show bgp update-groups SUBGROUP-ID
-show bgp update-groups SUBGROUP-ID <advertise-queue|advertised-routes|packet-queue>
-show bgp view WORD ipv4 <unicast|multicast> summary [json]
-show bgp views
-show bgp vrfs [json]
-show bgp [json]
-show debugging bgp
-show ip as-path-access-list
-show ip as-path-access-list WORD
-show ip bgp A.B.C.D <bestpath|multipath> [json]
-show ip bgp A.B.C.D [json]
-show ip bgp A.B.C.D/M <bestpath|multipath> [json]
-show ip bgp A.B.C.D/M longer-prefixes
-show ip bgp A.B.C.D/M [json]
-show ip bgp BGP_INSTANCE_ALL_CMD neighbors [json]
-show ip bgp BGP_INSTANCE_ALL_CMD nexthop
-show ip bgp BGP_INSTANCE_ALL_CMD summary [json]
-show ip bgp BGP_INSTANCE_ALL_CMD update-groups
-show ip bgp BGP_INSTANCE_ALL_CMD [json]
-show ip bgp BGP_INSTANCE_CMD A.B.C.D <bestpath|multipath> [json]
-show ip bgp BGP_INSTANCE_CMD A.B.C.D [json]
-show ip bgp BGP_INSTANCE_CMD A.B.C.D/M <bestpath|multipath> [json]
-show ip bgp BGP_INSTANCE_CMD A.B.C.D/M longer-prefixes
-show ip bgp BGP_INSTANCE_CMD A.B.C.D/M [json]
-show ip bgp BGP_INSTANCE_CMD community-list <(1-500)|WORD>
-show ip bgp BGP_INSTANCE_CMD filter-list WORD
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes route-map WORD [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> received-routes route-map WORD [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show ip bgp BGP_INSTANCE_CMD neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show ip bgp BGP_INSTANCE_CMD neighbors [json]
-show ip bgp BGP_INSTANCE_CMD nexthop
-show ip bgp BGP_INSTANCE_CMD nexthop detail
-show ip bgp BGP_INSTANCE_CMD peer-group
-show ip bgp BGP_INSTANCE_CMD peer-group WORD
-show ip bgp BGP_INSTANCE_CMD prefix-list WORD
-show ip bgp BGP_INSTANCE_CMD route-map WORD
-show ip bgp BGP_INSTANCE_CMD summary [json]
-show ip bgp BGP_INSTANCE_CMD update-groups
-show ip bgp BGP_INSTANCE_CMD update-groups <advertise-queue|advertised-routes|packet-queue>
-show ip bgp BGP_INSTANCE_CMD update-groups SUBGROUP-ID
-show ip bgp BGP_INSTANCE_CMD update-groups SUBGROUP-ID <advertise-queue|advertised-routes|packet-queue>
-show ip bgp BGP_INSTANCE_CMD [json]
-show ip bgp attribute-info
-show ip bgp cidr-only
-show ip bgp community
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp community-info
-show ip bgp community-list <(1-500)|WORD>
-show ip bgp community-list <(1-500)|WORD> exact-match
-show ip bgp dampened-paths
-show ip bgp dampening dampened-paths
-show ip bgp dampening flap-statistics
-show ip bgp dampening flap-statistics A.B.C.D
-show ip bgp dampening flap-statistics A.B.C.D/M longer-prefixes
-show ip bgp dampening flap-statistics cidr-only
-show ip bgp dampening flap-statistics filter-list WORD
-show ip bgp dampening flap-statistics prefix-list WORD
-show ip bgp dampening flap-statistics regexp LINE
-show ip bgp dampening flap-statistics route-map WORD
-show ip bgp dampening parameters
-show ip bgp filter-list WORD
-show ip bgp flap-statistics
-show ip bgp flap-statistics A.B.C.D
-show ip bgp flap-statistics A.B.C.D/M
-show ip bgp flap-statistics A.B.C.D/M longer-prefixes
-show ip bgp flap-statistics cidr-only
-show ip bgp flap-statistics filter-list WORD
-show ip bgp flap-statistics prefix-list WORD
-show ip bgp flap-statistics regexp LINE
-show ip bgp flap-statistics route-map WORD
-show ip bgp ipv4 <unicast|multicast> A.B.C.D [json]
-show ip bgp ipv4 <unicast|multicast> A.B.C.D/M <bestpath|multipath> [json]
-show ip bgp ipv4 <unicast|multicast> A.B.C.D/M longer-prefixes
-show ip bgp ipv4 <unicast|multicast> A.B.C.D/M [json]
-show ip bgp ipv4 <unicast|multicast> cidr-only
-show ip bgp ipv4 <unicast|multicast> community
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp ipv4 <unicast|multicast> community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ip bgp ipv4 <unicast|multicast> community-list <(1-500)|WORD>
-show ip bgp ipv4 <unicast|multicast> community-list <(1-500)|WORD> exact-match
-show ip bgp ipv4 <unicast|multicast> filter-list WORD
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes route-map WORD [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> received-routes route-map WORD [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show ip bgp ipv4 <unicast|multicast> neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show ip bgp ipv4 <unicast|multicast> neighbors [json]
-show ip bgp ipv4 <unicast|multicast> paths
-show ip bgp ipv4 <unicast|multicast> prefix-list WORD
-show ip bgp ipv4 <unicast|multicast> regexp LINE
-show ip bgp ipv4 <unicast|multicast> route-map WORD
-show ip bgp ipv4 <unicast|multicast> summary [json]
-show ip bgp ipv4 <unicast|multicast> [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes route-map WORD [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> dampened-routes [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> flap-statistics [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> received prefix-filter [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> received-routes route-map WORD [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show ip bgp neighbors <A.B.C.D|X:X::X:X|WORD> [json]
-show ip bgp neighbors [json]
-show ip bgp nexthop
-show ip bgp nexthop detail
-show ip bgp paths
-show ip bgp peer-group
-show ip bgp peer-group WORD
-show ip bgp prefix-list WORD
-show ip bgp regexp LINE
-show ip bgp route-map WORD
-show ip bgp summary [json]
-show ip bgp update-groups
-show ip bgp update-groups <advertise-queue|advertised-routes|packet-queue>
-show ip bgp update-groups SUBGROUP-ID
-show ip bgp update-groups SUBGROUP-ID <advertise-queue|advertised-routes|packet-queue>
-show ip bgp view WORD ipv4 <unicast|multicast> summary [json]
-show ip bgp vpnv4 all
-show ip bgp vpnv4 all A.B.C.D [json]
-show ip bgp vpnv4 all A.B.C.D/M [json]
-show ip bgp vpnv4 all neighbors <A.B.C.D|X:X::X:X|WORD> prefix-counts [json]
-show ip bgp vpnv4 all neighbors A.B.C.D advertised-routes [json]
-show ip bgp vpnv4 all neighbors A.B.C.D routes [json]
-show ip bgp vpnv4 all neighbors A.B.C.D [json]
-show ip bgp vpnv4 all neighbors [json]
-show ip bgp vpnv4 all summary [json]
-show ip bgp vpnv4 all tags
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn A.B.C.D [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn A.B.C.D/M [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D advertised-routes [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D routes [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn summary [json]
-show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn tags
-show ip bgp [json]
-show ip community-list
-show ip community-list <(1-500)|WORD>
-show ip extcommunity-list
-show ip extcommunity-list <(1-500)|WORD>
-show ipv6 bgp X:X::X:X [json]
-show ipv6 bgp X:X::X:X/M longer-prefixes
-show ipv6 bgp X:X::X:X/M [json]
-show ipv6 bgp community
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 bgp community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 bgp community-list WORD
-show ipv6 bgp community-list WORD exact-match
-show ipv6 bgp filter-list WORD
-show ipv6 bgp neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show ipv6 bgp neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show ipv6 bgp neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show ipv6 bgp prefix-list WORD
-show ipv6 bgp regexp LINE
-show ipv6 bgp summary [json]
-show ipv6 bgp [json]
-show ipv6 mbgp X:X::X:X [json]
-show ipv6 mbgp X:X::X:X/M longer-prefixes
-show ipv6 mbgp X:X::X:X/M [json]
-show ipv6 mbgp community
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export>
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 mbgp community <AA:NN|local-AS|no-advertise|no-export> exact-match
-show ipv6 mbgp community-list WORD
-show ipv6 mbgp community-list WORD exact-match
-show ipv6 mbgp filter-list WORD
-show ipv6 mbgp neighbors <A.B.C.D|X:X::X:X|WORD> advertised-routes [json]
-show ipv6 mbgp neighbors <A.B.C.D|X:X::X:X|WORD> received-routes [json]
-show ipv6 mbgp neighbors <A.B.C.D|X:X::X:X|WORD> routes [json]
-show ipv6 mbgp prefix-list WORD
-show ipv6 mbgp regexp LINE
-show ipv6 mbgp summary [json]
-show ipv6 mbgp [json]
-table-map WORD
-timers bgp (0-65535) (0-65535)
-update-delay (0-3600)
-update-delay (0-3600) (1-3600)
-write-quanta (1-10000)