Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 May 2008 10:58:55 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Peter Wemm <peter@wemm.org>
Cc:        arch@freebsd.org, current@freebsd.org, Coleman Kane <cokane@freebsd.org>, net@freebsd.org
Subject:   Re: HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd))
Message-ID:  <20080525105726.O39741@fledge.watson.org>
In-Reply-To: <e7db6d980805241656q30193933hcd983b6322d02df8@mail.gmail.com>
References:  <20080524111715.T64552@fledge.watson.org> <1211640498.1510.8.camel@localhost> <20080524165519.K9809@fledge.watson.org> <e7db6d980805241656q30193933hcd983b6322d02df8@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080525105726.O39741>