HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd))

Peter Wemm peter at wemm.org
Sun May 25 00:23:48 UTC 2008


On Sat, May 24, 2008 at 8:56 AM, Robert Watson <rwatson at freebsd.org> 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 at wemm.org; peter at FreeBSD.org; peter at 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


More information about the freebsd-current mailing list