From owner-freebsd-net@FreeBSD.ORG Fri May 28 01:16:06 2004 Return-Path: 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 5422416A4CE; Fri, 28 May 2004 01:16:06 -0700 (PDT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id 31CAF43D41; Fri, 28 May 2004 01:16:06 -0700 (PDT) (envelope-from julian@elischer.org) Received: from interjet.elischer.org ([24.7.73.28]) by comcast.net (rwcrmhc11) with ESMTP id <2004052808150801300f17rde>; Fri, 28 May 2004 08:15:09 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id BAA77082; Fri, 28 May 2004 01:15:07 -0700 (PDT) Date: Fri, 28 May 2004 01:15:06 -0700 (PDT) From: Julian Elischer To: Harti Brandt In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-net@freebsd.org Subject: Re: shutdown node VS disconnect all hooks X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 May 2004 08:16:06 -0000 On Fri, 28 May 2004, Harti Brandt wrote: > > [Sorry, I just deleted the original mail, so I use Julian's to answer] > > On Thu, 27 May 2004, Julian Elischer wrote: > > JE>On Fri, 28 May 2004, Gleb Smirnoff wrote: > JE> > JE>> So, what about adding one more netgraph method into struct ng_type, say > JE>> ng_preshutdown_t? This method is called first in ng_rmnode(), and then > JE>> current shutdown sequence is followed. We will set it to NULL in all existing > JE>> nodes, and create a method in ng_tee, which calls ng_bypass(). Future > JE>> implementations may use this method to send "goodbye" messages down hooks when > JE>> shutting down. > JE> > JE>That sounds like a much better solution. Node shutdown is done in 2 > JE>parts just as node connection is done in 2 parts. > JE> > JE>> And this will be a POLA-friendly solution - we will not lose functionality > JE>> of RELENG_4 (which mpd relies on), and we will not break nodes which > JE>> rely on current shutdown sequence. > JE>> > JE>> What's your opinion? If it is positive - I'll send patches. > JE>> > JE> > JE>That is a very workable solution. > > If you do that, I suppose you need to edit all the nodes, right?. In that > case could you please convert the initialisation of the typestructs > to use C99 sparse initialisation? In that case future changes will be a good > deal easier. actually I don't know if you do need to edit the nodes types.. At one time it was true that unassigned elements on the end will be NULL. > > harti >