diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-04-15 12:39:08 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-04-15 12:39:08 +0300 |
| commit | 1802518c053bde050074d85a137ffe672ec99e53 (patch) | |
| tree | c964bba1226ceceac324e7377728da2d1145758d /docs/configuration/protocols | |
| parent | 2ff3232cac2278f22624a0a2e8daf2280b14912c (diff) | |
| parent | f0402b1a08c393c6f12896e2d27c339030f030b2 (diff) | |
| download | vyos-documentation-1802518c053bde050074d85a137ffe672ec99e53.tar.gz vyos-documentation-1802518c053bde050074d85a137ffe672ec99e53.zip | |
merge: resolve CLAUDE.md conflict, keep current branch version
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs/configuration/protocols')
| -rw-r--r-- | docs/configuration/protocols/index.rst | 1 | ||||
| -rw-r--r-- | docs/configuration/protocols/isis.rst | 147 | ||||
| -rw-r--r-- | docs/configuration/protocols/static.rst | 36 | ||||
| -rw-r--r-- | docs/configuration/protocols/traffic-engineering.rst | 51 |
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. |
