This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 632760 - RFE: Support for network QoS
RFE: Support for network QoS
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libvirt (Show other bugs)
6.2
x86_64 All
high Severity high
: beta
: 6.2
Assigned To: Michal Privoznik
Virtualization Bugs
: FutureFeature
: 515696 696138 (view as bug list)
Depends On:
Blocks: 638197 659725 693512 643947
  Show dependency treegraph
 
Reported: 2010-09-10 17:21 EDT by IBM Bug Proxy
Modified: 2012-06-12 02:36 EDT (History)
19 users (show)

See Also:
Fixed In Version: libvirt-0.9.4-rc1-1.el6
Doc Type: Enhancement
Doc Text:
Cause: In some scenarios users wants to shape traffic of a VM, its specific NIC or whole virtual network. It is better if this can be done directly via libvirt which sets virtual networks up, brings up VMs than enforcing user to set it up manually after. Consequence: Users often ran scripts to set up traffic shaping Change: Network and interface XML definitions were extended so users can specify average, peak and burst rates and libvirt will set them up on network/VM startup. Result: Users can now set bandwidth limitation via libvirt.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-12-06 05:49:32 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
IBM Linux Technology Center 67174 None None None Never

  None (edit)
Description IBM Bug Proxy 2010-09-10 17:21:27 EDT
1. Feature Overview:
Feature Id: [67174]
a. Name of Feature: [6.1 FEAT] Support for QoS in libvirt
b. Feature Description
To control and shape the network traffic between virtual machines it it necessary to integrate QoS
features into libvirt.


2. Feature Details:
Sponsor: LTC
Architectures:
  x86_64, 

Arch Specificity: ---
Affects Kernel Modules: Field does not exist
Delivery Mechanism: Backport
Category: other
Request Type: Package - Feature from Upstream
d. Upstream Acceptance: Field does not exist
Sponsor Priority P3
f. Severity: high
IBM Confidential: No
Code Contribution: ---
g. Component Version Target:
---

3. Business Case
This allows customers to maximize efficient usage of their (virtual) network infrastructure.

4. Primary contact at Red Hat:
John Jarvis
jjarvis@redhat.com

5. Primary contacts at Partner:
Project Management Contact:
Stephanie A. Glass, sglass@us.ibm.com

Technical contact(s):
Dirk Herrendoerfer, herrend@de.ibm.com
Comment 2 IBM Bug Proxy 2010-10-04 12:27:54 EDT
------- Comment From rsisk@us.ibm.com 2010-10-04 11:14 EDT-------
Code Upstream Status: Not Started
Comment 3 Dave Allan 2010-11-22 22:47:46 EST
I'm setting cond nak patch simply to reflect that we will be looking for an upstream patch from IBM if one has not already been submitted.
Comment 4 Dave Allan 2010-11-23 16:07:46 EST
*** Bug 515696 has been marked as a duplicate of this bug. ***
Comment 5 IBM Bug Proxy 2010-12-07 04:52:04 EST
------- Comment From gerhard.stenzel@de.ibm.com 2010-12-07 04:46 EDT-------
A basic implementation to support QoS via libvirt/cgroups has been posted to https://www.redhat.com/archives/libvir-list/2010-December/msg00140.html, but no comments have been received so far.
Comment 6 IBM Bug Proxy 2010-12-14 08:30:57 EST
------- Comment From gerhard.stenzel@de.ibm.com 2010-12-14 08:22 EDT-------
Given the current state of the discussion on the mailing list, we will defer this feature request to 6.2, but will continue the design and implementation discussion.
Comment 7 John Jarvis 2010-12-14 09:16:01 EST
Adding to the 6.2 tracker.
Comment 8 IBM Bug Proxy 2011-05-04 11:10:22 EDT
------- Comment From sglass@us.ibm.com 2011-05-04 11:02 EDT-------
This no longer is needed.  Please quit on your side
Comment 9 Michal Privoznik 2011-05-17 04:21:29 EDT
*** Bug 696138 has been marked as a duplicate of this bug. ***
Comment 22 Dave Allan 2011-06-13 11:24:13 EDT
The RFE is to limit a particular guest interface to a particular bandwidth, e.g, 100MBps.  The test is fairly simple: for example, set up a network with greater than 100MBps bandwidth, assign a guest interface and limit it to 100Mbps, and confirm that you get roughly 100Mbps throughput on that interface.
Comment 24 Michal Privoznik 2011-06-23 11:40:26 EDT
Patches available and sent upstream:

https://www.redhat.com/archives/libvir-list/2011-June/msg01149.html
Comment 25 Michal Privoznik 2011-07-25 05:47:00 EDT
moving to POST:

https://www.redhat.com/archives/libvir-list/2011-July/msg01656.html

This patch series add support for setting traffic shaping and policing
on both domain's interface and network's virtual bridge. Basically,
this is done via 'tc' from iproute2 package. For shaping is HTB used,
for policing we need u32 match selector. Both should be available in
RHEL-6 kernel.

How this works:
On an virtual interface which has limits defined a root qdisc are replaced.
Ingress root for outbound traffic shaping and egress for inbound.
Basically, in inbound traffic policing is applied, on outbound shaping.
New qdiscs are set to limit the traffic to rate set in XML. For shaping
it is possible to set the size of buffer. Accepted values for rate, peak
and burst are integer numbers. Units are kilobytes per second for rate
or kilobytes for size.

Supported devices are VIR_DOMAIN_NET_TYPE_NETWORK, VIR_DOMAIN_NET_TYPE_BRIDGE
and VIR_DOMAIN_NET_TYPE_DIRECT.

v0.9.3-295-g2b9efcb
Comment 28 Michal Privoznik 2011-11-11 04:41:22 EST
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: In some scenarios users wants to shape traffic of a VM, its specific NIC or whole virtual network. It is better if this can be done directly via libvirt which sets virtual networks up, brings up VMs than enforcing user to set it up manually after.

Consequence: Users often ran scripts to set up traffic shaping

Change: Network and interface XML definitions were extended so users can specify average, peak and burst rates and libvirt will set them up on network/VM startup.

Result: Users can now set bandwidth limitation via libvirt.
Comment 31 errata-xmlrpc 2011-12-06 05:49:32 EST
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/RHBA-2011-1513.html

Note You need to log in before you can comment on or make changes to this bug.