From owner-freebsd-arch@FreeBSD.ORG Sun May 25 00:22:14 2008 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EEBB106568D for ; Sun, 25 May 2008 00:22:14 +0000 (UTC) (envelope-from peter@wemm.org) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.250]) by mx1.freebsd.org (Postfix) with ESMTP id 8C5978FC30 for ; Sun, 25 May 2008 00:22:13 +0000 (UTC) (envelope-from peter@wemm.org) Received: by an-out-0708.google.com with SMTP id b33so317396ana.13 for ; Sat, 24 May 2008 17:22:12 -0700 (PDT) Received: by 10.101.70.5 with SMTP id x5mr4453235ank.12.1211673377589; Sat, 24 May 2008 16:56:17 -0700 (PDT) Received: by 10.100.8.6 with HTTP; Sat, 24 May 2008 16:56:17 -0700 (PDT) Message-ID: Date: Sat, 24 May 2008 16:56:17 -0700 From: "Peter Wemm" To: "Robert Watson" In-Reply-To: <20080524165519.K9809@fledge.watson.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080524111715.T64552@fledge.watson.org> <1211640498.1510.8.camel@localhost> <20080524165519.K9809@fledge.watson.org> Cc: arch@freebsd.org, current@freebsd.org, Coleman Kane , net@freebsd.org Subject: Re: HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd)) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 May 2008 00:22:14 -0000 On Sat, May 24, 2008 at 8:56 AM, Robert Watson wrote: > > On Sat, 24 May 2008, Coleman Kane wrote: > >> I've created a quick table of these at the following location: >> http://wiki.freebsd.org/NetworkNeedsGiant >> >> Please everyone feel free to fill in the blanks. I'll try to do it as well >> as time permits. > > FWIW, I suspect fixing things like SLIP and kernel PPP are fairly trivial > once tty locking is in place -- a per-softc mutex and a bit of locking in > the obvious spots would likely do it without too much trouble. In some > paths, it might be necessary to inject data via the netisr, if that's not > already being done (probably is) to avoid input/output lock order issues. ppp_tty.c is kind of hairy and rather stale. I'd be inclined to drop strong hints about switching to either userland ppp(8), or mpd + netgraph if you want packets to stay in the kernel path and avoid userland. I was once a big user of pppd(8) and if_ppp.c / ppp_tty.c and maintained them for a while. But I use ppp(8) now and have no interest in maintaining it anymore. pppd/if_ppp.c/ppp_tty.c is many many years stale compared to what its vendor supplies. And, I think if_sl.c could probably do the same treatment. It would probably be a better investment in time to write a userland slip driver and if_tun.c and/or write a ng_slip.c module -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 "If Java had true garbage collection, most programs would delete themselves upon execution." -- Robert Sewell