Date: Sun, 08 Aug 2004 16:00:05 -0400 From: Coleman Kane <cokane@cokane.org> To: Maksim Yevmenkin <maksim.yevmenkin@savvis.net> Cc: hackers@freebsd.org Subject: Re: Network interface RUNNING and UP flags Message-ID: <1091995205.13151.7.camel@schizophreniac> In-Reply-To: <41140139.5080803@savvis.net> References: <346a8022040806145018a5e18@mail.gmail.com> <41140139.5080803@savvis.net>
next in thread | previous in thread | raw e-mail | index | archive | help
That patch seems to have fixed it. It seemed strange that setting an inet address to the interface set it running, however setting the inet6 does not do this. It is possible this behavior affacts other interface types as well? On Fri, 2004-08-06 at 18:07, Maksim Yevmenkin wrote: > > 2) Is there a way to set this interface flag without assigning an IPv4 > > address (or any address for that matter) first? > > > > Mainly for number two, I would like to be able to run interfaces > > bridged together without having to also give all of them addresses. > > please try the attached (untested!) patch. it should set iff_running > flag on the interface as soon as the control device is opened. > > max > > ______________________________________________________________________ > --- if_tap.c.orig Fri Aug 6 15:02:06 2004 > +++ if_tap.c Fri Aug 6 15:04:14 2004 > @@ -336,15 +336,15 @@ > tapopen(dev, flag, mode, td) > struct cdev *dev; > int flag; > int mode; > struct thread *td; > { > struct tap_softc *tp = NULL; > - int error; > + int error, s; > > if ((error = suser(td)) != 0) > return (error); > > if ((dev2unit(dev) & CLONE_UNITMASK) > TAPMAXUNIT) > return (ENXIO); > > @@ -365,14 +365,19 @@ > return (EBUSY); > } > > bcopy(tp->arpcom.ac_enaddr, tp->ether_addr, sizeof(tp->ether_addr)); > tp->tap_pid = td->td_proc->p_pid; > tp->tap_flags |= TAP_OPEN; > mtx_unlock(&tp->tap_mtx); > + > + s = splimp(); > + tp->tap_if.if_flags |= IFF_RUNNING; > + tp->tap_if.if_flags &= ~IFF_OACTIVE; > + splx(s); > > TAPDEBUG("%s is open. minor = %#x\n", > tp->tap_if.if_xname, minor(dev)); > > return (0); > } /* tapopen */ >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1091995205.13151.7.camel>