From owner-freebsd-net@FreeBSD.ORG  Fri May 28 01:16:06 2004
Return-Path: <owner-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 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 <julian@elischer.org>
To: Harti Brandt <harti@freebsd.org>
In-Reply-To: <Pine.GSO.4.60.0405280925170.18426@zeus>
Message-ID: <Pine.BSF.4.21.0405280113400.63204-100000@InterJet.elischer.org>
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 <freebsd-net.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net>
List-Post: <mailto:freebsd-net@freebsd.org>
List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>,
	<mailto:freebsd-net-request@freebsd.org?subject=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
>