[libvirt-users] Strange QoS behavior

Michal Privoznik mprivozn at redhat.com
Tue Dec 4 08:15:24 UTC 2012


On 04.12.2012 04:24, Gao Yongwei wrote:
> 
> 
> 2012/12/4 Davide Guerri <davide.guerri at gmail.com
> <mailto:davide.guerri at gmail.com>>
> 
>     Here they are:
> 
>     !(~) #  tc class show dev vnet43
>     class htb 1:1 root prio 0 rate 20480Kbit ceil 20480Kbit burst 1597b
>     cburst 1597b
> 
>     !(~) #  tc filter show dev vnet43
>     filter parent 1: protocol ip pref 49152 fw
>     filter parent 1: protocol ip pref 49152 fw handle 0x1 classid :1
> 
>     !(~) #  tc qdisc show dev vnet43
>     qdisc htb 1: root refcnt 2 r2q 10 default 1 direct_packets_stat 0
>     qdisc ingress ffff: parent ffff:fff1 ----------------
> 
> 
> 
> 
> 
>     On 03/dic/2012, at 17:19, Michal Privoznik <mprivozn at redhat.com
>     <mailto:mprivozn at redhat.com>> wrote:
> 
>     > On 03.12.2012 16:37, Davide Guerri wrote:
>     >> Hi,
>     >> I'm having some weird problem with the setup of the QoS on a
>     bridged network.
>     >>
>     >> As the docs states, outbound/inbound average speed should be
>     expressed in KBps (KBytes per second) but in order to get a maximum
>     speed of 10Mbps (megabits per second) surprising enough I have to
>     use 2560 on the guest (not 1280 as expected).
>     >> Using 1280 units I get a speed og 5Mbps.
>     >>
>     >> I'm aware of peak and burst parameters but even with them I'm
>     seeing the same (long-term) behavior.
>     >>
>     >> Here follows my configuration.
>     >>
>     >> Thank you in advance for any help you can provide.
>     >>
>     >>
>     >>
>     >> Domain definition (relevant part only)
>     >>
>     >> virsh # dumpxml mydomain
>     >> <domain type='kvm' id='45'>
>     >> [...]
>     >> <devices>
>     >>  [...]
>     >>  <interface type='network'>
>     >>    <mac address='52:54:00:xx:xx:xx'/>
>     >>    <source network='br909'/>
>     >>    <target dev='vnet43'/>
>     >>    <model type='virtio'/>
>     >>    <bandwidth>
>     >>      <inbound average='2560'/>
>     >>      <outbound average='2560'/>
>     >>    </bandwidth>
>     >>    <alias name='net0'/>
>     >>    <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
>     function='0x0'/>
>     >>  </interface>
>     >>  [...]
>     >> </devices>
>     >> </domain>
>     >>
>     >>
>     >> The network definition:
>     >> virsh # net-dumpxml br909
>     >> <network>
>     >> <name>br909</name>
>     >> <uuid>07319380-2025-cdcc-924a-149cd0370b56</uuid>
>     >> <forward mode='bridge'/>
>     >> <bridge name='br909' />
>     >> </network>
>     >>
>     >>
>     >> And iperf result (client and server are on the same vlan and they
>     are running on the same host)
>     >>
>     >> [  5] local xx.xx.xx.xx port 5001 connected with xx.xx.xx.yy port
>     18396
>     >> [  5]  0.0-30.1 sec  35.4 MBytes  9.87 Mbits/sec
>     >
>     > Hm, strange. What does:
>     >
>     >  tc class show dev vnet43
>     >  tc filter show dev vnet43
>     >  tc qdisc show dev vnet43
>     >
>     > show?
> 
>  
> you can use this command to list the filter:
>    tc filter list dev vnet43 root
> and check the mtu , and also   read
> this:http://www.redhat.com/archives/libvir-list/2011-August/msg00333.html
> as i know,the libvirt0.9.10 has this problem,while the mtu has been set
> to 64k in libvirt dev version

The fix corresponds to commit 0ac3baee2c2fd56ef89f24f5ea484e39d2bf35f5
(1) which is part of the 0.9.13 release.

Michal

1:
http://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=0ac3baee2c2fd56ef89f24f5ea484e39d2bf35f5




More information about the libvirt-users mailing list