From owner-freebsd-net@FreeBSD.ORG Sat Oct 22 10:13:50 2005 Return-Path: X-Original-To: freebsd-net@FreeBSD.org Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 22B4216A420 for ; Sat, 22 Oct 2005 10:13:50 +0000 (GMT) (envelope-from dunstan@freebsd.czest.pl) Received: from freebsd.czest.pl (freebsd.czest.pl [80.48.250.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B65343D5E for ; Sat, 22 Oct 2005 10:13:46 +0000 (GMT) (envelope-from dunstan@freebsd.czest.pl) Received: from freebsd.czest.pl (freebsd.czest.pl [80.48.250.4]) by freebsd.czest.pl (8.12.10/8.12.9) with ESMTP id j9MAWjaq026131; Sat, 22 Oct 2005 10:32:45 GMT (envelope-from dunstan@freebsd.czest.pl) Received: (from dunstan@localhost) by freebsd.czest.pl (8.12.10/8.12.9/Submit) id j9MAWggQ026130; Sat, 22 Oct 2005 10:32:42 GMT (envelope-from dunstan) Date: Sat, 22 Oct 2005 10:32:41 +0000 From: "Wojciech A. Koszek" To: Brooks Davis Message-ID: <20051022103240.GA26108@freebsd.czest.pl> References: <20051020202034.GA4556@freebsd.czest.pl> <20051020202544.GC18840@odin.ac.hmc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20051020202544.GC18840@odin.ac.hmc.edu> User-Agent: Mutt/1.4.2.1i Cc: freebsd-net@FreeBSD.org Subject: Re: Dependency between interfaces X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Oct 2005 10:13:50 -0000 On Thu, Oct 20, 2005 at 01:25:44PM -0700, Brooks Davis 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). > > It looks like you could hook into the ifnet_departure_event pretty > easily. The one gotcha is that it's called during interface renames so > you need to consider that possibility. > Yes, I know. I just wanted to know is it proper solution. I'll try to fix it, once I finish updating my patch for locking in ef(4). Thanks, -- * Wojciech A. Koszek && dunstan@FreeBSD.czest.pl