This is a rework of my one year old patchset [1].

If you are brave enough and start reviewing it, you may want to read
the last patch first. The whole magic hidden behind the scene is
documented there. For now, the only supported combination where this
works is virtual interface connected to virtual network. This network
MUST have an inbound average set, at least. This tells how much
bandwidth do we have, and how much can we guarantee.  If we would miss
this info, then we cannot guarantee anything. On the other hand, this
is just a very small part of whole problem. Users MUST configure all
other devices on traffic path to follow up their setting in libvirt.
But that's out of our scope.

1: http://www.redhat.com/archives/libvir-list/2011-December/msg00486.html

Michal Privoznik (11):
  bandwidth: add new 'floor' attribute
  bandwidth: Create hierarchical shaping classes
  bandwidth: Create (un)plug functions
  bandwidth: Create rate update function
  bandwidth: Create network (un)plug functions
  network: Create real network status files
  domain: Keep assigned class_id in domstatus XML
  network: Update status file on (un)plug
  network: Allow class ID to be reused
  bandwidth: Attach sfq to leaf node
  bandwidth: Add documentation

 docs/formatdomain.html.in        |   20 ++-
 docs/schemas/networkcommon.rng   |    5 +
 po/POTFILES.in                   |    1 +
 src/Makefile.am                  |    7 +-
 src/conf/domain_conf.c           |   10 +-
 src/conf/domain_conf.h           |    1 +
 src/conf/netdev_bandwidth_conf.c |   54 ++++++-
 src/conf/netdev_bandwidth_conf.h |    3 +-
 src/conf/network_conf.c          |  230 ++++++++++++++++++++++-----
 src/conf/network_conf.h          |    6 +
 src/libvirt_network.syms         |    8 +
 src/libvirt_private.syms         |    1 +
 src/lxc/lxc_process.c            |    3 +-
 src/network/bridge_driver.c      |  224 +++++++++++++++++++++++++-
 src/network/bridge_driver.h      |   10 +-
 src/qemu/qemu_command.c          |   35 +++--
 src/qemu/qemu_domain.c           |   66 +++++++-
 src/qemu/qemu_driver.c           |    2 +-
 src/qemu/qemu_process.c          |   12 ++
 src/util/virnetdevbandwidth.c    |  326 +++++++++++++++++++++++++++++++++++++-
 src/util/virnetdevbandwidth.h    |   25 +++-
 src/util/virnetdevmacvlan.c      |    2 +-
 22 files changed, 956 insertions(+), 95 deletions(-)
 create mode 100644 src/libvirt_network.syms

-- 
1.7.8.6

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to