]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Add completion string convenience functions
authorQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 10 Aug 2016 18:31:15 +0000 (18:31 +0000)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 10 Aug 2016 18:31:15 +0000 (18:31 +0000)
And set END_GN default text to <cr>, and scrub
a coupld of extraneous files

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
feed.x [deleted file]
lib/command_match.c
lib/command_match.h
lib/command_parse.y
lib/grammar_sandbox.c
opt.txt [deleted file]

diff --git a/feed.x b/feed.x
deleted file mode 100755 (executable)
index cbff194..0000000
--- 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
index 285a776a7c0144cfae55e52235f47ca10528d7f3..d5efa3968619f8fa704aba7a079c25fc24b21946 100644 (file)
@@ -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;
 
@@ -301,6 +304,54 @@ match_command_complete (struct graph_node *start, vector vline, struct list **co
   return matcher_rv;
 }
 
+/**
+ * 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.
index 6804a0777a9c189727ece870cdbf350e59d1c03f..e8a408495ef57c6c95fe7f16f70fbeb4761760e3 100644 (file)
@@ -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 */
index 56c58fdaedc149a8a16b909a7c2bd17a5f267870..df90f64edb0d91f5e9f9d7c47d5606f65ee07b92 100644 (file)
@@ -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
index 6473fc12e32b8b52bf71e2d01f951acc502a406c..899d0469ab9863edcba9868f923dc1e90cbea7db 100644 (file)
@@ -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 (file)
index a63e0b8..0000000
--- 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)