There are two functions called from syncNicRxFilterMultiMode:
virNetDevSetRcvAllMulti() and virNetDevSetRcvMulti(). Both of
them return 0 on success and -1 on error. However, currently
their return value is checked for != 0 which conflicts with our
assumptions on retvals: a positive value is still considered
success but with current check it would lead to failure.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/qemu/qemu_driver.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 8403492ec1..7bac10506b 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4448,7 +4448,7 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr
guestFilter,
guestFilter->multicast.mode == VIR_NETDEV_RX_FILTER_MODE_NORMAL)) {
switch (guestFilter->multicast.mode) {
case VIR_NETDEV_RX_FILTER_MODE_ALL:
- if (virNetDevSetRcvAllMulti(ifname, true)) {
+ if (virNetDevSetRcvAllMulti(ifname, true) < 0) {
VIR_WARN("Couldn't set allmulticast flag to 'on' for
"
"device %s while responding to "
"NIC_RX_FILTER_CHANGED", ifname);
@@ -4461,7 +4461,7 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr
guestFilter,
break;
}
- if (virNetDevSetRcvMulti(ifname, true)) {
+ if (virNetDevSetRcvMulti(ifname, true) < 0) {
VIR_WARN("Couldn't set multicast flag to 'on' for
"
"device %s while responding to "
"NIC_RX_FILTER_CHANGED", ifname);
@@ -4478,13 +4478,13 @@ syncNicRxFilterMultiMode(char *ifname, virNetDevRxFilterPtr
guestFilter,
break;
case VIR_NETDEV_RX_FILTER_MODE_NONE:
- if (virNetDevSetRcvAllMulti(ifname, false)) {
+ if (virNetDevSetRcvAllMulti(ifname, false) < 0) {
VIR_WARN("Couldn't set allmulticast flag to 'off'
for "
"device %s while responding to "
"NIC_RX_FILTER_CHANGED", ifname);
}
- if (virNetDevSetRcvMulti(ifname, false)) {
+ if (virNetDevSetRcvMulti(ifname, false) < 0) {
VIR_WARN("Couldn't set multicast flag to 'off' for
"
"device %s while responding to "
"NIC_RX_FILTER_CHANGED",
--
2.19.2