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
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"