aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/virtio/network
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2015-06-13 19:39:21 +0000
committerKristof Provost <kp@FreeBSD.org>2015-06-13 19:39:21 +0000
commit581e69703607858d2661b32fce87e53ad4602ab4 (patch)
tree515723ac1226443c262e796dae6434fde743ec1e /sys/dev/virtio/network
parentf2c41c554db2b5c559c18e800001b859687afffa (diff)
Notes
Diffstat (limited to 'sys/dev/virtio/network')
-rw-r--r--sys/dev/virtio/network/if_vtnet.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c
index 232d2c9484cd..3b6438f048f1 100644
--- a/sys/dev/virtio/network/if_vtnet.c
+++ b/sys/dev/virtio/network/if_vtnet.c
@@ -1080,8 +1080,12 @@ vtnet_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
(IFF_PROMISC | IFF_ALLMULTI)) {
if (sc->vtnet_flags & VTNET_FLAG_CTRL_RX)
vtnet_rx_filter(sc);
- else
- error = ENOTSUP;
+ else {
+ ifp->if_flags |= IFF_PROMISC;
+ if ((ifp->if_flags ^ sc->vtnet_if_flags)
+ & IFF_ALLMULTI)
+ error = ENOTSUP;
+ }
}
} else
vtnet_init_locked(sc);