[libvirt] [PATCH v4 0/7] Add support for setting QoS
Laine Stump
laine at laine.org
Mon Jul 25 14:35:51 UTC 2011
On 07/25/2011 06:29 AM, Michal Privoznik wrote:
> On 22.07.2011 16:07, Michal Privoznik wrote:
>> 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.
>>
>> diff to v3:
>> -Laine's review included
>>
>> diff to v2:
>> -Jirka's review included
>>
>> diff to v1:
>> -rebase to current HEAD
>> -add support for macvtap devices
>>
>>
>> Michal Privoznik (7):
>> bandwidth: Define schema and create documentation
>> bandwidth: Declare internal structures
>> bandwidth: Add parsing and free functions
>> bandwidth: Create format functions
>> bandwidth: Implement functions to enable and disable QoS
>> bandwidth: Add test cases for network
>> bandwidth: Add domain schema test suite
>>
>> configure.ac | 4 +
>> docs/formatdomain.html.in | 34 +++
>> docs/formatnetwork.html.in | 30 ++
>> docs/schemas/domain.rng | 3 +
>> docs/schemas/network.rng | 3 +
>> docs/schemas/networkcommon.rng | 48 +++
>> libvirt.spec.in | 2 +-
>> src/conf/domain_conf.c | 8 +
>> src/conf/domain_conf.h | 1 +
>> src/conf/network_conf.c | 10 +
>> src/conf/network_conf.h | 1 +
>> src/libvirt_private.syms | 5 +
>> src/network/bridge_driver.c | 18 ++
>> src/qemu/qemu_command.c | 11 +-
>> src/util/macvtap.c | 12 +-
>> src/util/macvtap.h | 3 +-
>> src/util/network.c | 380
>> +++++++++++++++++++++++++
>> src/util/network.h | 22 ++
>> tests/domainschemadata/domain-bandwidth.xml | 72 +++++
>> tests/networkxml2xmlin/bandwidth-network.xml | 16 +
>> tests/networkxml2xmlout/bandwidth-network.xml | 16 +
>> tests/networkxml2xmltest.c | 1 +
>> 22 files changed, 696 insertions(+), 4 deletions(-)
>> create mode 100644 tests/domainschemadata/domain-bandwidth.xml
>> create mode 100644 tests/networkxml2xmlin/bandwidth-network.xml
>> create mode 100644 tests/networkxml2xmlout/bandwidth-network.xml
>>
> Thanks for review & push.
Ah, right. I was distracted by the fact that the push went to Eric's
mirror repo and forgot to send mail saying that I'd pushed the series.
More information about the libvir-list
mailing list