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(a)redhat.com>
Michal