From owner-freebsd-current@FreeBSD.ORG Sun May 25 09:58:56 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4C71106567B; Sun, 25 May 2008 09:58:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 983DE8FC18; Sun, 25 May 2008 09:58:56 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id AB7AB46B66; Sun, 25 May 2008 05:58:55 -0400 (EDT) Date: Sun, 25 May 2008 10:58:55 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Peter Wemm In-Reply-To: Message-ID: <20080525105726.O39741@fledge.watson.org> References: <20080524111715.T64552@fledge.watson.org> <1211640498.1510.8.camel@localhost> <20080524165519.K9809@fledge.watson.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed 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-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 May 2008 09:58:57 -0000 On Sat, 24 May 2008, Peter Wemm wrote: >> 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 While I'd be quite supportive of something along these lines, I think it probably is more work to port SLIP to userspace than to hack the current code a little bit to be MPSAFE, assuming it remains supported with the revised tty code. SLIP is a fairly straight-forward piece of code, as long as you don't try to understand the line discipline stuff. :-) Robert N M Watson Computer Laboratory University of Cambridge