doc: Add nexthop_groups documentation

Remove the nexthop groups documentation from pbr.rst and
make it `generic`.  Add the resilient buckets nexthop
group type.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2022-10-24 14:26:11 -04:00
parent ca2b346783
commit 1e8a2920cb
4 changed files with 42 additions and 20 deletions

View File

@ -31,6 +31,7 @@ Basics
kernel
snmp
scripting
nexthop_groups
.. modules
#########

View File

@ -0,0 +1,29 @@
.. _nexthop-groups:
Nexthop Groups
==============
Nexthop groups are a way to encapsulate ECMP information together. It's a
listing of ECMP nexthops used to forward packets.
.. clicmd:: nexthop-group NAME
Create a nexthop-group with an associated NAME. This will put you into a
sub-mode where you can specify individual nexthops. To exit this mode type
exit or end as per normal conventions for leaving a sub-mode.
.. clicmd:: nexthop [A.B.C.D|X:X::X:XX] [interface [onlink]] [nexthop-vrf NAME] [label LABELS]
Create a v4 or v6 nexthop. All normal rules for creating nexthops that you
are used to are allowed here. The syntax was intentionally kept the same as
creating nexthops as you would for static routes.
.. clicmd:: resilient buckets (1-256) idle-timer (1-4294967295) unbalanced-timer (1-4294967295)
Create a resilient Nexthop Group with the specified number of buckets, and
associated timers. Instead of using the normal kernel hashing methodology
this specifies that X buckets will be created for the nexthop group and
when a nexthop is lost the buckets forwarding that particular nexthop
will be automatically re-assigned. This cli command must be the first
command entered currently. Additionally this command only works with linux 5.19
kernels or newer.

View File

@ -32,26 +32,8 @@ Nexthop Groups
Nexthop groups are a way to encapsulate ECMP information together. It's a
listing of ECMP nexthops used to forward packets for when a pbr-map is matched.
.. clicmd:: nexthop-group NAME
Create a nexthop-group with an associated NAME. This will put you into a
sub-mode where you can specify individual nexthops. To exit this mode type
exit or end as per normal conventions for leaving a sub-mode.
.. clicmd:: nexthop [A.B.C.D|X:X::X:XX] [interface [onlink]] [nexthop-vrf NAME] [label LABELS]
Create a v4 or v6 nexthop. All normal rules for creating nexthops that you
are used to are allowed here. The syntax was intentionally kept the same as
creating nexthops as you would for static routes.
.. clicmd:: pbr table range (10000-4294966272) (10000-4294966272)
Set or unset the range used to assign numeric table ID's to new
nexthop-group tables. Existing tables will not be modified to fit in this
range, so it is recommended to configure this before adding nexthop groups.
.. seealso:: :ref:`pbr-details`
For detailed instructions on how to specify a nexthop group on the CLI, see
the nexthop-groups section.
Showing Nexthop Group Information
---------------------------------
@ -301,6 +283,15 @@ causes the policy to be installed into the kernel.
| valid | Is the map well-formed? | Boolean |
+--------+----------------------------+---------+
.. clicmd:: pbr table range (10000-4294966272) (10000-4294966272)
Set or unset the range used to assign numeric table ID's to new
nexthop-group tables. Existing tables will not be modified to fit in this
range, so it is recommended to configure this before adding nexthop groups.
.. seealso:: :ref:`pbr-details`
.. _pbr-debugs:
PBR Debugs

View File

@ -22,6 +22,7 @@ user_RSTFILES = \
doc/user/ipv6.rst \
doc/user/isisd.rst \
doc/user/kernel.rst \
doc/user/nexthop_groups.rst \
doc/user/nhrpd.rst \
doc/user/ospf6d.rst \
doc/user/ospfd.rst \