diff --git a/doc/user/index.rst b/doc/user/index.rst index 5a018a5583..c8ad85c0c7 100644 --- a/doc/user/index.rst +++ b/doc/user/index.rst @@ -31,6 +31,7 @@ Basics kernel snmp scripting + nexthop_groups .. modules ######### diff --git a/doc/user/nexthop_groups.rst b/doc/user/nexthop_groups.rst new file mode 100644 index 0000000000..45f64eecb7 --- /dev/null +++ b/doc/user/nexthop_groups.rst @@ -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. diff --git a/doc/user/pbr.rst b/doc/user/pbr.rst index 9b19eb028a..0cdb206dd5 100644 --- a/doc/user/pbr.rst +++ b/doc/user/pbr.rst @@ -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 diff --git a/doc/user/subdir.am b/doc/user/subdir.am index 14ace2c856..825938b31c 100644 --- a/doc/user/subdir.am +++ b/doc/user/subdir.am @@ -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 \