Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #2140 from donaldsharp/sharp_doc
doc: Add some documentation for the sharp daemon
  • Loading branch information
louberger committed May 1, 2018
2 parents 62196e6 + a348835 commit b2bcf9e
Show file tree
Hide file tree
Showing 6 changed files with 114 additions and 0 deletions.
6 changes: 6 additions & 0 deletions doc/Makefile.am
Expand Up @@ -82,6 +82,10 @@ if EIGRPD
man_MANS += $(MANPAGE_BUILDDIR)/eigrpd.8
endif

if SHARPD
man_MANS += $(MANPAGE_BUILDDIR)/sharpd.8
endif

# Automake is particular about manpages. It is aware of them and has some
# special facilities for handling them, but it assumes that manpages are always
# given in groff source and so these facilities are limited to simply
Expand Down Expand Up @@ -146,6 +150,7 @@ EXTRA_DIST = frr-sphinx.mk \
manpages/ripd.rst \
manpages/pbrd.rst \
manpages/ripngd.rst \
manpages/sharpd.rst \
manpages/vtysh.rst \
manpages/watchfrr.rst \
manpages/zebra.rst \
Expand Down Expand Up @@ -212,6 +217,7 @@ EXTRA_DIST = frr-sphinx.mk \
user/routemap.rst \
user/routeserver.rst \
user/rpki.rst \
user/sharp.rst \
user/snmp.rst \
user/snmptrap.rst \
user/Useful_Sysctl_Settings.md \
Expand Down
1 change: 1 addition & 0 deletions doc/manpages/conf.py
Expand Up @@ -323,6 +323,7 @@
('nhrpd', 'nhrpd', fwfrr.format("a Next Hop Routing Protocol "), [], 8),
('pimd', 'pimd', fwfrr.format("a PIM "), [], 8),
('pbrd', 'pbrd', fwfrr.format("a PBR "), [], 8),
('sharpd', 'sharpd', fwfrr.format("a SHARP "), [], 8),
('mtracebis', 'mtracebis', "a multicast trace client", [], 8),
('ripd', 'ripd', fwfrr.format("a RIP "), [], 8),
('ripngd', 'ripngd', fwfrr.format("a RIPNG "), [], 8),
Expand Down
1 change: 1 addition & 0 deletions doc/manpages/index.rst
Expand Up @@ -22,6 +22,7 @@ Welcome to FRR's documentation!
mtracebis
ripd
ripngd
sharpd
watchfrr
zebra
vtysh
Expand Down
38 changes: 38 additions & 0 deletions doc/manpages/sharpd.rst
@@ -0,0 +1,38 @@
******
SHARPD
******

.. include:: defines.rst
.. |DAEMON| replace:: sharpd

SYNOPSIS
========
|DAEMON| |synopsis-options-hv|

|DAEMON| |synopsis-options|

DESCRIPTION
===========
|DAEMON| is a routing component that works with the FRRouting engine.

OPTIONS
=======
OPTIONS available for the |DAEMON| command:

.. include:: common-options.rst

FILES
=====

|INSTALL_PREFIX_SBIN|/|DAEMON|
The default location of the |DAEMON| binary.

|INSTALL_PREFIX_ETC|/|DAEMON|.conf
The default location of the |DAEMON| config file.

$(PWD)/|DAEMON|.log
If the |DAEMON| process is configured to output logs to a file, then you will find this file in the directory where you started |DAEMON|.

.. include:: epilogue.rst


1 change: 1 addition & 0 deletions doc/user/index.rst
Expand Up @@ -25,6 +25,7 @@ Welcome to FRR's documentation!
pbr
ripd
ripngd
sharp
vnc
glossary
appendix
Expand Down
67 changes: 67 additions & 0 deletions doc/user/sharp.rst
@@ -0,0 +1,67 @@
.. _sharp:

***
SHARP
***

: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
==============

Default configuration file for *sharpd* is :file:`sharpd.conf`. The typical
location of :file:`sharpd.conf` is |INSTALL_PREFIX_ETC|/sharpd.conf.

If the user is using integrated config, then :file:`sharpd.conf` need not be
present and the :file:`frr.conf` is read instead.

.. program:: sharpd

:abbr:`SHARP` supports all the common FRR daemon start options which are
documented elsewhere.

.. _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.


0 comments on commit b2bcf9e

Please sign in to comment.