git: 009a56b2e416 - stable/13 - if_vtnet(4): Restore the ability to set promisc mode.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 23 Feb 2022 11:09:37 UTC
The branch stable/13 has been updated by afedorov: URL: https://cgit.FreeBSD.org/src/commit/?id=009a56b2e416cf32b28be405876ab38bd7544d98 commit 009a56b2e416cf32b28be405876ab38bd7544d98 Author: Aleksandr Fedorov <afedorov@FreeBSD.org> AuthorDate: 2022-02-05 15:47:46 +0000 Commit: Aleksandr Fedorov <afedorov@FreeBSD.org> CommitDate: 2022-02-23 11:08:24 +0000 if_vtnet(4): Restore the ability to set promisc mode. PR: 254343, 255054 Reviewed by: vmaffione (mentor), donner Approved by: vmaffione (mentor), donner MFC after: 2 weeks Sponsored by: vstack.com Differential Revision: https://reviews.freebsd.org/D30639 (cherry picked from commit fc035df8af32d496885e5da26e519ce6a262c9bf) --- sys/dev/virtio/network/if_vtnet.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 3650d19fbe0e..2b25fbfb6b93 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1296,9 +1296,13 @@ vtnet_ioctl_ifflags(struct vtnet_softc *sc) if ((ifp->if_flags ^ sc->vtnet_if_flags) & (IFF_PROMISC | IFF_ALLMULTI)) { - if ((sc->vtnet_flags & VTNET_FLAG_CTRL_RX) == 0) - return (ENOTSUP); - vtnet_rx_filter(sc); + if (sc->vtnet_flags & VTNET_FLAG_CTRL_RX) + vtnet_rx_filter(sc); + else { + if ((ifp->if_flags ^ sc->vtnet_if_flags) & IFF_ALLMULTI) + return (ENOTSUP); + ifp->if_flags |= IFF_PROMISC; + } } out: