Now libvirt use tc rules to manage interface's qos. But when a interface is created by ovs, there is no qos setting result in ovs database. Therefore, qos of ovs port should be set via ovs management command. We add a function to tell whether a port definition is an ovs managed virtual port. Change default qdisc rules, which return 0 directly if the port is ovs managed(When the ovs port is set noqueue, qos config on this port will not work). Add ovs management function of setting and cleaning qos. Then check if the port is an ovs managed port during its life cycle, and call the ovs management function to set or clean qos settings. zhangjl02 (4): qemu: interface: add qemuDomainDefIsOvsport qemu: interface: add virNetDevOpenvswitchInterfaceSetQos and virNetDevOpenvswitchInterfaceClearQos qemu: interface: remove setting noqueue for ovs port qemu: interface: check and use ovs command to set qos of ovs managed port src/libvirt_private.syms | 2 + src/qemu/qemu_command.c | 10 +- src/qemu/qemu_domain.c | 15 ++ src/qemu/qemu_domain.h | 3 + src/qemu/qemu_driver.c | 21 ++- src/qemu/qemu_hotplug.c | 39 +++-- src/qemu/qemu_process.c | 11 +- src/util/virnetdevopenvswitch.c | 269 ++++++++++++++++++++++++++++++++ src/util/virnetdevopenvswitch.h | 11 ++ 9 files changed, 365 insertions(+), 16 deletions(-) -- 2.30.2.windows.1