Subject: Re: Ongoing projects
To: None <perry@piermont.com>
From: Andrew Doran <ad@fionn.sports.gov.uk>
List: tech-net
Date: 05/07/1999 16:13:25
[Cc:'d to tech-net because I think it's worth discussion].

"Perry E. Metzger" wrote:
> 
> Andrew Doran <ad@fionn.sports.gov.uk> writes:
> > "Perry E. Metzger" wrote:
> > > Andy Doran <ad@fionn.sports.gov.uk> writes:
> > > >       Porting & testing FreeBSD/OpenBSD userland ppp(8) (nearly done)
> > >
> > > Why the hell would we want that?
> >
> > Because it's far better than in-kernel ppp, both performance and
> > feature wise.
> 
> 1) I can't believe the performance bit at all. Userland PPP *cannot
> possibly* keep up with doing ppp at many megabits per second. Yes, we

You misunderstand. I'm not talking about many megabits per sec, I'm
talking
about small devices, although point taken.

> have drivers and software for T1 cards now.
> 2) If we are lacking features, we should work on those. PPP belongs in
> the kernel, though, just like the ethernet drivers and everything
> else...

From the ppp(8) manpage below. Yes, probably not a good idea for leased
line 
operation, but for operation over analogue/PSTN devices, ppp(8) is great
(I 
regularly see 5-30, sometimes 90k *bytes*/sec over 33.6 modem w/ppp(8)).
Can 
we not provide both, and let users decide? ppp(8) has a different
feature-domain 
than pppd(8).

Andy.

http://www.freebsd.org/cgi/man.cgi?query=ppp&apropos=0&sektion=0&manpath=FreeBSD+4.0-current&format=html

     Provides an interactive user interface.  Using its command mode,
the user
     can easily enter commands to establish the connection with the
remote
     end, check the status of connection and close the connection.  All
func­
     tions can also be optionally password protected for security.

     Supports both manual and automatic dialing.  Interactive mode has a
     ``term'' command which enables you to talk to your modem directly. 
When
     your modem is connected to the remote peer and it starts to talk
PPP, ppp
     detects it and switches to packet mode automatically.  Once you
have de­
     termined the proper sequence for connecting with the remote host,
you can
     write a chat script to define the necessary dialing and login
procedure
     for later convenience.

     Supports on-demand dialup capability.  By using -auto mode, ppp
will act
     as a daemon and wait for a packet to be sent over the PPP link. 
When
     this happens, the daemon automatically dials and establishes the
connec­
     tion.  In almost the same manner -ddial mode (direct-dial mode)
also au­
     tomatically dials and establishes the connection.  However, it
differs in
     that it will dial the remote site any time it detects the link is
down,
     even if there are no packets to be sent.  This mode is useful for
full-
     time connections where we worry less about line charges and more
about
     being connected full time.  A third -dedicated mode is also
available.
     This mode is targeted at a dedicated link between two machines. 
ppp will
     never voluntarily quit from dedicated mode - you must send it the
``quit
     all'' command via its diagnostic socket.  A SIGHUP will force an
LCP
     renegotiation, and a SIGTERM will force it to exit.

     Supports client callback.  ppp can use either the standard LCP
callback
     protocol or the Microsoft CallBack Control Protocol (ftp://ftp.mi­
     crosoft.com/developr/rfc/cbcp.txt).

     Supports packet aliasing.  Packet aliasing (a.k.a. IP masquerading)
al­
     lows computers on a private, unregistered network to access the
Internet.
     The PPP host acts as a masquerading gateway.  IP addresses as well
as TCP
     and UDP port numbers are aliased for outgoing packets and
de-aliased for
     returning packets.

     Supports background PPP connections.  In background mode, if ppp
success­
     fully establishes the connection, it will become a daemon. 
Otherwise, it
     will exit with an error.  This allows the setup of scripts that
wish to
     execute certain commands only if the connection is successfully
estab­
     lished.

     Supports server-side PPP connections.  In direct mode, ppp acts as
server
     which accepts incoming PPP connections on stdin/stdout.

     Supports PAP and CHAP (rfc 1994) authentication.  With PAP or CHAP,
it is
     possible to skip the Unix style login(1) procedure, and use the PPP
pro­
     tocol for authentication instead.  If the peer requests Microsoft
CHAP
     authentication and ppp is compiled with DES support, an appropriate
     MD4/DES response will be made.

     Supports RADIUS (rfc 2138) authentication.  An extension to PAP and
CHAP,
     Remote Access Dial In User Service allows authentication
information to
     be stored in a central or distributed database along with various
per-us­
     er framed connection characteristics.  If libradius is available at
com­
     pile time, ppp will use it to make RADIUS requests when configured
to do
     so.

     Supports Proxy Arp.  ppp can be configured to make one or more
proxy arp
     entries on behalf of the peer.  This allows routing from the peer
to the
     LAN without configuring each machine on that LAN.

     Supports packet filtering.  User can define four kinds of filters:
the in
     filter for incoming packets, the out filter for outgoing packets,
the
     dial filter to define a dialing trigger packet and the alive filter
for
     keeping a connection alive with the trigger packet.

     Tunnel driver supports bpf.  The user can use tcpdump(1) to check
the
     packet flow over the PPP link.

     Supports PPP over TCP capability.  If a device name is specified as
     host:port, ppp will open a TCP connection for transporting data
rather
     than using a conventional serial device.

     Supports IETF draft Predictor-1 (rfc 1978) and DEFLATE (rfc 1979)
     compression.  ppp supports not only VJ-compression but also
Predictor-1
     and DEFLATE compression.  Normally, a modem has built-in
compression
     (e.g. v42.bis) and the system may receive higher data rates from it
as a
     result of such compression.  While this is generally a good thing
in most
     other situations, this higher speed data imposes a penalty on the
system
     by increasing the number of serial interrupts the system has to
process
     in talking to the modem and also increases latency.  Unlike
VJ-compres­
     sion, Predictor-1 and DEFLATE compression pre-compresses all
network
     traffic flowing through the link, thus reducing overheads to a
minimum.

     Supports Microsoft's IPCP extensions.  Name Server Addresses and
NetBIOS
     Name Server Addresses can be negotiated with clients using the
Microsoft
     PPP stack (ie. Win95, WinNT)

     Supports Multi-link PPP (rfc 1990)  It is possible to configure ppp
to
     open more than one physical connection to the peer, combining the
band­
     width of all links for better throughput.