From a8923162c92654f5ec03ff8cdce91da65af3e233 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Fri, 22 Jul 2011 16:07:23 +0200 Subject: [PATCH] bandwidth: Define schema and create documentation Define new 'bandwidth' element with possible child element 'inbound' and 'outbound' addressing incoming and outgoing traffic respectively: Leaving any element out means not to shape traffic in that direction. The units for average and peak (rate) are in kilobytes per second, for burst (size) are just in kilobytes. This element can be inserted into domain's 'interface' and 'network'. --- docs/formatdomain.html.in | 34 ++++++++++++++++++++++++ docs/formatnetwork.html.in | 30 +++++++++++++++++++++ docs/schemas/domain.rng | 3 +++ docs/schemas/network.rng | 3 +++ docs/schemas/networkcommon.rng | 48 ++++++++++++++++++++++++++++++++++ 5 files changed, 118 insertions(+) diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in index 83146ed7cf..f40afc4ac9 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -1882,6 +1882,40 @@ qemu-kvm -net nic,model=? /dev/null Since 0.8.8

+
Quality of service
+ +
+  ...
+  <devices>
+    <interface type='network'>
+      <source network='default'/>
+      <target dev='vnet0'/>
+      <bandwidth>
+        <inbound average='1000' peak='5000' burst='1024'/>
+        <outbound average='128' peak='256' burst='256'/>
+      </bandwidth>
+    </interface>
+  <devices>
+  ...
+ +

+ This part of interface XML provides setting quality of service. Incoming + and outgoing traffic can be shaped independently. The + bandwidth element can have at most one inbound + and at most one outbound child elements. Leaving any of these + children element out result in no QoS applied on that traffic direction. + So, when you want to shape only domain's incoming traffic, use + inbound only, and vice versa. Each of these elements have one + mandatory attribute average. It specifies average bit rate on + interface being shaped. Then there are two optional attributes: + peak, which specifies maximum rate at which interface can send + data, and burst, amount of bytes that can be burst at + peak speed. Accepted values for attributes are integer + numbers. The units for average and peak attributes + are kilobytes per second, and for the burst just kilobytes. + Since 0.9.4 +

+

Input devices

diff --git a/docs/formatnetwork.html.in b/docs/formatnetwork.html.in index f9421c3f84..f0ff703269 100644 --- a/docs/formatnetwork.html.in +++ b/docs/formatnetwork.html.in @@ -101,6 +101,36 @@ to this host. Since 0.3.0; 'mode' attribute since 0.4.2 +

Quality of service
+ +
+...
+  <forward mode='nat' dev='eth0'/>
+  <bandwidth>
+    <inbound average='1000' peak='5000' burst='5120'/>
+    <outbound average='128' peak='256' burst='256'/>
+  </bandwidth>
+  <mac address='00:16:3E:5D:C7:9E'/>
+...
+ +

+ This part of network XML provides setting quality of service. Incoming + and outgoing traffic can be shaped independently. The + bandwidth element can have at most one inbound + and at most one outbound child elements. Leaving any of these + children element out result in no QoS applied on that traffic direction. + So, when you want to shape only network's incoming traffic, use + inbound only, and vice versa. Each of these elements have one + mandatory attribute average. It specifies average bit rate on + interface being shaped. Then there are two optional attributes: + peak, which specifies maximum rate at which bridge can send + data, and burst, amount of bytes that can be burst at + peak speed. Accepted values for attributes are integer + numbers, The units for average and peak attributes + are kilobytes per second, and for the burst just kilobytes. + The rate is shared equally within domains connected to the network. + Since 0.9.4 +

Addressing

diff --git a/docs/schemas/domain.rng b/docs/schemas/domain.rng index 43326ab05a..aa4ce69419 100644 --- a/docs/schemas/domain.rng +++ b/docs/schemas/domain.rng @@ -1189,6 +1189,9 @@ + + + diff --git a/docs/schemas/networkcommon.rng b/docs/schemas/networkcommon.rng index 025181387f..3a168c337c 100644 --- a/docs/schemas/networkcommon.rng +++ b/docs/schemas/networkcommon.rng @@ -47,4 +47,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [0-9]+ + 1 + + + + + [0-9]+ + 1 + + -- GitLab