Bug 595351 - backport tun/cgroup fixes to allow kvm to work with net classifier cgroups
backport tun/cgroup fixes to allow kvm to work with net classifier cgroups
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.0
All Linux
low Severity medium
: rc
: ---
Assigned To: Neil Horman
Red Hat Kernel QE team
:
Depends On:
Blocks: 615118
  Show dependency treegraph
 
Reported: 2010-05-24 08:31 EDT by Neil Horman
Modified: 2010-11-11 11:15 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 615118 (view as bug list)
Environment:
Last Closed: 2010-11-11 11:15:04 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Neil Horman 2010-05-24 08:31:38 EDT
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:

f845172531fb7410c7fb7780b1a6e51ee6df7d52
8286274284e15b11b0f531b6ceeef21fbe00a8dd

From the net-2.6 tree to get it working.
Comment 1 Neil Horman 2010-05-24 14:25:50 EDT
Created attachment 416189 [details]
backport of patches
Comment 2 Aristeu Rozanski 2010-05-28 16:39:02 EDT
Patch(es) available on kernel-2.6.32-31.el6
Comment 8 Neil Horman 2010-07-13 09:29:54 EDT
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 11:15:04 EST
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.