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]"

Reply via email to