On 8/17/21 6:38 AM, jx8zjs wrote:
> ---
>
> 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(-)
>
I'm fixing all the small issues I've found and pushing.
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Michal