diff --git a/src/libs/compat/freebsd_network/device.c b/src/libs/compat/freebsd_network/device.c index 520e44e517..3ab108f5a8 100644 --- a/src/libs/compat/freebsd_network/device.c +++ b/src/libs/compat/freebsd_network/device.c @@ -136,14 +136,14 @@ compat_open(const char *name, uint32 flags, void **cookie) struct ifnet *ifp = dev->ifp; struct ifreq ifr; - ifp->if_flags = 0; + ifp->if_flags &= ~IFF_UP; ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL); memset(&ifr, 0, sizeof(ifr)); ifr.ifr_media = IFM_MAKEWORD(IFM_ETHER, IFM_AUTO, 0, 0); ifp->if_ioctl(ifp, SIOCSIFMEDIA, (caddr_t)&ifr); - ifp->if_flags = IFF_UP; + ifp->if_flags |= IFF_UP; ifp->if_ioctl(ifp, SIOCSIFFLAGS, NULL); }