mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 16:04:49 +00:00
doc: document 'show cli graph'
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
20b35e468d
commit
8957c78a9e
@ -756,27 +756,30 @@ Consider also:
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
show <ip|ipv6> foo
|
show <ip|ipv6> foo
|
||||||
|
|
||||||
User input:
|
User input:
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
show ip foo
|
show ip foo
|
||||||
|
|
||||||
``ip`` partially matches ``ipv6`` but exactly matches ``ip``, so ``ip`` will
|
``ip`` partially matches ``ipv6`` but exactly matches ``ip``, so ``ip`` will
|
||||||
win.
|
win.
|
||||||
|
|
||||||
|
Inspection & Debugging
|
||||||
|
----------------------
|
||||||
|
|
||||||
Permutations
|
Permutations
|
||||||
------------
|
^^^^^^^^^^^^
|
||||||
Finally, it is sometimes useful to check all the possible combinations of input
|
It is sometimes useful to check all the possible combinations of input that
|
||||||
that would match an arbitrary definition string. There is a tool in
|
would match an arbitrary definition string. There is a tool in
|
||||||
:file:`tools/permutations` that reads CLI definition strings on ``stdin`` and
|
:file:`tools/permutations` that reads CLI definition strings on ``stdin`` and
|
||||||
prints out all matching input permutations. It also dumps a text representation
|
prints out all matching input permutations. It also dumps a text representation
|
||||||
of the graph, which is more useful for debugging than anything else. It looks
|
of the graph, which is more useful for debugging than anything else. It looks
|
||||||
like this:
|
like this:
|
||||||
|
|
||||||
::
|
.. code-block:: shell
|
||||||
|
|
||||||
$ ./permutations "show [ip] bgp [<view|vrf> WORD]"
|
$ ./permutations "show [ip] bgp [<view|vrf> WORD]"
|
||||||
|
|
||||||
@ -787,6 +790,29 @@ like this:
|
|||||||
show bgp vrf WORD
|
show bgp vrf WORD
|
||||||
show bgp
|
show bgp
|
||||||
|
|
||||||
This functionality is also built into VTY/VTYSH; the ``list permutations``
|
This functionality is also built into VTY/VTYSH; :clicmd:`list permutations`
|
||||||
command will list all possible matching input permutations in the current CLI
|
will list all possible matching input permutations in the current CLI node.
|
||||||
node.
|
|
||||||
|
Graph Inspection
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
When in the Telnet or VTYSH console, :clicmd:`show cli graph` will dump the
|
||||||
|
entire command space of the current mode in the DOT graph language. This can be
|
||||||
|
fed into one of the various GraphViz layout engines, such as ``dot``,
|
||||||
|
``neato``, etc.
|
||||||
|
|
||||||
|
For example, to generate an image of the entire command space for the top-level
|
||||||
|
mode (``ENABLE_NODE``):
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo vtysh -c 'show cli graph' | dot -Tjpg -Grankdir=LR > graph.jpg
|
||||||
|
|
||||||
|
To do the same for the BGP mode:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo vtysh -c 'conf t' -c 'router bgp' -c 'show cli graph' | dot -Tjpg -Grankdir=LR > bgpgraph.jpg
|
||||||
|
|
||||||
|
This information is very helpful when debugging command resolution, tracking
|
||||||
|
down duplicate / ambiguous commands, and debugging patches to the CLI graph
|
||||||
|
builder.
|
||||||
|
Loading…
Reference in New Issue
Block a user