From b930bd7ee68b439c2a01440d6802fcd2bb083ebc Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Fri, 5 Oct 2018 17:10:22 +0200 Subject: Quick Start: add basic QoS settings --- docs/ch03-quick-start.rst | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) (limited to 'docs') diff --git a/docs/ch03-quick-start.rst b/docs/ch03-quick-start.rst index cf6c2169..11912947 100644 --- a/docs/ch03-quick-start.rst +++ b/docs/ch03-quick-start.rst @@ -101,3 +101,64 @@ Commit changes, save the configuration, and exit configuration mode: Done vyos@vyos# exit vyos@vyos$ + +Basic QoS +--------- + +The traffic policy subsystem provides an interface to Linux traffic control +(tc_). + +One common use of traffic policy is to limit bandwidth for an interface. In +the example below we limit bandwidth for our LAN connection to 200 Mbit download +and out WAN connection to 50 Mbit upload: + +.. code-block:: sh + + set traffic-policy shaper WAN-OUT bandwidth '50Mbit' + set traffic-policy shaper WAN-OUT default bandwidth '50%' + set traffic-policy shaper WAN-OUT default ceiling '100%' + set traffic-policy shaper WAN-OUT default queue-type 'fair-queue' + set traffic-policy shaper LAN-OUT bandwidth '200Mbit' + set traffic-policy shaper LAN-OUT default bandwidth '50%' + set traffic-policy shaper LAN-OUT default ceiling '100%' + set traffic-policy shaper LAN-OUT default queue-type 'fair-queue' + +Resulting in the following configuration: + +.. code-block:: sh + + traffic-policy { + shaper WAN-OUT { + bandwidth 50Mbit + default { + bandwidth 50% + ceiling 100% + queue-type fair-queue + } + } + shaper LAN-OUT { + bandwidth 200Mbit + default { + bandwidth 50% + ceiling 100% + queue-type fair-queue + } + } + } + +Once defined, a traffic policy can be applied to each interface using the +interface-level traffic-policy directive: + +.. code-block:: sh + + set interfaces ethernet eth0 traffic-policy out 'WAN-OUT' + set interfaces ethernet eth1 traffic-policy out 'LAN-OUT' + +Note that a traffic policy can also be defined to match specific traffic +flows using class statements. + +VyOS 1.2 (Crux) also supports HFSC (:code:`set traffic-policy shaper-hfsc`) + +See further information in the `QoS and Traffic Policy`_ chapter. + +.. _tc: http://en.wikipedia.org/wiki/Tc_(Linux) -- cgit v1.2.3