]> git.proxmox.com Git - mirror_frr.git/blobdiff - doc/user/sharp.rst
Merge pull request #3899 from ton31337/fix/remove_private_as_with_local_as
[mirror_frr.git] / doc / user / sharp.rst
index 090628044c228d7562712af8d5bda686bab6d0e9..4568c2a9010c3cb34b6b8a40555c24ed350abce9 100644 (file)
@@ -1,13 +1,13 @@
 .. _sharp:
 
-***
+*****
 SHARP
-***
+*****
+
+:abbr:`SHARP (Super Happy Advanced Routing Process)` is a daemon that provides
+miscellaneous functionality used for testing FRR and creating proof-of-concept
+labs.
 
-:abbr:`SHARP` Super Happy Advanced Routing Process.  This daemon is useful
-for the testing of FRR itself as well as useful for creation of Proof of
-Concept labs.
-      
 .. _starting-sharp:
 
 Starting SHARP
@@ -26,42 +26,63 @@ documented elsewhere.
 
 .. _using-sharp:
 
-USING SHARP
+Using SHARP
 ===========
 
-All sharp commands are under the enable node and proceeded by the
-:abbr:`sharp` keyword.  There are currently no permenent sharp
-commands for configuration.
-
-..index:: sharp install
-..clicmd:: sharp install routes A.B.C.D nexthop E.F.G.H (1-1000000)
-
-Install up to a million /32 routes starting at A.B.C.D with specified nexthop
-E.F.G.H.  The nexthop is a NEXTHOP_TYPE_IPV4 and must be reachable to be
-installed into the kernel.  The routes are installed into zebra as
-ZEBRA_ROUTE_SHARP and can be used as part of a normal route redistribution.
-Route installation time is noted in the debug log and upon zebra successful
-installation into the kernel and sharp receiving the notification of all
-route installs the success will be noted in the debug log as well.
-
-..index:: sharp remove
-..clicmd:: sharp remove routes A.B.C.D (1-1000000)
-
-Remove up 1000000 million /32 routes starting at A.B.C.D.  The routes are
-removed from zebra.  Route deletion start is noted in the debug log
-and when all routes have been successfully deleted the debug log will
-be updated with this information as well.
-
-..index:: sharp label
-..clicmd:: sharp label <ipv4|ipv6> vrf NAME label (0-1000000)
-
-Install a label into the kernel that causes the specified vrf NAME table to be
-used for pop and forward operations when the specified label is seen.
-
-..index:: sharp watch
-..clicmd: sharp watch nexthop <A.B.C.D|X:X::X:X>
-
-Instruct zebra to monitor and notify sharp when the specified nexthop is
-changed.  The notification from zebra is written into the debug log.
-
-
+All sharp commands are under the enable node and preceded by the ``sharp``
+keyword. At present, no sharp commands will be preserved in the config.
+
+.. index:: sharp install
+.. clicmd:: sharp install routes A.B.C.D <nexthop <E.F.G.H|X:X::X:X>|nexthop-group NAME> (1-1000000) [instance (0-255)] [repeat (2-1000)]
+
+   Install up to 1,000,000 (one million) /32 routes starting at ``A.B.C.D``
+   with specified nexthop ``E.F.G.H`` or ``X:X::X:X``. The nexthop is
+   a ``NEXTHOP_TYPE_IPV4`` or ``NEXTHOP_TYPE_IPV6`` and must be reachable
+   to be installed into the kernel. Alternatively a nexthop-group NAME
+   can be specified and used as the nexthops.  The routes are installed into
+   zebra as ``ZEBRA_ROUTE_SHARP`` and can be used as part of a normal route
+   redistribution. Route installation time is noted in the debug
+   log. When zebra successfully installs a route into the kernel and SHARP
+   receives success notifications for all routes this is logged as well.
+   Instance (0-255) if specified causes the routes to be installed in a different
+   instance. If repeat is used then we will install/uninstall the routes the
+   number of times specified.
+
+.. index:: sharp remove
+.. clicmd:: sharp remove routes A.B.C.D (1-1000000)
+
+   Remove up to 1,000,000 (one million) /32 routes starting at ``A.B.C.D``. The
+   routes are removed from zebra. Route deletion start is noted in the debug
+   log and when all routes have been successfully deleted the debug log will be
+   updated with this information as well.
+
+.. index:: sharp data route
+.. clicmd:: sharp data route
+
+   Allow end user doing route install and deletion to get timing information
+   from the vty or vtysh instead of having to read the log file.  This command
+   is informational only and you should look at sharp_vty.c for explanation
+   of the output as that it may change.
+
+.. index:: sharp label
+.. clicmd:: sharp label <ipv4|ipv6> vrf NAME label (0-1000000)
+
+   Install a label into the kernel that causes the specified vrf NAME table to
+   be used for pop and forward operations when the specified label is seen.
+
+.. index:: sharp watch
+.. clicmd:: [no] sharp watch <nexthop|import> <A.B.C.D|X:X::X:X> [connected]
+
+   Instruct zebra to monitor and notify sharp when the specified nexthop is
+   changed. The notification from zebra is written into the debug log.
+   The nexthop or import choice chooses the type of nexthop we are asking
+   zebra to watch for us.  This choice affects zebra's decision on what
+   matches.  Connected tells zebra whether or not that we want the route
+   matched against to be a static or connected route.  The no form of
+   the command obviously turns this watching off.
+
+.. index:: sharp data nexthop
+.. clicmd:: sharp data nexthop
+
+   Allow end user to dump associated data with the nexthop tracking that
+   may have been turned on.