Dependency between interfaces
Wojciech A. Koszek
dunstan at freebsd.czest.pl
Sat Oct 22 03:15:08 PDT 2005
On Fri, Oct 21, 2005 at 09:23:27AM +1300, Andrew Thompson wrote:
> On Thu, Oct 20, 2005 at 08:20:34PM +0000, Wojciech A. Koszek wrote:
> > Hello,
> >
> > Is EVENTHANDLER(9) proper way of notification for standalone driver about
> > network interface attach/detach operations? I've met simple problem in
> > ef(4), which causes machine freeze in following situation: load NIC driver
> > -> load if_ef -> unload NIC driver -> some activity with interface.
> > Althought driver of network interface no longer exists, if_ef does not know
> > about it and continues it's operation.
> >
> > I've seen similar situation for example in ng_fec(4): piece of code needs to
> > call some cleanup routines in order to keep pointers in valid state. I think
> > this situation is almost the same like this current in if_bridge(4). Just
> > repeat situation described above for ef(4), but with if_bridge(4).
> >
>
> if_bridge(4) now hooks into ether_detach to get notified of a vanishing
> interface, as of r1.26 (and now in RELENG_6*)
>
> Use bridge_ifdetach() to notify the bridge that a member has been
> detached. The bridge can then remove it from its interface list and
> not try to send out via a dead pointer.
>
> Is it still a problem or did you test on a pre r1.26 kernel?
>
Thanks, it seems to work just fine. I've tested it with earlier versions.
I'll probably have to play with EVENTHANDLER to fix ef(4).
--
* Wojciech A. Koszek && dunstan at FreeBSD.czest.pl
More information about the freebsd-net
mailing list