HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0
network stack MPsafety goals (fwd))
Robert Watson
rwatson at FreeBSD.org
Sun May 25 09:58:57 UTC 2008
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
More information about the freebsd-net
mailing list