Bug 595351 - backport tun/cgroup fixes to allow kvm to work with net classifier cgroups
Summary: backport tun/cgroup fixes to allow kvm to work with net classifier cgroups
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Neil Horman
QA Contact: Red Hat Kernel QE team
Depends On:
Blocks: 615118
TreeView+ depends on / blocked
Reported: 2010-05-24 12:31 UTC by Neil Horman
Modified: 2010-11-11 16:15 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 615118 (view as bug list)
Last Closed: 2010-11-11 16:15:04 UTC
Target Upstream Version:

Attachments (Terms of Use)
backport of patches (7.84 KB, patch)
2010-05-24 18:25 UTC, Neil Horman
no flags Details | Diff

Description Neil Horman 2010-05-24 12:31:38 UTC
Description of problem:
virt uses the tun driver + soft bridging to do networking.  This implies a switch to softirq context at least 1 time during packet processing which prevents the network cgroup classifier from doing traffic control on qemu processes in kvm.  We need these commits:


From the net-2.6 tree to get it working.

Comment 1 Neil Horman 2010-05-24 18:25:50 UTC
Created attachment 416189 [details]
backport of patches

Comment 2 Aristeu Rozanski 2010-05-28 20:39:02 UTC
Patch(es) available on kernel-2.6.32-31.el6

Comment 8 Neil Horman 2010-07-13 13:29:54 UTC
In regards to comments , 6 and 75, you're not adding the filters properly (although it is admittedly a subtle issue).  br0 is the bare metal hosts bridge interface, frames originating from the bare metal host are transmitted by that interface.  In contrast traffic originating from a guest is forwarded by the bride instance that br0 represents, but br0 doesn't actually transmit that traffic.  As such the filters you added to br0 aren't consulted when guests transmit traffic. Likewise, vnet0 is the ethernet port that represents the connection to the guest on the bridge. Traffic originating from the guests will be received on those interfaces, not transmitted.  Since the filters above are egress filters, adding them to vnetX will be useless.  What you want to do is add the filters to the physical interfaces that are members of the bridge in question (ethX).  Then the filters will get consulted and provide the rate limiting your looking for.

Comment 15 releng-rhel@redhat.com 2010-11-11 16:15:04 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.

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