Bug 1096806

Summary: [BUG] Quality of service does just apply to protocol "ip" instead of the device
Product: Red Hat Enterprise Linux 6 Reporter: Chris Pelland <cpelland>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.5CC: acathrow, asegurap, bili, cpelland, danken, dyuan, herrold, honzhang, jdenemar, jiahu, laine, mprivozn, mzhan, pm-eus, s.kieske
Target Milestone: rcKeywords: Upstream, ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.10.2-29.el6_5.8 Doc Type: Bug Fix
Doc Text:
Cause: When setting a QoS on a NIC, libvirt uses the /usr/sbin/tc command. However, when constructing the tc commandline libvirt was passing "ip" instead of "all". Consequence: As a result, only ip traffic was shaped. Fix: The substition was made from "ip" to "all" Result: The correct tc command line is constructed now.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-27 16:27:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1084477    
Bug Blocks: 1084448    

Description Chris Pelland 2014-05-12 13:01:14 UTC
This bug has been copied from bug #1084477 and has been proposed
to be backported to 6.5 z-stream (EUS).

Comment 4 Michal Privoznik 2014-05-12 14:12:28 UTC
Moving to POST:

http://post-office.corp.redhat.com/archives/rhvirt-patches/2014-May/msg00299.html

Comment 6 hongming 2014-05-15 03:14:26 UTC
Verify it as follows. The result is expected. Move its status to VERIFIED.

# rpm -q libvirt
libvirt-0.10.2-29.el6_5.8.x86_64

# virsh net-dumpxml default
<network>
  <name>default</name>
  <uuid>ebfbd87d-cf22-483a-bfb7-776add027844</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0' />
  <mac address='52:54:00:30:BC:DF'/>
  <bandwidth>
    <inbound average='512' peak='1024' burst='32'/>
    <outbound average='512' peak='1024' burst='32'/>
  </bandwidth>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254' />
    </dhcp>
  </ip>
</network>

# tc -d filter show dev virbr0 parent ffff:
filter protocol all pref 49152 u32 
filter protocol all pref 49152 u32 fh 800: ht divisor 1 
filter protocol all pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid :1 
  match 00000000/00000000 at 0
 police 0x3 rate 4096Kbit burst 32Kb mtu 64Kb action drop overhead 0b 
ref 1 bind 1

Comment 8 errata-xmlrpc 2014-05-27 16:27:15 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2014-0560.html