Userspace PPP a la FreeBSD?
- To: "email@example.com" <firstname.lastname@example.org>
- Subject: Userspace PPP a la FreeBSD?
- From: Adam Sampson <email@example.com>
- Date: Tue, 18 Apr 2000 23:56:18 +0100
- Message-id: <20000418235618.A4656@gnu.org>
- Reply-to: firstname.lastname@example.org
- In-reply-to: <38FB9A9A.3B05C145@highludworth.freeserve.co.uk>; from email@example.com on Tue, Apr 18, 2000 at 12:13:30AM +0100
- References: <38F9DCEB.3B118401@highludworth.freeserve.co.uk> <200004171954.e3HJsrv00805@delius.kettenis.local> <38FB9A9A.3B05C145@highludworth.freeserve.co.uk>
On Tue, Apr 18, 2000 at 12:13:30AM +0100, Chris Lingard wrote:
> Please send pppd
On an alternate tack for getting Hurd a PPP implementation, how about
implementing a workalike of FreeBSD's "tun" driver and nicking their
userspace ppp daemon? From the tun(4) manpage:
The tun interface is a software loopback mechanism that can be loosely
described as the network interface analog of the pty(4), that is, tun
does for network interfaces what the pty driver does for terminals.
The network interfaces are named tun0, tun1, etc, as many as were made
by MAKEDEV(8). Each one supports the usual network-interface
ioctl(2)s, such as SIOCSIFADDR and SIOCSIFNETMASK, and thus can be used
with ifconfig(8) like any other interface.
Once the interface is ready, read() will re- turn a packet if one is
available; if not, it will either block until one is or return
EWOULDBLOCK, depending on whether non-blocking I/O has been enabled.
A write(2) call passes a packet in to be `received'' on the
pseudo-interface. Each write() call supplies exactly one packet; the
packet length is taken from the amount of data provided to write().
It looks like this would be a much easier job to implement than PPP as a