--- diff to v1: - Modify commit message to no longer then 80 characters. - Split patch into several commits - Add notes on some function and defination - Extract common code block to a single function Thanks to Pavel Hrdina for helping to review these patches. Two problems are found and fixed below: 1. Ingress rules is not clean on previous version of virNetDevOpenvswitchInterfaceClearQos. 2. If errors occurs when removing inbound qos on multi interfaces vm, some rules may not be delete as aspected. Fix by: 1.Instead of cleaning all qos rules each time new qos is set, tx and rx's qos are set or cleaned respectively. 2.Replace virReportError with VIR_WARN to let the cleaning process continue when error occurs. 3.Add ifname into ovs querying statements, which will reduce failure of removing qos on the other interfaces of the same vm. Test virNetDevOpenvswitchInterfaceSetQos and virNetDevOpenvswitchInterfaceClearQos with dryrun method. Since commands in tests are not actually run, it is difficult to emulate some complex senario, such as set and then update qos. So basic tests are added in patches. Jinsheng Zhang (6): virnetdevovs: Add vmuuid notes on virNetDevOpenvswitchInterfaceSetQos virnetdevovs: Extract conversion parameters between virNetDevBandwidth and ovs virnetdevovs: Extract common code block to a single function virnetdevovs: Introduce virNetDevOpenvswitchInterfaceClearTxQos and virNetDevOpenvswitchInterfaceClearRxQos virnetdevovs: Fix qos cleaning residual on multi interfaces tests: add test on virNetDevOpenvswitchInterfaceSetQos and virNetDevOpenvswitchInterfaceClearQos src/libvirt_private.syms | 2 + src/util/virnetdevopenvswitch.c | 142 ++++++++++++++-------- src/util/virnetdevopenvswitch.h | 14 +++ tests/virnetdevopenvswitchtest.c | 196 ++++++++++++++++++++++++++++++- 4 files changed, 302 insertions(+), 52 deletions(-) -- 2.30.2.windows.1