[PATCHv2 0/4] Add qemu support setting qos via ovs on ovs interface

Michal Prívozník mprivozn at redhat.com
Fri Jul 2 15:46:20 UTC 2021


On 7/1/21 10:42 AM, zhangjl02 wrote:
> ---
> 
> diff to v1:
>   - move qemuDomainDefIsOvsport from src/qemu/qemu_domain.c to
>   src/conf/domain_conf.c

You can also post a follow up patch that replaces check from the
function with the function call :-) I mean, we have couple of places
that do look exactly as the function body.

>   - call virCommandFree(cmd)free cmd before reusing it.
>   - add g_autofree to variables.
>   - reduce usage of virReportError(), and coupled it with return -1. 
>   - fix remove port qos error.
>   - optimise code structure.
> 
> Thanks to Michal Privoznik for helping reviewing these patches.
> 
> 
> Now libvirt use tc rules to manage interface's qos. But when an 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):
>   virDomain: interface: add virDomainNetDefIsOvsport
>   virDomain: 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/conf/domain_conf.c          |   8 +
>  src/conf/domain_conf.h          |   2 +
>  src/libvirt_private.syms        |   3 +
>  src/qemu/qemu_command.c         |  10 +-
>  src/qemu/qemu_domain.c          |   3 +-
>  src/qemu/qemu_driver.c          |  22 ++-
>  src/qemu/qemu_hotplug.c         |  39 +++--
>  src/qemu/qemu_process.c         |  10 +-
>  src/util/virnetdevopenvswitch.c | 271 ++++++++++++++++++++++++++++++++
>  src/util/virnetdevopenvswitch.h |  11 ++
>  10 files changed, 362 insertions(+), 17 deletions(-)
> 

I've suggested what should be squashed in for each patch. Please let me
know if you agree and if so I'll squash it and merge.

Michal




More information about the libvir-list mailing list