summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-04-10 21:23:55 +0300
committerGitHub <noreply@github.com>2026-04-10 19:23:55 +0100
commitd21db5fddd91e20e420b63928a8398745f571710 (patch)
tree939d86c25fe91329d499e78f5e37795d1bd8a938 /docs
parent720676e95b5123202e47ed8e0367d1e239344939 (diff)
downloadvyos-documentation-d21db5fddd91e20e420b63928a8398745f571710.tar.gz
vyos-documentation-d21db5fddd91e20e420b63928a8398745f571710.zip
docs: fix code-block indentation (tabs to spaces) (#1825)
* docs: fix tab-to-space indentation in code blocks across 5 files Replace tab characters with spaces inside code-block and output directives for consistent rendering. Also rewrap long prose lines for readability. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore: remove accidentally committed settings file Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: fix inconsistent indentation in trafficpolicy and qos code blocks Normalize indentation within code blocks where tab-to-space conversion left some entries misaligned (tbit, gibps, tibps in trafficpolicy; egress command in qos). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/cli.rst44
-rw-r--r--docs/configexamples/l3vpn-hub-and-spoke.rst419
-rw-r--r--docs/configexamples/qos.rst138
-rw-r--r--docs/configuration/trafficpolicy/index.rst64
-rw-r--r--docs/installation/install.rst2
5 files changed, 355 insertions, 312 deletions
diff --git a/docs/cli.rst b/docs/cli.rst
index 515ea85a..778d3954 100644
--- a/docs/cli.rst
+++ b/docs/cli.rst
@@ -878,21 +878,21 @@ VyOS lets you compare different configurations.
vyos@vyos# compare [tab]
Possible completions:
- <Enter> Compare working & active configurations
- saved Compare working & saved configurations
- <N> Compare working with revision N
- <N> <M> Compare revision N with M
+ <Enter> Compare working & active configurations
+ saved Compare working & saved configurations
+ <N> Compare working with revision N
+ <N> <M> Compare revision N with M
Revisions:
- 0 2013-12-17 20:01:37 root by boot-config-loader
- 1 2013-12-13 15:59:31 root by boot-config-loader
- 2 2013-12-12 21:56:22 vyos by cli
- 3 2013-12-12 21:55:11 vyos by cli
- 4 2013-12-12 21:27:54 vyos by cli
- 5 2013-12-12 21:23:29 vyos by cli
- 6 2013-12-12 21:13:59 root by boot-config-loader
- 7 2013-12-12 16:25:19 vyos by cli
- 8 2013-12-12 15:44:36 vyos by cli
- 9 2013-12-12 15:42:07 root by boot-config-loader
+ 0 2013-12-17 20:01:37 root by boot-config-loader
+ 1 2013-12-13 15:59:31 root by boot-config-loader
+ 2 2013-12-12 21:56:22 vyos by cli
+ 3 2013-12-12 21:55:11 vyos by cli
+ 4 2013-12-12 21:27:54 vyos by cli
+ 5 2013-12-12 21:23:29 vyos by cli
+ 6 2013-12-12 21:13:59 root by boot-config-loader
+ 7 2013-12-12 16:25:19 vyos by cli
+ 8 2013-12-12 15:44:36 vyos by cli
+ 9 2013-12-12 15:42:07 root by boot-config-loader
10 2013-12-12 15:42:06 root by init
The command :cfgcmd:`compare` allows you to compare different type of
@@ -1027,14 +1027,14 @@ to load it with the ``load`` command:
vyos@vyos# load
Possible completions:
- <Enter> Load from system config file
- <file> Load from file on local machine
- scp://<user>:<passwd>@<host>:/<file> Load from file on remote machine
- sftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
- ftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
- http://<host>/<file> Load from file on remote machine
- https://<host>/<file> Load from file on remote machine
- tftp://<host>/<file> Load from file on remote machine
+ <Enter> Load from system config file
+ <file> Load from file on local machine
+ scp://<user>:<passwd>@<host>:/<file> Load from file on remote machine
+ sftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
+ ftp://<user>:<passwd>@<host>/<file> Load from file on remote machine
+ http://<host>/<file> Load from file on remote machine
+ https://<host>/<file> Load from file on remote machine
+ tftp://<host>/<file> Load from file on remote machine
diff --git a/docs/configexamples/l3vpn-hub-and-spoke.rst b/docs/configexamples/l3vpn-hub-and-spoke.rst
index e4b0d933..c05b9a3f 100644
--- a/docs/configexamples/l3vpn-hub-and-spoke.rst
+++ b/docs/configexamples/l3vpn-hub-and-spoke.rst
@@ -46,7 +46,8 @@ The following software was used in the creation of this document:
**NOTE:** VyOS Router (tested with VyOS 1.4-rolling-202110310317)
– The configurations below are specifically for VyOS 1.4.x.
-General information can be found in the :ref:`configuration/vrf/index:L3VPN VRFs` chapter.
+General information can be found in the
+:ref:`configuration/vrf/index:L3VPN VRFs` chapter.
@@ -64,8 +65,9 @@ Topology
How does it work?
*****************
-As we know the main assumption of L3VPN “Hub and Spoke” is, that the traffic
-between spokes have to pass via hub, in our scenario VyOS-PE2 is the Hub PE
+As we know the main assumption of L3VPN “Hub and Spoke” is, that the
+traffic between spokes have to pass via hub, in our scenario VyOS-PE2
+is the Hub PE
and the VyOS-CE1-HUB is the central customer office device that is responsible
for controlling access between all spokes and announcing its network prefixes
(10.0.0.100/32). VyOS-PE2 has the main VRF (its name is BLUE_HUB), its
@@ -325,10 +327,12 @@ At this step we are going to enable iBGP protocol on MPLS nodes and
Route Reflectors (two routers for redundancy) that will deliver IPv4
VPN (L3VPN) routes between them:
+.. stop_vyoslinter
+
- VyOS-RR1:
.. code-block:: none
-
+
set protocols bgp system-as '65001'
set protocols bgp neighbor 10.0.0.7 address-family ipv4-vpn route-reflector-client
set protocols bgp neighbor 10.0.0.7 peer-group 'RR_VPNv4'
@@ -554,81 +558,81 @@ Let’s check IPv4 routing and MPLS information on provider nodes
vyos@VyOS-P1:~$ show ip ospf neighbor
- Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
- 10.0.0.4 1 Full/Backup 34.718s 172.16.30.2 eth0:172.16.30.1 0 0 0
- 10.0.0.5 1 Full/Backup 35.132s 172.16.40.2 eth1:172.16.40.1 0 0 0
- 10.0.0.7 1 Full/Backup 34.764s 172.16.90.2 eth2:172.16.90.1 0 0 0
- 10.0.0.1 1 Full/Backup 35.642s 172.16.10.2 eth3:172.16.10.1 0 0 0
- 10.0.0.8 1 Full/Backup 35.484s 172.16.100.2 eth5:172.16.100.1 0 0 0
+ Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
+ 10.0.0.4 1 Full/Backup 34.718s 172.16.30.2 eth0:172.16.30.1 0 0 0
+ 10.0.0.5 1 Full/Backup 35.132s 172.16.40.2 eth1:172.16.40.1 0 0 0
+ 10.0.0.7 1 Full/Backup 34.764s 172.16.90.2 eth2:172.16.90.1 0 0 0
+ 10.0.0.1 1 Full/Backup 35.642s 172.16.10.2 eth3:172.16.10.1 0 0 0
+ 10.0.0.8 1 Full/Backup 35.484s 172.16.100.2 eth5:172.16.100.1 0 0 0
- “show mpls ldp neighbor “ for checking ldp neighbors
.. code-block:: none
vyos@VyOS-P1:~$ show mpls ldp neighbor
- AF ID State Remote Address Uptime
- ipv4 10.0.0.1 OPERATIONAL 10.0.0.1 07w5d06h
- ipv4 10.0.0.4 OPERATIONAL 10.0.0.4 09w3d00h
- ipv4 10.0.0.5 OPERATIONAL 10.0.0.5 09w2d23h
- ipv4 10.0.0.7 OPERATIONAL 10.0.0.7 03w0d01h
- ipv4 10.0.0.8 OPERATIONAL 10.0.0.8 01w3d02h
+ AF ID State Remote Address Uptime
+ ipv4 10.0.0.1 OPERATIONAL 10.0.0.1 07w5d06h
+ ipv4 10.0.0.4 OPERATIONAL 10.0.0.4 09w3d00h
+ ipv4 10.0.0.5 OPERATIONAL 10.0.0.5 09w2d23h
+ ipv4 10.0.0.7 OPERATIONAL 10.0.0.7 03w0d01h
+ ipv4 10.0.0.8 OPERATIONAL 10.0.0.8 01w3d02h
- “show mpls ldp binding” for checking mpls label assignment
.. code-block:: none
vyos@VyOS-P1:~$ show mpls ldp discovery
- AF Destination Nexthop Local Label Remote Label In Use
- ipv4 10.0.0.1/32 10.0.0.1 23 imp-null yes
- ipv4 10.0.0.1/32 10.0.0.4 23 20 no
- ipv4 10.0.0.1/32 10.0.0.5 23 17 no
- ipv4 10.0.0.1/32 10.0.0.7 23 16 no
- ipv4 10.0.0.1/32 10.0.0.8 23 16 no
- ipv4 10.0.0.2/32 10.0.0.1 20 16 no
- ipv4 10.0.0.2/32 10.0.0.4 20 22 no
- ipv4 10.0.0.2/32 10.0.0.5 20 24 yes
- ipv4 10.0.0.2/32 10.0.0.7 20 17 no
- ipv4 10.0.0.2/32 10.0.0.8 20 17 no
- ipv4 10.0.0.3/32 10.0.0.1 imp-null 17 no
- ipv4 10.0.0.3/32 10.0.0.4 imp-null 16 no
- ipv4 10.0.0.3/32 10.0.0.5 imp-null 18 no
- ipv4 10.0.0.3/32 10.0.0.7 imp-null 18 no
- ipv4 10.0.0.3/32 10.0.0.8 imp-null 18 no
- ipv4 10.0.0.4/32 10.0.0.1 16 18 no
- ipv4 10.0.0.4/32 10.0.0.4 16 imp-null yes
- ipv4 10.0.0.4/32 10.0.0.5 16 19 no
- ipv4 10.0.0.4/32 10.0.0.7 16 19 no
- ipv4 10.0.0.4/32 10.0.0.8 16 19 no
- ipv4 10.0.0.5/32 10.0.0.1 21 19 no
- ipv4 10.0.0.5/32 10.0.0.4 21 17 no
- ipv4 10.0.0.5/32 10.0.0.5 21 imp-null yes
- ipv4 10.0.0.5/32 10.0.0.7 21 20 no
- ipv4 10.0.0.5/32 10.0.0.8 21 20 no
- ipv4 10.0.0.6/32 10.0.0.1 17 20 no
- ipv4 10.0.0.6/32 10.0.0.4 17 23 yes
- ipv4 10.0.0.6/32 10.0.0.5 17 21 yes
- ipv4 10.0.0.6/32 10.0.0.7 17 21 no
- ipv4 10.0.0.6/32 10.0.0.8 17 21 no
- ipv4 10.0.0.7/32 10.0.0.1 22 21 no
- ipv4 10.0.0.7/32 10.0.0.4 22 18 no
- ipv4 10.0.0.7/32 10.0.0.5 22 20 no
- ipv4 10.0.0.7/32 10.0.0.7 22 imp-null yes
- ipv4 10.0.0.7/32 10.0.0.8 22 22 no
- ipv4 10.0.0.8/32 10.0.0.1 24 22 no
- ipv4 10.0.0.8/32 10.0.0.4 24 19 no
- ipv4 10.0.0.8/32 10.0.0.5 24 16 no
- ipv4 10.0.0.8/32 10.0.0.7 24 22 no
- ipv4 10.0.0.8/32 10.0.0.8 24 imp-null yes
- ipv4 10.0.0.9/32 10.0.0.1 18 23 no
- ipv4 10.0.0.9/32 10.0.0.4 18 21 yes
- ipv4 10.0.0.9/32 10.0.0.5 18 22 no
- ipv4 10.0.0.9/32 10.0.0.7 18 23 no
- ipv4 10.0.0.9/32 10.0.0.8 18 23 no
- ipv4 10.0.0.10/32 10.0.0.1 19 24 no
- ipv4 10.0.0.10/32 10.0.0.4 19 24 yes
- ipv4 10.0.0.10/32 10.0.0.5 19 23 yes
- ipv4 10.0.0.10/32 10.0.0.7 19 24 no
- ipv4 10.0.0.10/32 10.0.0.8 19 24 no
+ AF Destination Nexthop Local Label Remote Label In Use
+ ipv4 10.0.0.1/32 10.0.0.1 23 imp-null yes
+ ipv4 10.0.0.1/32 10.0.0.4 23 20 no
+ ipv4 10.0.0.1/32 10.0.0.5 23 17 no
+ ipv4 10.0.0.1/32 10.0.0.7 23 16 no
+ ipv4 10.0.0.1/32 10.0.0.8 23 16 no
+ ipv4 10.0.0.2/32 10.0.0.1 20 16 no
+ ipv4 10.0.0.2/32 10.0.0.4 20 22 no
+ ipv4 10.0.0.2/32 10.0.0.5 20 24 yes
+ ipv4 10.0.0.2/32 10.0.0.7 20 17 no
+ ipv4 10.0.0.2/32 10.0.0.8 20 17 no
+ ipv4 10.0.0.3/32 10.0.0.1 imp-null 17 no
+ ipv4 10.0.0.3/32 10.0.0.4 imp-null 16 no
+ ipv4 10.0.0.3/32 10.0.0.5 imp-null 18 no
+ ipv4 10.0.0.3/32 10.0.0.7 imp-null 18 no
+ ipv4 10.0.0.3/32 10.0.0.8 imp-null 18 no
+ ipv4 10.0.0.4/32 10.0.0.1 16 18 no
+ ipv4 10.0.0.4/32 10.0.0.4 16 imp-null yes
+ ipv4 10.0.0.4/32 10.0.0.5 16 19 no
+ ipv4 10.0.0.4/32 10.0.0.7 16 19 no
+ ipv4 10.0.0.4/32 10.0.0.8 16 19 no
+ ipv4 10.0.0.5/32 10.0.0.1 21 19 no
+ ipv4 10.0.0.5/32 10.0.0.4 21 17 no
+ ipv4 10.0.0.5/32 10.0.0.5 21 imp-null yes
+ ipv4 10.0.0.5/32 10.0.0.7 21 20 no
+ ipv4 10.0.0.5/32 10.0.0.8 21 20 no
+ ipv4 10.0.0.6/32 10.0.0.1 17 20 no
+ ipv4 10.0.0.6/32 10.0.0.4 17 23 yes
+ ipv4 10.0.0.6/32 10.0.0.5 17 21 yes
+ ipv4 10.0.0.6/32 10.0.0.7 17 21 no
+ ipv4 10.0.0.6/32 10.0.0.8 17 21 no
+ ipv4 10.0.0.7/32 10.0.0.1 22 21 no
+ ipv4 10.0.0.7/32 10.0.0.4 22 18 no
+ ipv4 10.0.0.7/32 10.0.0.5 22 20 no
+ ipv4 10.0.0.7/32 10.0.0.7 22 imp-null yes
+ ipv4 10.0.0.7/32 10.0.0.8 22 22 no
+ ipv4 10.0.0.8/32 10.0.0.1 24 22 no
+ ipv4 10.0.0.8/32 10.0.0.4 24 19 no
+ ipv4 10.0.0.8/32 10.0.0.5 24 16 no
+ ipv4 10.0.0.8/32 10.0.0.7 24 22 no
+ ipv4 10.0.0.8/32 10.0.0.8 24 imp-null yes
+ ipv4 10.0.0.9/32 10.0.0.1 18 23 no
+ ipv4 10.0.0.9/32 10.0.0.4 18 21 yes
+ ipv4 10.0.0.9/32 10.0.0.5 18 22 no
+ ipv4 10.0.0.9/32 10.0.0.7 18 23 no
+ ipv4 10.0.0.9/32 10.0.0.8 18 23 no
+ ipv4 10.0.0.10/32 10.0.0.1 19 24 no
+ ipv4 10.0.0.10/32 10.0.0.4 19 24 yes
+ ipv4 10.0.0.10/32 10.0.0.5 19 23 yes
+ ipv4 10.0.0.10/32 10.0.0.7 19 24 no
+ ipv4 10.0.0.10/32 10.0.0.8 19 24 no
Now we’re checking iBGP status and routes from route-reflector
nodes to other devices:
@@ -644,11 +648,11 @@ nodes to other devices:
Peers 4, using 85 KiB of memory
Peer groups 1, using 64 bytes of memory
- Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
- 10.0.0.7 4 65001 7719 7733 0 0 0 5d07h56m 2 10
- 10.0.0.8 4 65001 7715 7724 0 0 0 5d08h28m 4 10
- 10.0.0.9 4 65001 7713 7724 0 0 0 5d08h28m 2 10
- 10.0.0.10 4 65001 7713 7724 0 0 0 5d08h28m 2 10
+ Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
+ 10.0.0.7 4 65001 7719 7733 0 0 0 5d07h56m 2 10
+ 10.0.0.8 4 65001 7715 7724 0 0 0 5d08h28m 4 10
+ 10.0.0.9 4 65001 7713 7724 0 0 0 5d08h28m 2 10
+ 10.0.0.10 4 65001 7713 7724 0 0 0 5d08h28m 2 10
Total number of neighbors 4
@@ -660,37 +664,37 @@ nodes to other devices:
BGP table version is 2, local router ID is 10.0.0.1, vrf id 0
Default local pref 100, local AS 65001
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
- i internal, r RIB-failure, S Stale, R Removed
+ i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
- Network Next Hop Metric LocPrf Weight Path
+ Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.50.50.1:1011
- *>i10.50.50.0/24 10.0.0.7 0 100 0 i
- UN=10.0.0.7 EC{65035:1011} label=80 type=bgp, subtype=0
- *>i80.80.80.80/32 10.0.0.7 0 100 0 65035 i
- UN=10.0.0.7 EC{65035:1011} label=80 type=bgp, subtype=0
+ *>i10.50.50.0/24 10.0.0.7 0 100 0 i
+ UN=10.0.0.7 EC{65035:1011} label=80 type=bgp, subtype=0
+ *>i80.80.80.80/32 10.0.0.7 0 100 0 65035 i
+ UN=10.0.0.7 EC{65035:1011} label=80 type=bgp, subtype=0
Route Distinguisher: 10.60.60.1:1011
- *>i10.60.60.0/24 10.0.0.10 0 100 0 i
- UN=10.0.0.10 EC{65035:1011} label=80 type=bgp, subtype=0
- *>i90.90.90.90/32 10.0.0.10 0 100 0 65035 i
- UN=10.0.0.10 EC{65035:1011} label=80 type=bgp, subtype=0
+ *>i10.60.60.0/24 10.0.0.10 0 100 0 i
+ UN=10.0.0.10 EC{65035:1011} label=80 type=bgp, subtype=0
+ *>i90.90.90.90/32 10.0.0.10 0 100 0 65035 i
+ UN=10.0.0.10 EC{65035:1011} label=80 type=bgp, subtype=0
Route Distinguisher: 10.80.80.1:1011
- *>i10.80.80.0/24 10.0.0.8 0 100 0 i
- UN=10.0.0.8 EC{65035:1030} label=80 type=bgp, subtype=0
+ *>i10.80.80.0/24 10.0.0.8 0 100 0 i
+ UN=10.0.0.8 EC{65035:1030} label=80 type=bgp, subtype=0
*>i100.100.100.100/32
- 10.0.0.8 0 100 0 65035 i
- UN=10.0.0.8 EC{65035:1030} label=80 type=bgp, subtype=0
+ 10.0.0.8 0 100 0 65035 i
+ UN=10.0.0.8 EC{65035:1030} label=80 type=bgp, subtype=0
Route Distinguisher: 172.16.80.1:2011
- *>i10.110.110.0/24 10.0.0.8 0 100 0 65050 i
- UN=10.0.0.8 EC{65050:2011} label=81 type=bgp, subtype=0
- *>i172.16.80.0/24 10.0.0.8 0 100 0 i
- UN=10.0.0.8 EC{65050:2011} label=81 type=bgp, subtype=0
+ *>i10.110.110.0/24 10.0.0.8 0 100 0 65050 i
+ UN=10.0.0.8 EC{65050:2011} label=81 type=bgp, subtype=0
+ *>i172.16.80.0/24 10.0.0.8 0 100 0 i
+ UN=10.0.0.8 EC{65050:2011} label=81 type=bgp, subtype=0
Route Distinguisher: 172.16.100.1:2011
- *>i10.210.210.0/24 10.0.0.9 0 100 0 65050 i
- UN=10.0.0.9 EC{65050:2011} label=80 type=bgp, subtype=0
- *>i172.16.100.0/24 10.0.0.9 0 100 0 i
- UN=10.0.0.9 EC{65050:2011} label=80 type=bgp, subtype=0
+ *>i10.210.210.0/24 10.0.0.9 0 100 0 65050 i
+ UN=10.0.0.9 EC{65050:2011} label=80 type=bgp, subtype=0
+ *>i172.16.100.0/24 10.0.0.9 0 100 0 i
+ UN=10.0.0.9 EC{65050:2011} label=80 type=bgp, subtype=0
- “show bgp ipv4 vpn x.x.x.x/x” for checking best path selected
for specific VPNv4 destination
@@ -704,11 +708,11 @@ nodes to other devices:
Advertised to non peer-group peers:
10.0.0.7 10.0.0.8 10.0.0.9 10.0.0.10
65035, (Received from a RR-client)
- 10.0.0.8 from 10.0.0.8 (10.0.0.8)
- Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
- Extended Community: RT:65035:1030
- Remote label: 80
- Last update: Tue Oct 19 13:45:32 202
+ 10.0.0.8 from 10.0.0.8 (10.0.0.8)
+ Origin incomplete, metric 0, localpref 100, valid, internal, best (First path received)
+ Extended Community: RT:65035:1030
+ Remote label: 80
+ Last update: Tue Oct 19 13:45:32 202
Also we can verify how PE devices receives VPNv4 networks from the RRs
and installing them to the specific customer VRFs:
@@ -725,9 +729,9 @@ and installing them to the specific customer VRFs:
Peers 2, using 43 KiB of memory
Peer groups 1, using 64 bytes of memory
- Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
- 10.0.0.1 4 65001 8812 8794 0 0 0 01:18:42 8 2
- 10.0.0.2 4 65001 8800 8792 0 0 0 6d02h27m 8 2
+ Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
+ 10.0.0.1 4 65001 8812 8794 0 0 0 01:18:42 8 2
+ 10.0.0.2 4 65001 8800 8792 0 0 0 6d02h27m 8 2
- “show bgp vrf all” for checking all the prefix learning on BGP
within VRFs:
@@ -743,19 +747,19 @@ and installing them to the specific customer VRFs:
BGP table version is 8, local router ID is 10.50.50.1, vrf id 6
Default local pref 100, local AS 65001
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
- i internal, r RIB-failure, S Stale, R Removed
+ i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
- Network Next Hop Metric LocPrf Weight Path
- * 10.50.50.0/24 0.0.0.0 0 32768 ?
- *> 0.0.0.0 0 32768 i
- *> 10.80.80.0/24 10.0.0.8@0< 0 100 0 i
- * 10.0.0.8@0< 0 100 0 i
- *> 10.0.0.80/32 10.50.50.2 0 0 65035 i
+ Network Next Hop Metric LocPrf Weight Path
+ * 10.50.50.0/24 0.0.0.0 0 32768 ?
+ *> 0.0.0.0 0 32768 i
+ *> 10.80.80.0/24 10.0.0.8@0< 0 100 0 i
+ * 10.0.0.8@0< 0 100 0 i
+ *> 10.0.0.80/32 10.50.50.2 0 0 65035 i
*> 10.0.0.100/32
- 10.0.0.8@0< 0 100 0 65035 ?
- * 10.0.0.8@0< 0 100 0 65035 ?
+ 10.0.0.8@0< 0 100 0 65035 ?
+ * 10.0.0.8@0< 0 100 0 65035 ?
- “show bgp vrf BLUE_SPOKE summary” for checking EBGP neighbor
information between PE and CE:
@@ -771,8 +775,8 @@ and installing them to the specific customer VRFs:
RIB entries 7, using 1344 bytes of memory
Peers 1, using 21 KiB of memory
- Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
- 10.50.50.2 4 65035 9019 9023 0 0 0 6d06h12m 1 4
+ Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
+ 10.50.50.2 4 65035 9019 9023 0 0 0 6d06h12m 1 4
Total number of neighbors 1
@@ -785,19 +789,19 @@ and installing them to the specific customer VRFs:
vyos@VyOS-PE1:~$ show ip route vrf BLUE_SPOKE
Codes: K - kernel route, C - connected, S - static, R - RIP,
- O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
- T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
- F - PBR, f - OpenFabric,
- > - selected route, * - FIB route, q - queued, r - rejected, b - backup
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued, r - rejected, b - backup
VRF BLUE_SPOKE:
K>* 0.0.0.0/0 [255/8192] unreachable (ICMP unreachable), 03w0d23h
C>* 10.50.50.0/24 is directly connected, eth3, 03w0d23h
B> 10.80.80.0/24 [200/0] via 10.0.0.8 (vrf default) (recursive), label 80, weight 1, 04:22:00
- * via 172.16.90.1, eth0 (vrf default), label 24/80, weight 1, 04:22:00
+ * via 172.16.90.1, eth0 (vrf default), label 24/80, weight 1, 04:22:00
B>* 10.0.0.80/32 [20/0] via 10.50.50.2, eth3, weight 1, 6d05h30m
B> 10.0.0.100/32 [200/0] via 10.0.0.8 (vrf default) (recursive), label 80, weight 1, 04:22:00
- * via 172.16.90.1, eth0 (vrf default), label 24/80, weight 1, 04:22:00
+ * via 172.16.90.1, eth0 (vrf default), label 24/80, weight 1, 04:22:00
- “show bgp ipv4 vpn x.x.x.x/32” for checking the best-path to the
specific VPNv4 destination including extended community and
@@ -811,19 +815,19 @@ and installing them to the specific customer VRFs:
Paths: (2 available, best #1)
Not advertised to any peer
65035
- 10.0.0.8 from 10.0.0.1 (10.0.0.8)
- Origin incomplete, metric 0, localpref 100, valid, internal, best (Neighbor IP)
- Extended Community: RT:65035:1030
- Originator: 10.0.0.8, Cluster list: 10.0.0.1
- Remote label: 80
- Last update: Tue Oct 19 13:45:26 2021
+ 10.0.0.8 from 10.0.0.1 (10.0.0.8)
+ Origin incomplete, metric 0, localpref 100, valid, internal, best (Neighbor IP)
+ Extended Community: RT:65035:1030
+ Originator: 10.0.0.8, Cluster list: 10.0.0.1
+ Remote label: 80
+ Last update: Tue Oct 19 13:45:26 2021
65035
- 10.0.0.8 from 10.0.0.2 (10.0.0.8)
- Origin incomplete, metric 0, localpref 100, valid, internal
- Extended Community: RT:65035:1030
- Originator: 10.0.0.8, Cluster list: 10.0.0.1
- Remote label: 80
- Last update: Wed Oct 13 12:39:34 202
+ 10.0.0.8 from 10.0.0.2 (10.0.0.8)
+ Origin incomplete, metric 0, localpref 100, valid, internal
+ Extended Community: RT:65035:1030
+ Originator: 10.0.0.8, Cluster list: 10.0.0.1
+ Remote label: 80
+ Last update: Wed Oct 13 12:39:34 202
Now, let’s check routing information on out Hub PE:
@@ -839,9 +843,9 @@ Now, let’s check routing information on out Hub PE:
Peers 2, using 43 KiB of memory
Peer groups 1, using 64 bytes of memory
- Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
- 10.0.0.1 4 65001 15982 15949 0 0 0 05:41:28 6 4
- 10.0.0.2 4 65001 9060 9054 0 0 0 6d06h47m 6 4
+ Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
+ 10.0.0.1 4 65001 15982 15949 0 0 0 05:41:28 6 4
+ 10.0.0.2 4 65001 9060 9054 0 0 0 6d06h47m 6 4
Total number of neighbors
@@ -858,31 +862,31 @@ Now, let’s check routing information on out Hub PE:
BGP table version is 50, local router ID is 10.80.80.1, vrf id 8
Default local pref 100, local AS 65001
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
- i internal, r RIB-failure, S Stale, R Removed
+ i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes: i - IGP, e - EGP, ? - incomplete
- Network Next Hop Metric LocPrf Weight Path
- *> 10.50.50.0/24 10.0.0.7@0< 0 100 0 i
- * 10.0.0.7@0< 0 100 0 i
- *> 10.60.60.0/24 10.0.0.10@0< 0 100 0 i
- * 10.0.0.10@0< 0 100 0 i
- * 10.80.80.0/24 10.80.80.2 0 0 65035 ?
- * 0.0.0.0 0 32768 i
- *> 0.0.0.0 0 32768 ?
- *> 10.110.110.0/24 172.16.80.2@9< 0 0 65050 i
- *> 10.210.210.0/24 10.0.0.9@0< 0 100 0 65050 i
- * 10.0.0.9@0< 0 100 0 65050 i
- *> 10.0.0.80/32 10.0.0.7@0< 0 100 0 65035 i
- * 10.0.0.7@0< 0 100 0 65035 i
- *> 10.0.0.90/32 10.0.0.10@0< 0 100 0 65035 i
- * 10.0.0.10@0< 0 100 0 65035 i
+ Network Next Hop Metric LocPrf Weight Path
+ *> 10.50.50.0/24 10.0.0.7@0< 0 100 0 i
+ * 10.0.0.7@0< 0 100 0 i
+ *> 10.60.60.0/24 10.0.0.10@0< 0 100 0 i
+ * 10.0.0.10@0< 0 100 0 i
+ * 10.80.80.0/24 10.80.80.2 0 0 65035 ?
+ * 0.0.0.0 0 32768 i
+ *> 0.0.0.0 0 32768 ?
+ *> 10.110.110.0/24 172.16.80.2@9< 0 0 65050 i
+ *> 10.210.210.0/24 10.0.0.9@0< 0 100 0 65050 i
+ * 10.0.0.9@0< 0 100 0 65050 i
+ *> 10.0.0.80/32 10.0.0.7@0< 0 100 0 65035 i
+ * 10.0.0.7@0< 0 100 0 65035 i
+ *> 10.0.0.90/32 10.0.0.10@0< 0 100 0 65035 i
+ * 10.0.0.10@0< 0 100 0 65035 i
*> 10.0.0.100/32
- 10.80.80.2 0 0 65035 ?
- *> 172.16.80.0/24 0.0.0.0@9< 0 32768 ?
- 0.0.0.0@9< 0 32768 i
- *> 172.16.100.0/24 10.0.0.9@0< 0 100 0 i
- * 10.0.0.9@0< 0 100 0 i
+ 10.80.80.2 0 0 65035 ?
+ *> 172.16.80.0/24 0.0.0.0@9< 0 32768 ?
+ 0.0.0.0@9< 0 32768 i
+ *> 172.16.100.0/24 10.0.0.9@0< 0 100 0 i
+ * 10.0.0.9@0< 0 100 0 i
- “show bgp vrf BLUE_HUB summary” for checking EBGP neighbor
CE Hub device
@@ -897,8 +901,8 @@ Now, let’s check routing information on out Hub PE:
RIB entries 19, using 3648 bytes of memory
Peers 1, using 21 KiB of memory
- Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
- 10.80.80.2 4 65035 15954 15972 0 0 0 01w4d01h 2 10
+ Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd PfxSnt
+ 10.80.80.2 4 65035 15954 15972 0 0 0 01w4d01h 2 10
- “show ip route vrf BLUE_HUB” to view the RIB in our Hub PE.
With this command we are able to check the transport and
@@ -909,30 +913,30 @@ Now, let’s check routing information on out Hub PE:
vyos@VyOS-PE2:~$ show ip route vrf BLUE_HUB
Codes: K - kernel route, C - connected, S - static, R - RIP,
- O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
- T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
- F - PBR, f - OpenFabric,
- > - selected route, * - FIB route, q - queued, r - rejected, b - backup
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued, r - rejected, b - backup
VRF BLUE_HUB:
K>* 0.0.0.0/0 [255/8192] unreachable (ICMP unreachable), 01w4d01h
B> 10.50.50.0/24 [200/0] via 10.0.0.7 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.100.1, eth1 (vrf default), label 22/144, weight 1, 05:53:15
+ * via 172.16.100.1, eth1 (vrf default), label 22/144, weight 1, 05:53:15
B> 10.60.60.0/24 [200/0] via 10.0.0.10 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.110.1, eth0 (vrf default), label 23/144, weight 1, 05:53:15
+ * via 172.16.110.1, eth0 (vrf default), label 23/144, weight 1, 05:53:15
C>* 10.80.80.0/24 is directly connected, eth3, 01w4d01h
B>* 10.110.110.0/24 [200/0] via 172.16.80.2, eth2 (vrf GREEN), weight 1, 01w4d01h
B> 10.210.210.0/24 [200/0] via 10.0.0.9 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.100.1, eth1 (vrf default), label 18/144, weight 1, 05:53:15
- * via 172.16.110.1, eth0 (vrf default), label 22/144, weight 1, 05:53:15
+ * via 172.16.100.1, eth1 (vrf default), label 18/144, weight 1, 05:53:15
+ * via 172.16.110.1, eth0 (vrf default), label 22/144, weight 1, 05:53:15
B> 10.0.0.80/32 [200/0] via 10.0.0.7 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.100.1, eth1 (vrf default), label 22/144, weight 1, 05:53:15
+ * via 172.16.100.1, eth1 (vrf default), label 22/144, weight 1, 05:53:15
B> 10.0.0.90/32 [200/0] via 10.0.0.10 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.110.1, eth0 (vrf default), label 23/144, weight 1, 05:53:15
+ * via 172.16.110.1, eth0 (vrf default), label 23/144, weight 1, 05:53:15
B>* 10.0.0.100/32 [20/0] via 10.80.80.2, eth3, weight 1, 01w4d01h
B>* 172.16.80.0/24 [200/0] is directly connected, eth2 (vrf GREEN), weight 1, 01w4d01h
B> 172.16.100.0/24 [200/0] via 10.0.0.9 (vrf default) (recursive), label 144, weight 1, 05:53:15
- * via 172.16.100.1, eth1 (vrf default), label 18/144, weight 1, 05:53:15
- * via 172.16.110.1, eth0 (vrf default), label 22/144, weight 1, 05:53:15
+ * via 172.16.100.1, eth1 (vrf default), label 18/144, weight 1, 05:53:15
+ * via 172.16.110.1, eth0 (vrf default), label 22/144, weight 1, 05:53:15
- “show bgp ipv4 vpn x.x.x.x/32” for checking best-path,
extended community and remote label of specific destination
@@ -945,19 +949,19 @@ Now, let’s check routing information on out Hub PE:
Paths: (2 available, best #1)
Not advertised to any peer
65035
- 10.0.0.7 from 10.0.0.1 (10.0.0.7)
- Origin IGP, metric 0, localpref 100, valid, internal, best (Neighbor IP)
- Extended Community: RT:65035:1011
- Originator: 10.0.0.7, Cluster list: 10.0.0.1
- Remote label: 144
- Last update: Tue Oct 19 13:45:30 2021
+ 10.0.0.7 from 10.0.0.1 (10.0.0.7)
+ Origin IGP, metric 0, localpref 100, valid, internal, best (Neighbor IP)
+ Extended Community: RT:65035:1011
+ Originator: 10.0.0.7, Cluster list: 10.0.0.1
+ Remote label: 144
+ Last update: Tue Oct 19 13:45:30 2021
65035
- 10.0.0.7 from 10.0.0.2 (10.0.0.7)
- Origin IGP, metric 0, localpref 100, valid, internal
- Extended Community: RT:65035:1011
- Originator: 10.0.0.7, Cluster list: 10.0.0.1
- Remote label: 144
- Last update: Wed Oct 13 12:39:37 2021
+ 10.0.0.7 from 10.0.0.2 (10.0.0.7)
+ Origin IGP, metric 0, localpref 100, valid, internal
+ Extended Community: RT:65035:1011
+ Originator: 10.0.0.7, Cluster list: 10.0.0.1
+ Remote label: 144
+ Last update: Wed Oct 13 12:39:37 2021
vyos@VyOS-PE2:~$ show bgp ipv4 vpn 10.0.0.90/32
BGP routing table entry for 10.60.60.1:1011:10.0.0.90/32
@@ -965,19 +969,19 @@ Now, let’s check routing information on out Hub PE:
Paths: (2 available, best #1)
Not advertised to any peer
65035
- 10.0.0.10 from 10.0.0.1 (10.0.0.10)
- Origin IGP, metric 0, localpref 100, valid, internal, best (Neighbor IP)
- Extended Community: RT:65035:1011
- Originator: 10.0.0.10, Cluster list: 10.0.0.1
- Remote label: 144
- Last update: Tue Oct 19 13:45:30 2021
+ 10.0.0.10 from 10.0.0.1 (10.0.0.10)
+ Origin IGP, metric 0, localpref 100, valid, internal, best (Neighbor IP)
+ Extended Community: RT:65035:1011
+ Originator: 10.0.0.10, Cluster list: 10.0.0.1
+ Remote label: 144
+ Last update: Tue Oct 19 13:45:30 2021
65035
- 10.0.0.10 from 10.0.0.2 (10.0.0.10)
- Origin IGP, metric 0, localpref 100, valid, internal
- Extended Community: RT:65035:1011
- Originator: 10.0.0.10, Cluster list: 10.0.0.1
- Remote label: 144
- Last update: Wed Oct 13 12:45:44 2021
+ 10.0.0.10 from 10.0.0.2 (10.0.0.10)
+ Origin IGP, metric 0, localpref 100, valid, internal
+ Extended Community: RT:65035:1011
+ Originator: 10.0.0.10, Cluster list: 10.0.0.1
+ Remote label: 144
+ Last update: Wed Oct 13 12:45:44 2021
Finally, let’s check the reachability between CEs:
@@ -989,10 +993,10 @@ Finally, let’s check the reachability between CEs:
# check rib
vyos@VyOS-CE1-SPOKE:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
- O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
- T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
- F - PBR, f - OpenFabric,
- > - selected route, * - FIB route, q - queued, r - rejected, b - backup
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued, r - rejected, b - backup
B 10.50.50.0/24 [20/0] via 10.50.50.1 inactive, weight 1, 6d07h53m
C>* 10.50.50.0/24 is directly connected, eth0, 09w0d00h
@@ -1027,10 +1031,10 @@ Finally, let’s check the reachability between CEs:
# check rib
vyos@VyOS-CE-HUB:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
- O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
- T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
- F - PBR, f - OpenFabric,
- > - selected route, * - FIB route, q - queued, r - rejected, b - backup
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued, r - rejected, b - backup
B>* 10.50.50.0/24 [20/0] via 10.80.80.1, eth0, weight 1, 6d08h04m
B>* 10.60.60.0/24 [20/0] via 10.80.80.1, eth0, weight 1, 6d08h35m
@@ -1086,10 +1090,10 @@ Finally, let’s check the reachability between CEs:
# check rib
vyos@rt-ce2-SPOKE:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
- O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
- T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
- F - PBR, f - OpenFabric,
- > - selected route, * - FIB route, q - queued, r - rejected, b - backup
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued, r - rejected, b - backup
B 10.60.60.0/24 [20/0] via 10.60.60.1 inactive, weight 1, 02w6d00h
C>* 10.60.60.0/24 is directly connected, eth0, 02w6d00h
@@ -1117,4 +1121,7 @@ Finally, let’s check the reachability between CEs:
3 * * *
4 10.0.0.100 (10.0.0.100) 7.504 ms 7.480 ms 7.488 ms
-**Note:** At the moment, trace mpls doesn’t show labels/paths. So we’ll see * * * for the transit routers of the mpls backbone.
+.. start_vyoslinter
+
+**Note:** At the moment, trace mpls doesn’t show labels/paths. So we’ll
+see ``* * *`` for the transit routers of the mpls backbone.
diff --git a/docs/configexamples/qos.rst b/docs/configexamples/qos.rst
index 842719c5..268163df 100644
--- a/docs/configexamples/qos.rst
+++ b/docs/configexamples/qos.rst
@@ -9,8 +9,11 @@ QoS example
Configuration 'dcsp' and shaper using QoS
=========================================
-In this case, we'll try to make a simple lab using QoS and the general ability of the VyOS system.
-We recommend you to go through the main article about `QoS <https://docs.vyos.io/en/latest/configuration/trafficpolicy/index.html>`_ first.
+In this case, we'll try to make a simple lab using QoS and the
+general ability of the VyOS system.
+We recommend you to go through the main article about
+`QoS <https://docs.vyos.io/en/latest/configuration/trafficpolicy/index.html>`_
+first.
Using the general schema for example:
@@ -20,8 +23,11 @@ Using the general schema for example:
:align: center
:alt: Network Topology Diagram
-We have four hosts on the local network 172.17.1.0/24. All hosts are labeled CS0 by default. We need to replace labels on all hosts except vpc8.
-We will replace the labels on the nearest router “VyOS3” using the IP addresses of the sources.
+We have four hosts on the local network 172.17.1.0/24. All hosts are
+labeled CS0 by default. We need to replace labels on all hosts except
+vpc8.
+We will replace the labels on the nearest router “VyOS3” using the IP
+addresses of the sources.
* 172.17.1.2 CS0 -> CS4
* 172.17.1.3 CS0 -> CS5
@@ -32,30 +38,37 @@ Next, we will replace only all CS4 labels on the “VyOS2” router.
* CS4 -> CS5
-In the end, we will configure the traffic shaper using QoS mechanisms on the “VYOS2” router.
+In the end, we will configure the traffic shaper using QoS mechanisms
+on the “VYOS2” router.
Configuration:
==============
-Set IP addresses on all VPCs and a default gateway 172.17.1.1. We'll use in this case only static routes.
-On the VyOS3 router, we need to change the 'dscp' labels for the VPCs. To do this, we use this configuration.
+Set IP addresses on all VPCs and a default gateway 172.17.1.1. We'll
+use in this case only static routes.
+On the VyOS3 router, we need to change the 'dscp' labels for the
+VPCs. To do this, we use this configuration.
+
+.. stop_vyoslinter
.. code-block:: none
- set interfaces ethernet eth0 address '10.1.1.100/24'
- set interfaces ethernet eth1 address '172.17.1.1/24'
- set protocols static route 0.0.0.0/0 next-hop 10.1.1.1
- set qos policy shaper vyos3 class 10 match ADDRESS10 ip source address '172.17.1.2/32'
- set qos policy shaper vyos3 class 10 set-dscp 'CS4'
- set qos policy shaper vyos3 class 20 match ADDRESS20 ip source address '172.17.1.3/32'
- set qos policy shaper vyos3 class 20 set-dscp 'CS5'
- set qos policy shaper vyos3 class 30 match ADDRESS20 ip source address '172.17.1.4/32'
- set qos policy shaper vyos3 class 30 set-dscp 'CS6'
- set qos policy shaper vyos3 default bandwidth '10%'
- set qos policy shaper vyos3 default ceiling '100%'
- set qos policy shaper vyos3 default priority '7'
- set qos policy shaper vyos3 default queue-type 'fair-queue'
- set qos interface eth0 egress 'vyos3'
+ set interfaces ethernet eth0 address '10.1.1.100/24'
+ set interfaces ethernet eth1 address '172.17.1.1/24'
+ set protocols static route 0.0.0.0/0 next-hop 10.1.1.1
+ set qos policy shaper vyos3 class 10 match ADDRESS10 ip source address '172.17.1.2/32'
+ set qos policy shaper vyos3 class 10 set-dscp 'CS4'
+ set qos policy shaper vyos3 class 20 match ADDRESS20 ip source address '172.17.1.3/32'
+ set qos policy shaper vyos3 class 20 set-dscp 'CS5'
+ set qos policy shaper vyos3 class 30 match ADDRESS20 ip source address '172.17.1.4/32'
+ set qos policy shaper vyos3 class 30 set-dscp 'CS6'
+ set qos policy shaper vyos3 default bandwidth '10%'
+ set qos policy shaper vyos3 default ceiling '100%'
+ set qos policy shaper vyos3 default priority '7'
+ set qos policy shaper vyos3 default queue-type 'fair-queue'
+ set qos interface eth0 egress 'vyos3'
+
+.. start_vyoslinter
Main rules:
@@ -85,25 +98,27 @@ After the interface eth0 on router VyOS3
:align: center
:alt: Network Topology Diagram
-On the router, VyOS4 set all traffic as CS4. We have to configure the default class and class for changing all labels from CS0 to CS4
+On the router, VyOS4 set all traffic as CS4. We have to configure the
+default class and class for changing all labels from CS0 to CS4
.. code-block:: none
- set interfaces ethernet eth0 address '10.2.1.100/24'
- set protocols static route 0.0.0.0/0 next-hop 10.2.1.1
- set qos policy shaper vyos4 class 10 bandwidth '100%'
- set qos policy shaper vyos4 class 10 burst '15k'
- set qos policy shaper vyos4 class 10 match ALL ether protocol 'all'
- set qos policy shaper vyos4 class 10 queue-type 'fair-queue'
- set qos policy shaper vyos4 class 10 set-dscp 'CS4'
- set qos policy shaper vyos4 default bandwidth '10%'
- set qos policy shaper vyos4 default burst '15k'
- set qos policy shaper vyos4 default ceiling '100%'
- set qos policy shaper vyos4 default priority '7'
- set qos policy shaper vyos4 default queue-type 'fair-queue'
+ set interfaces ethernet eth0 address '10.2.1.100/24'
+ set protocols static route 0.0.0.0/0 next-hop 10.2.1.1
+ set qos policy shaper vyos4 class 10 bandwidth '100%'
+ set qos policy shaper vyos4 class 10 burst '15k'
+ set qos policy shaper vyos4 class 10 match ALL ether protocol 'all'
+ set qos policy shaper vyos4 class 10 queue-type 'fair-queue'
+ set qos policy shaper vyos4 class 10 set-dscp 'CS4'
+ set qos policy shaper vyos4 default bandwidth '10%'
+ set qos policy shaper vyos4 default burst '15k'
+ set qos policy shaper vyos4 default ceiling '100%'
+ set qos policy shaper vyos4 default priority '7'
+ set qos policy shaper vyos4 default queue-type 'fair-queue'
set qos interface eth0 egress 'vyos4'
-Next on the router VyOS2 we will change labels on all incoming traffic only from CS4-> CS6
+Next on the router VyOS2 we will change labels on all incoming
+traffic only from CS4-> CS6
.. image:: /_static/images/qos5.png
:width: 80%
@@ -112,20 +127,20 @@ Next on the router VyOS2 we will change labels on all incoming traffic only from
.. code-block:: none
- set interfaces ethernet eth0 address '10.1.1.1/24'
- set interfaces ethernet eth1 address '10.2.1.1/24'
- set interfaces ethernet eth2 address '10.9.9.1/24'
- set protocols static route 172.17.1.0/24 next-hop 10.1.1.100
- set qos policy shaper vyos2 class 10 bandwidth '100%'
- set qos policy shaper vyos2 class 10 burst '15k'
- set qos policy shaper vyos2 class 10 match VYOS2 ip dscp 'CS4'
- set qos policy shaper vyos2 class 10 queue-type 'fair-queue'
- set qos policy shaper vyos2 class 10 set-dscp 'CS5'
- set qos policy shaper vyos2 default bandwidth '100%'
- set qos policy shaper vyos2 default burst '15k'
- set qos policy shaper vyos2 default ceiling '100%'
- set qos policy shaper vyos2 default priority '7'
- set qos policy shaper vyos2 default queue-type 'fair-queue'
+ set interfaces ethernet eth0 address '10.1.1.1/24'
+ set interfaces ethernet eth1 address '10.2.1.1/24'
+ set interfaces ethernet eth2 address '10.9.9.1/24'
+ set protocols static route 172.17.1.0/24 next-hop 10.1.1.100
+ set qos policy shaper vyos2 class 10 bandwidth '100%'
+ set qos policy shaper vyos2 class 10 burst '15k'
+ set qos policy shaper vyos2 class 10 match VYOS2 ip dscp 'CS4'
+ set qos policy shaper vyos2 class 10 queue-type 'fair-queue'
+ set qos policy shaper vyos2 class 10 set-dscp 'CS5'
+ set qos policy shaper vyos2 default bandwidth '100%'
+ set qos policy shaper vyos2 default burst '15k'
+ set qos policy shaper vyos2 default ceiling '100%'
+ set qos policy shaper vyos2 default priority '7'
+ set qos policy shaper vyos2 default queue-type 'fair-queue'
set qos interface eth2 egress 'vyos2'
.. image:: /_static/images/qos6.png
@@ -154,23 +169,26 @@ Next on the router VyOS2 we will change labels on all incoming traffic only from
:align: center
:alt: Network Topology Diagram
-In the end, on the router “VyOS2” we will set outgoing bandwidth limits between the “VyOS3” and “VyOS1” routers. Let's set a limit for IP 10.1.1.100 = 5 Mbps(Tx). We will check the result of the work with the help of the “iPerf” utility.
+In the end, on the router “VyOS2” we will set outgoing bandwidth
+limits between the “VyOS3” and “VyOS1” routers. Let's set a limit for
+IP 10.1.1.100 = 5 Mbps(Tx). We will check the result of the work
+with the help of the “iPerf” utility.
Set up bandwidth limits on the eth2 interface of the router “VyOS2”.
.. code-block:: none
- vyos@vyos2# show qos policy shaper vyos2 class 20
- bandwidth 5mbit
- description "for VyOS3 eth0"
- match VyOS3 {
- ip {
- source {
- address 10.1.1.100/32
- }
- }
- }
+ vyos@vyos2# show qos policy shaper vyos2 class 20
+ bandwidth 5mbit
+ description "for VyOS3 eth0"
+ match VyOS3 {
+ ip {
+ source {
+ address 10.1.1.100/32
+ }
+ }
+ }
Check the result.
diff --git a/docs/configuration/trafficpolicy/index.rst b/docs/configuration/trafficpolicy/index.rst
index 5414ce77..13cfb9dc 100644
--- a/docs/configuration/trafficpolicy/index.rst
+++ b/docs/configuration/trafficpolicy/index.rst
@@ -53,29 +53,29 @@ They can be **decimal** prefixes.
.. code-block:: none
- kbit (10^3) kilobit per second
- mbit (10^6) megabit per second
- gbit (10^9) gigabit per second
- tbit (10^12) terabit per second
-
- kbps (8*10^3) kilobyte per second
- mbps (8*10^6) megabyte per second
- gbps (8*10^9) gigabyte per second
- tbps (8*10^12) terabyte per second
+ kbit (10^3) kilobit per second
+ mbit (10^6) megabit per second
+ gbit (10^9) gigabit per second
+ tbit (10^12) terabit per second
+
+ kbps (8*10^3) kilobyte per second
+ mbps (8*10^6) megabyte per second
+ gbps (8*10^9) gigabyte per second
+ tbps (8*10^12) terabyte per second
Or **binary** prefixes.
.. code-block:: none
- kibit (2^10 = 1024) kibibit per second
- mibit (2^20 = 1024^2) mebibit per second
- gibit (2^30 = 1024^3) gibibit per second
- tbit (2^40 = 1024^4) tebibit per second
+ kibit (2^10 = 1024) kibibit per second
+ mibit (2^20 = 1024^2) mebibit per second
+ gibit (2^30 = 1024^3) gibibit per second
+ tbit (2^40 = 1024^4) tebibit per second
- kibps (1024*8) kibibyte (KiB) per second
- mibps (1024^2*8) mebibyte (MiB) per second
- gibps (1024^3*8) gibibyte (GiB) per second
- tibps (1024^4*8) tebibyte (TiB) per second
+ kibps (1024*8) kibibyte (KiB) per second
+ mibps (1024^2*8) mebibyte (MiB) per second
+ gibps (1024^3*8) gibibyte (GiB) per second
+ tibps (1024^4*8) tebibyte (TiB) per second
Suffixes
@@ -88,7 +88,7 @@ A *bit* is written as **bit**,
kbit (kilobits per second)
mbit (megabits per second)
gbit (gigabits per second)
- tbit (terabits per second)
+ tbit (terabits per second)
while a *byte* is written as a single **b**.
@@ -134,10 +134,13 @@ configuring it.
identify it, it also defines its priority.
+.. stop_vyoslinter
+
.. code-block:: none
set qos policy <policy> <policy-name> class <class-ID> match <class-matching-rule-name>
+.. start_vyoslinter
In the command above, we set the type of policy we are going to
work with and the name we choose for it; a class (so that we can
@@ -199,10 +202,14 @@ is based on marks done by the firewall,
You can also write a description for a filter:
+.. stop_vyoslinter
+
.. code-block:: none
set qos policy shaper MY-SHAPER class 30 match MY-FIRST-FILTER description "My filter description"
+.. start_vyoslinter
+
.. note:: An IPv4 TCP filter will only match packets with an IPv4 header
@@ -281,9 +288,11 @@ you want to do with the traffic of that class, what specific
Traffic-Control treatment you want to give it. You will have different
possibilities depending on the Traffic Policy you are configuring.
+.. stop_vyoslinter
+
.. code-block:: none
- vyos@vyos# set qos policy shaper MY-SHAPER class 30
+ vyos@vyos# set qos policy shaper MY-SHAPER class 30
Possible completions:
bandwidth Available bandwidth for this policy (default: auto)
burst Burst size for this class (default: 15k)
@@ -299,7 +308,8 @@ possibilities depending on the Traffic Policy you are configuring.
queue-type Queue type for default traffic (default: fq-codel)
set-dscp Change the Differentiated Services (DiffServ) field in the IP header
target Acceptable minimum standing/persistent queue delay (default: 5)
-
+
+.. start_vyoslinter
For instance, with :code:`set qos policy shaper MY-SHAPER
class 30 set-dscp EF` you would be modifying the DSCP field value of packets in
@@ -1140,9 +1150,11 @@ parameters.
Random Early Detection (RED)
+.. stop_vyoslinter
+
.. code-block:: none
- vyos@vyos# set qos policy shaper HTB class 10
+ vyos@vyos# set qos policy shaper HTB class 10
Possible completions:
bandwidth Available bandwidth for this policy (default: auto)
burst Burst size for this class (default: 15k)
@@ -1159,6 +1171,8 @@ parameters.
set-dscp Change the Differentiated Services (DiffServ) field in the IP header
target Acceptable minimum standing/persistent queue delay (default: 5)
+.. start_vyoslinter
+
.. note:: If you configure a class for **VoIP traffic**, don't give it any
@@ -1174,6 +1188,8 @@ Example
A simple example of Shaper using priorities.
+.. stop_vyoslinter
+
.. code-block:: none
set qos policy shaper MY-HTB bandwidth '50mbit'
@@ -1195,6 +1211,8 @@ A simple example of Shaper using priorities.
set qos policy shaper MY-HTB default priority '7'
set qos policy shaper MY-HTB default queue-type 'fair-queue'
+.. start_vyoslinter
+
.. _CAKE:
CAKE
@@ -1255,8 +1273,8 @@ edge.
.. cfgcmd:: set qos policy cake <text> flow-isolation triple-isolate
- **(Default)** Flows are defined by the 5-tuple, fairness is applied over source and
- destination addresses and also over individual flows.
+ **(Default)** Flows are defined by the 5-tuple, fairness is applied
+ over source and destination addresses and also over individual flows.
.. cfgcmd:: set qos policy cake <text> rtt
diff --git a/docs/installation/install.rst b/docs/installation/install.rst
index 80e4a5f6..4071af64 100644
--- a/docs/installation/install.rst
+++ b/docs/installation/install.rst
@@ -147,7 +147,7 @@ To verify a VyOS image starting with VyOS ``1.3.0-rc6``, run:
$ minisign -V -P RWSIhkR/dkM2DSaBRniv/bbbAf8hmDqdbOEmgXkf1RxRoxzodgKcDyGq -m vyos-1.5-rolling-202409250007-generic-amd64.iso vyos-1.5-rolling-202409250007-generic-amd64.iso.minisig
Signature and comment signature verified
- Trusted comment: timestamp:1727223408 file:vyos-1.5-rolling-202409250007-generic-amd64.iso hashed
+ Trusted comment: timestamp:1727223408 file:vyos-1.5-rolling-202409250007-generic-amd64.iso hashed
During an image upgrade, VyOS runs the following command: