summaryrefslogtreecommitdiff
path: root/share/man/man4/sppp.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/sppp.4')
-rw-r--r--share/man/man4/sppp.4218
1 files changed, 218 insertions, 0 deletions
diff --git a/share/man/man4/sppp.4 b/share/man/man4/sppp.4
new file mode 100644
index 00000000000..22b7348544a
--- /dev/null
+++ b/share/man/man4/sppp.4
@@ -0,0 +1,218 @@
+.\"
+.\" Copyright (c) 1997 Joerg Wunsch
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id: sppp.4,v 1.1 1999/07/02 18:09:47 deraadt Exp $
+.\"
+.Dd May 19, 1997
+.Dt SPPP 4
+.Os
+.Sh NAME
+.Nm sppp
+.Nd point to point protocol network layer for synchronous lines
+.Sh SYNOPSIS
+.Cd "pseudo-device sppp" Op Ar count
+.Sh DESCRIPTION
+The
+.Nm
+network layer implements the state machine and the Link Control
+Protocol (LCP) of the
+.Em point to point protocol (PPP)
+as described in RFC 1661. Note that this layer does not provide
+network interfaces of its own, it is rather intended to be layered on
+top of drivers providing a synchronuous point-to-point connection that
+wish to run a PPP stack over it. The corresponding network interfaces
+have to be provided by these hardware drivers.
+.Pp
+The
+.Nm
+layer provides three basic modes of operation. The default mode,
+with no special flags to be set, is to create the PPP connection
+(administrative
+.Em Open
+event to the LCP layer) as soon as the interface is taken up with the
+.Xr ifconfig 8
+command. Taking the interface down again will terminate the LCP layer
+and thus all other layers on top. The link will also terminate itself as
+soon as no Network Control Protocol (NCP) is open anymore, indicating
+that the lower layers are no longer needed.
+.Pp
+Setting the link-level flag
+.Em link0
+with
+.Xr ifconfig 8
+will cause the respective network interface to go into
+.Em passive
+mode. This means, the administrative
+.Em Open
+event to the LCP layer will be delayed until after the lower layers
+signals an
+.Em Up
+event (rise of
+.Dq carrier ) .
+This can be used by lower layers to support
+a dialin connection where the physical layer isn't available
+immediately at startup, but only after some external event arrives.
+Receipt of a
+.Em Down
+event from the lower layer will not take the interface completely down
+in this case.
+.Pp
+Finally, setting the flag
+.Em link1
+will cause the interface to operate in
+.Em dial-on-demand
+mode. This is also only useful if the lower layer supports the notion
+of a carrier (like with an ISDN line). Upon configuring the
+respective interface, it will delay the administrative
+.Em Open
+event to the LCP layer until either an outbound network packet
+arrives, or until the lower layer signals an
+.Em Up
+event, indicating an inbound connection. As with passive mode, receipt
+of a
+.Em Down
+event (loss of carrier) will not automatically take the interface down,
+thus it remains available for further connections.
+.Pp
+The
+.Nm
+layer supports the
+.Em debug
+interface flag that can be set with
+.Xr ifconfig 8 .
+If this flag is set, the various control protocol packets being
+exchanged as well as the option negotiation between both ends of the
+link will be logged at level
+.Dv LOG_DEBUG .
+This can be helpful to examine configuration problems during the first
+attempts to set up a new configuration. Without this flag being set,
+only the major phase transitions will be logged at level
+.Dv LOG_INFO .
+.Pp
+It is possible to leave the local interface IP address open for
+negotiation by setting it to 0.0.0.0. This requires that the remote
+peer can correctly supply a value for it based on the identity of the
+caller, or on the remote address supplied by this side. Due to the
+way the IPCP option negotiation works, this address is being supplied
+late during the negotiation, which might cause the remote peer to make
+wrong assumptions.
+.Pp
+In a similar spirit the remote address can be set to the magical
+value 0.0.0.1 which means that we don't care what address the remote
+side will use, as long as it is not 0.0.0.0.
+This is useful if your ISP has several dial-in
+servers. You can of course
+.Ic route add something or other 0.0.0.1
+and it will do exactly what you would want it to.
+.Pp
+The PAP and CHAP authentication protocols as described in RFC 1334,
+and RFC 1994 resp., are also implemented. Their parameters are being
+controlled by the
+.Xr spppcontrol 8
+utility.
+.Sh DIAGNOSTICS
+.Bl -diag
+.It <ifname><ifnum>: <proto> illegal <event> in state <statename>
+An event happened that should not happen for the current state
+the respective control protocol is in. See RFC 1661 for a description
+of the state automaton.
+.It <ifname><ifnum>: loopback
+The state automaton detected a line loopback (that is, it was talking
+with itself). The interface will be temporarily disabled.
+.It <ifname><ifnum>: up
+The LCP layer is running again, after a line loopback had previously
+been detected.
+.It <ifname><ifnum>: down
+The keepalive facility detected the line being unresponsive.
+Keepalive must be explicitly requested by the lower layers in order to
+take place.
+.El
+.Sh SEE ALSO
+.Xr inet 4 ,
+.Xr intro 4 ,
+.Xr ppp 4 ,
+.Xr ifconfig 8 ,
+.Xr spppcontrol 8
+.Rs
+.%A W. Simpson, Editor
+.%T "The Point-to-Point Protocol (PPP)"
+.%O RFC 1661
+.Re
+.Rs
+.%A G. McGregor
+.%T "The PPP Internet Protocol Control Protocol (IPCP)"
+.%O RFC 1332
+.Re
+.Rs
+.%A B. Lloyd, W. Simpson
+.%T "PPP Authentication Protocols"
+.%O RFC 1334
+.Re
+.Rs
+.%A W. Simpson
+.%T "PPP Challenge Handshake Authentication Protocol (CHAP)"
+.%O RFC 1994
+.Re
+.Sh AUTHORS
+The original implementation of
+.Nm
+was written in 1994 at Cronyx Ltd., Moscow by
+.An Serge Vakulenko Aq vak@cronyx.ru .
+.ie t J\(:org Wunsch
+.el Joerg Wunsch
+.Aq joerg_wunsch@uriah.heep.sax.de
+rewrote a large part in 1997 in order
+to fully implement the state machine as described in RFC 1661, so it
+could also be used for dialup lines. He also wrote this man page.
+Serge later on wrote a basic implementation for PAP and CHAP, which
+served as the base for the current implementation, done again by
+.ie t J\(:org Wunsch.
+.el Joerg Wunsch.
+.Sh BUGS
+Many.
+.Pp
+Currently, only the
+.Em IPCP
+control protocol and
+.Xr ip 4
+network protocol is supported.
+.Pp
+Negotiation loop avoidance is not fully implemented. If the negotiation
+doesn't converge, this can cause an endless loop.
+.Pp
+The various parameters that should be adjustable per RFC 1661 are
+currently hard-coded into the kernel, and should be made accessible
+through
+.Xr spppcontrol 8 .
+.Pp
+.Em Passive
+mode has not been tested extensively.
+.Pp
+More NCPs should be implemented, as well as other control protocols
+for authentication and link quality reporting.
+.Pp
+IPCP should support VJ header compression.
+.Pp
+Link-level compression protocols should be supported.