diff options
Diffstat (limited to 'doc/source/devref/quality_of_service.rst')
-rw-r--r-- | doc/source/devref/quality_of_service.rst | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/doc/source/devref/quality_of_service.rst b/doc/source/devref/quality_of_service.rst index 3a4d6f3c94..bd4a8c716d 100644 --- a/doc/source/devref/quality_of_service.rst +++ b/doc/source/devref/quality_of_service.rst @@ -253,8 +253,13 @@ with them. Agent backends -------------- -At the moment, QoS is supported by Open vSwitch backend only, so -QosOVSAgentDriver is the only driver that implements QosAgentDriver interface. +At the moment, QoS is supported by Open vSwitch and SR-IOV ml2 drivers. + +Each agent backend defines a QoS driver that implements the QosAgentDriver +interface: + +* Open vSwitch (QosOVSAgentDriver); +* SR-IOV (QosSRIOVAgentDriver). Open vSwitch @@ -274,6 +279,24 @@ That approach is less flexible than linux-htb, Queues and OvS QoS profiles, which we may explore in the future, but which will need to be used in combination with openflow rules. +SR-IOV +~~~~~~ + +SR-IOV bandwidth limit implementation relies on the new pci_lib function: + +* set_vf_max_rate + +As the name of the function suggests, the limit is applied on a Virtual +Function (VF). + +ip link interface has the following limitation for bandwidth limit: it uses +Mbps as units of bandwidth measurement, not kbps, and does not support float +numbers. So in case the limit is set to something less than 1000 kbps, it's set +to 1 Mbps only. If the limit is set to something that does not divide to 1000 +kbps chunks, then the effective limit is rounded to the nearest integer Mbps +value. + + Configuration ============= |