From owner-freebsd-current Fri Nov 16 16:20:17 2001 Delivered-To: freebsd-current@freebsd.org Received: from InterJet.elischer.org (c421509-a.pinol1.sfba.home.com [24.7.86.9]) by hub.freebsd.org (Postfix) with ESMTP id 0EB6637B416 for ; Fri, 16 Nov 2001 16:20:15 -0800 (PST) Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id QAA15663; Fri, 16 Nov 2001 16:16:11 -0800 (PST) Date: Fri, 16 Nov 2001 16:16:11 -0800 (PST) From: Julian Elischer To: Jonathan Lemon Cc: julian@vicor-nb.com, current@freebsd.org Subject: Re: re-entrancy and the IP stack. In-Reply-To: <200111170003.fAH03Ia60157@prism.flugsvamp.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, 16 Nov 2001, Jonathan Lemon wrote: > In article you write: > >As another example, the ipfw code uses a couple of static > >variables too, in the 'fwd' code amongst other places.. > > > >What is needed is obviously a 'per packet' storage location > >for those things, defined in a "per protocol family" manner. > > > >Luigi has already tried this scheme by defining a > >dummynet specific mbuf type that can be prepended to the > >front of packets. What I suggest is to extend this > >to defining a MT_PROTOSTORAGE. (or similar) mbuf type > >that generic networking code is educated to ignore, > >and that protocols can use to pass packet-specific state > >information from one place to another. > > Um, no please. MT_DUMMYNET is a bad hack that should be removed > (and which I've partly done in one of my trees). I would rather > not perpetuate this, it causes more problems than it is worth. > > I believe that Garrett went in a while back and removed all the > abuses of mbuf (used to store sockaddrs and the like), and this > would appear to be a step backward. > > I don't disagree that there are many static variables that need > to be cleaned up, but I don't believe that this is the right > approach. sure, but how about some suggestions then? personally Holding static things in mbufs is an abuse, and even things that are dynamic but can be better passed as an argument. Maybe just some extra arguments can cover it.. but that's not very extensible, and you can't queue arguments. > -- > Jonathan > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message