summaryrefslogtreecommitdiff
path: root/docs/configuration/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration/protocols')
-rw-r--r--docs/configuration/protocols/index.rst1
-rw-r--r--docs/configuration/protocols/isis.rst147
-rw-r--r--docs/configuration/protocols/static.rst36
-rw-r--r--docs/configuration/protocols/traffic-engineering.rst51
4 files changed, 229 insertions, 6 deletions
diff --git a/docs/configuration/protocols/index.rst b/docs/configuration/protocols/index.rst
index f95c1cf6..d40a4b12 100644
--- a/docs/configuration/protocols/index.rst
+++ b/docs/configuration/protocols/index.rst
@@ -16,6 +16,7 @@ Protocols
mpls
multicast
segment-routing
+ traffic-engineering
openfabric
ospf
pim
diff --git a/docs/configuration/protocols/isis.rst b/docs/configuration/protocols/isis.rst
index 0fb0e9e0..75634800 100644
--- a/docs/configuration/protocols/isis.rst
+++ b/docs/configuration/protocols/isis.rst
@@ -355,6 +355,69 @@ Loop Free Alternate (LFA)
This command will limit LFA backup computation up to the specified
prefix priority.
+Segment Routing over IPv6 (SRv6)
+-------------------------
+
+.. cfgcmd:: set protocols isis segment-routing srv6 interface <interface>
+
+ The :ref:`dummy interface<configuration/interfaces/dummy:dummy>` used
+ to install SRv6 SIDs into the Linux data plane. The interface must exist and
+ must be present when configuring IS-IS with
+ SRv6.
+
+.. cfgcmd:: set protocols isis segment-routing srv6 locator <locator>
+
+ Specifies the SRv6 locator to use for IS-IS. IS-IS automatically allocates
+ prefix and adjacency SIDs, creates local SID entries and advertises them
+ into the IGP domain.
+
+.. cfgcmd:: set protocols isis segment-routing srv6 node-msd max-end-d <0-255>
+
+ The Maximum End D MSD Type specifies the maximum number of SIDs present in an
+ SRH when performing decapsulation. As specified in :rfc:`8986`, the permitted
+ SID types include, but are not limited to, End.DX6, End.DT4, End.DT46, End
+ with USD, and End.X with USD.
+
+ If the advertised value is zero or no value is advertised, then the router
+ cannot apply any behavior that results in decapsulation and forwarding of the
+ inner packet if the outer IPv6 header contains an SRH.
+
+ Reference: :rfc:`9352`
+
+.. cfgcmd:: set protocols isis segment-routing srv6 node-msd max-end-pop <0-255>
+
+ The Maximum End Pop MSD Type signals the maximum number of SIDs in the SRH to
+ which the router can apply "Penultimate Segment Pop (PSP) of the SRH" or
+ "Ultimate Segment Pop (USP) of the SRH" behavior, as defined in "Flavors"
+ (Section 4.16 of :rfc:`8986`).
+
+ If the advertised value is zero or no value is advertised, then the router
+ cannot apply PSP or USP flavors.
+
+ Reference: :rfc:`9352`
+
+.. cfgcmd:: set protocols isis segment-routing srv6 node-msd max-h-encaps <0-255>
+
+ The Maximum H.Encaps MSD Type signals the maximum number of SIDs that can be
+ added to the segment list of an SRH as part of the "H.Encaps" behavior, as
+ defined in :rfc:`8986`.
+
+ If the advertised value is zero or no value is advertised, then the headend
+ can apply an SR Policy that only contains one segment without inserting any
+ SRH header. A non-zero SRH Max H.encaps MSD indicates that the headend can
+ insert an SRH up to the advertised number of SIDs.
+
+ Reference: :rfc:`9352`
+
+.. cfgcmd:: set protocols isis segment-routing srv6 node-msd max-segs-left <0-255>
+
+ The Maximum Segments Left MSD Type signals the maximum value of the
+ "Segments Left" field (:rfc:`8754`) in the SRH of a received packet before
+ applying the Endpoint behavior associated with a SID.
+
+ If no value is advertised, the supported value is 0.
+
+ Reference: :rfc:`9352`
********
Examples
@@ -598,3 +661,87 @@ Here is the routing tables showing the MPLS segment routing label operations:
I 192.0.2.0/24 [115/20] via 192.0.2.1, eth1 inactive, weight 1, 00:07:46
I>* 192.168.255.255/32 [115/20] via 192.0.2.1, eth1, label IPv4 Explicit Null, weight 1, 00:03:43
+
+Enable IS-IS with Segment Routing over IPv6 (Experimental)
+==========================================================
+
+**Node 1:**
+
+.. code-block:: none
+
+ set interfaces dummy dum6 description "SRv6 IS-IS"
+ set interfaces ethernet eth1 address '192.0.2.1/24'
+ set interfaces loopback lo address '192.168.255.255/32'
+
+ set protocols segment-routing srv6 locator MAIN prefix 2001:db8:1::/64
+ set protocols segment-routing interface eth1
+
+ set protocols isis interface eth1
+ set protocols isis interface lo
+ set protocols isis net '49.0001.1921.6825.5255.00'
+ set protocols isis segment-routing srv6 locator MAIN
+ set protocols isis segment-routing srv6 interface dum6
+
+**Node 2:**
+
+.. code-block:: none
+
+ set interfaces dummy dum6 description "SRv6 IS-IS"
+ set interfaces ethernet eth1 address '192.0.2.2/24'
+ set interfaces loopback lo address '192.168.255.254/32'
+
+ set protocols segment-routing srv6 locator MAIN prefix 2001:db8:2::/64
+ set protocols segment-routing interface eth1
+
+ set protocols isis interface eth1
+ set protocols isis interface lo
+ set protocols isis net '49.0001.1921.6825.5254.00'
+ set protocols isis segment-routing srv6 locator MAIN
+ set protocols isis segment-routing srv6 interface dum6
+
+Enable IS-IS with Segment Routing over IPv6 (uSID) (Experimental)
+=================================================================
+
+**Node 1:**
+
+.. code-block:: none
+
+ set interfaces dummy dum6 description "SRv6 IS-IS"
+ set interfaces ethernet eth1 address '192.0.2.1/24'
+ set interfaces loopback lo address '192.168.255.255/32'
+
+ set protocols segment-routing interface eth1
+ set protocols segment-routing srv6 locator MAIN prefix 2001:db8:1::/48
+ set protocols segment-routing srv6 locator MAIN behavior-usid
+ set protocols segment-routing srv6 locator MAIN block-len 32
+ set protocols segment-routing srv6 locator MAIN format usid-f3216
+ set protocols segment-routing srv6 locator MAIN func-bits 16
+ set protocols segment-routing srv6 locator MAIN node-len 16
+
+ set protocols isis interface eth1
+ set protocols isis interface lo
+ set protocols isis net '49.0001.1921.6825.5255.00'
+ set protocols isis segment-routing srv6 interface dum6
+ set protocols isis segment-routing srv6 locator MAIN
+
+**Node 2:**
+
+.. code-block:: none
+
+ set interfaces dummy dum6 description "SRv6 IS-IS"
+ set interfaces ethernet eth1 address '192.0.2.2/24'
+ set interfaces loopback lo address '192.168.255.254/32'
+
+ set protocols segment-routing interface eth1
+ set protocols segment-routing srv6 locator MAIN prefix 2001:db8:2::/48
+ set protocols segment-routing srv6 locator MAIN behavior-usid
+ set protocols segment-routing srv6 locator MAIN block-len 32
+ set protocols segment-routing srv6 locator MAIN format usid-f3216
+ set protocols segment-routing srv6 locator MAIN func-bits 16
+ set protocols segment-routing srv6 locator MAIN node-len 16
+
+ set protocols isis interface eth1
+ set protocols isis interface lo
+ set protocols isis net '49.0001.1921.6825.5254.00'
+ set protocols isis segment-routing srv6 interface dum6
+ set protocols isis segment-routing srv6 locator MAIN
diff --git a/docs/configuration/protocols/static.rst b/docs/configuration/protocols/static.rst
index 3e3eb47b..eb5a439c 100644
--- a/docs/configuration/protocols/static.rst
+++ b/docs/configuration/protocols/static.rst
@@ -70,8 +70,12 @@ IPv4 BFD
Configure a static route for `<subnet>` using gateway `<address>` and use the
gateway address as BFD peer destination address.
+.. stop_vyoslinter
+
.. cfgcmd:: set protocols static route <subnet> next-hop <address> bfd profile <profile>
+.. start_vyoslinter
+
Configure a static route for `<subnet>` using gateway `<address>` and use the
gateway address as BFD peer destination address with BFD profile `<profile>`.
@@ -153,13 +157,20 @@ IPv6 Unicast Routes
.. note:: Routes with a distance of 255 are effectively disabled and not
installed into the kernel.
+.. stop_vyoslinter
+
.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> segments <segments>
- It is possible to specify a static route for ipv6 prefixes using an SRv6 segments
- instruction. The `/` separator can be used to specify multiple segment instructions.
+.. start_vyoslinter
+
+ It is possible to specify a static route for ipv6 prefixes using an
+ SRv6 segments instruction. The ``/`` separator can be used to specify
+ multiple segment instructions.
Example:
+.. stop_vyoslinter
+
.. code-block:: none
set protocols static route6 2001:db8:1000::/36 next-hop 2001:db8:201::ffff segments '2001:db8:aaaa::7/2002::4/2002::3/2002::2'
@@ -176,6 +187,8 @@ IPv6 Unicast Routes
C>* 2001:db8:201::/64 is directly connected, eth0.201, 00:00:46
S>* 2001:db8:1000::/36 [1/0] via 2001:db8:201::ffff, eth0.201, seg6 2001:db8:aaaa::7,2002::4,2002::3,2002::2, weight 1, 00:00:08
+.. start_vyoslinter
+
IPv6 Interface Routes
=====================
@@ -202,15 +215,20 @@ IPv6 Interface Routes
.. cfgcmd:: set protocols static route6 <subnet> interface
<interface> segments <segments>
- It is possible to specify a static route for ipv6 prefixes using an SRv6 segments
- instruction. The `/` separator can be used to specify multiple segment instructions.
+ It is possible to specify a static route for ipv6 prefixes using an
+ SRv6 segments instruction. The ``/`` separator can be used to specify
+ multiple segment instructions.
Example:
+.. stop_vyoslinter
+
.. code-block:: none
set protocols static route6 2001:db8:1000::/36 interface eth0 segments '2001:db8:aaaa::7/2002::4/2002::3/2002::2'
+.. start_vyoslinter
+
IPv6 BFD
========
@@ -219,14 +237,22 @@ IPv6 BFD
Configure a static route for `<subnet>` using gateway `<address>` and use the
gateway address as BFD peer destination address.
+.. stop_vyoslinter
+
.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> bfd profile <profile>
+.. start_vyoslinter
+
Configure a static route for `<subnet>` using gateway `<address>` and use the
gateway address as BFD peer destination address with BFD profile `<profile>`.
+.. stop_vyoslinter
+
.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> bfd multi-hop
source-address <source>
+.. start_vyoslinter
+
Configure a static route for `<subnet>` using gateway `<address>` and use the
gateway address as BFD peer destination address with source address
`<source>` but initiate a multi-hop session.
@@ -271,7 +297,5 @@ IPv6 Blackhole Routes
Alternate Routing Tables
************************
-TBD
-
Alternate routing tables are used with policy based routing by utilizing
:ref:`vrf`.
diff --git a/docs/configuration/protocols/traffic-engineering.rst b/docs/configuration/protocols/traffic-engineering.rst
new file mode 100644
index 00000000..977a5e5c
--- /dev/null
+++ b/docs/configuration/protocols/traffic-engineering.rst
@@ -0,0 +1,51 @@
+.. _traffic-engineering:
+
+###################
+Traffic Engineering
+###################
+
+Traffic Engineering (TE) is possibility to send traffic from node to node using
+alternative path.
+
+Common link parameters
+----------------------
+
+Traffic Engineering parameters are used for both IS-IS and OSPF (not supported yet).
+
+.. cfgcmd:: set protocols traffic-engineering admin-group <admin-group-name> bit-position <bit-position-value>
+
+ Create Administrative group and assosiate bit position with it. These groups can be
+ used in the following commands.
+
+ <bit-position-value> can have value 0-31. There cannot be two groups with same bit position.
+
+.. cfgcmd:: set protocols traffic-engineering interface <ifname> admin-group <admin-group-name>
+
+ Set administrative group for interface <ifname>. Multiple values can be provided.
+
+.. cfgcmd:: set protocols traffic-engineering interface <ifname> max-bandwidth <max-bandwidth-value-mbps>
+
+ Set maximum bandwidth for interface <ifname>. Value given in Mbits per second.
+
+.. cfgcmd:: set protocols traffic-engineering interface <ifname> max-reservable-bandwidth <max-reservable-bandwidth-value-mbps>
+
+ Set maximum reservable bandwidth for interface <ifname>. Value given in Mbits per second.
+
+
+IS-IS TE Configuration
+----------------------
+
+Traffic Engineering (TE) can be enabled and exported for IS-IS
+using the following commands:
+
+.. cfgcmd:: set protocols isis traffic-engineering enable
+
+ Enable Traffic Engineering for IS-IS.
+
+.. cfgcmd:: set protocols isis traffic-engineering export
+
+ Export Traffic Engineering data to neighbors.
+
+.. cfgcmd:: set protocols isis traffic-engineering address <ipv4-address>
+
+ Configure IPv4 address for MPLS-TE.