On Mon, Sep 05, 2016 at 10:52:40AM +0200, Pradeep Kiruvale wrote: > Hi Alberto, > > Thanks for your reply. > > > > > > I am planning to implement throttling functionality for virtio-net > > > driver using the throttling APIs that exist inside qemu. > > > > Hi Pradeep, > > > > the problem with implementing throttling for the network is that > > it's useless if you use the vhost_net kernel accelerator, because it > > bypasses QEMU entirely: > > > > https://access.redhat.com/documentation/en-US/Red_Hat_ > > Enterprise_Linux/7/html/Virtualization_Tuning_and_Optimization_Guide/sect- > > Virtualization_Tuning_Optimization_Guide-Networking- > > Virtio_and_vhostnet.html > > > Thanks for this very valuable information. What if someone wants to just > use virtio-net without the vhost acceleration? > Any idea how it will be done in this case? It still uses cgroup or some > other mechanism to do throttling? > > > > > libvirt implements this using tc: > > > > https://libvirt.org/formatdomain.html#elementDomain > > http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm#ceiling > > > Here it uses the cgroup inside the libvirt dirver to control the packet > rate right?
No, cgroups is not involved. Libvirt attaches a tc filter directly to the host TAP device associated with the virtual NIC. Cgroups tc support would only be relevant if you're trying to filter non-NIC related network traffic QEMU generates. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|