summaryrefslogtreecommitdiffstats
path: root/share/man/man4/ng_ppp.4
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1999-10-21 09:06:11 +0000
committerjulian <julian@FreeBSD.org>1999-10-21 09:06:11 +0000
commitc5c63975d538cf48ceb99ba48c341293676d15c0 (patch)
tree722c03ee4d750dd89ed43b028c35302fbfd03bfd /share/man/man4/ng_ppp.4
parent028ec91c46f181b4be2318c3bba8d194b5583f87 (diff)
downloadFreeBSD-src-c5c63975d538cf48ceb99ba48c341293676d15c0.zip
FreeBSD-src-c5c63975d538cf48ceb99ba48c341293676d15c0.tar.gz
Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr and if_ar drivers, and PPPOE support soon. See: ftp://ftp.whistle.com/pub/archie/netgraph/index.html for on-line manual pages. Reviewed by: Doug Rabson (dfr@freebsd.org) Obtained from: Whistle CVS tree
Diffstat (limited to 'share/man/man4/ng_ppp.4')
-rw-r--r--share/man/man4/ng_ppp.4164
1 files changed, 164 insertions, 0 deletions
diff --git a/share/man/man4/ng_ppp.4 b/share/man/man4/ng_ppp.4
new file mode 100644
index 0000000..cffa78e
--- /dev/null
+++ b/share/man/man4/ng_ppp.4
@@ -0,0 +1,164 @@
+.\" Copyright (c) 1996-1999 Whistle Communications, Inc.
+.\" All rights reserved.
+.\"
+.\" Subject to the following obligations and disclaimer of warranty, use and
+.\" redistribution of this software, in source or object code forms, with or
+.\" without modifications are expressly permitted by Whistle Communications;
+.\" provided, however, that:
+.\" 1. Any and all reproductions of the source or object code must include the
+.\" copyright notice above and the following disclaimer of warranties; and
+.\" 2. No rights are granted, in any manner or form, to use Whistle
+.\" Communications, Inc. trademarks, including the mark "WHISTLE
+.\" COMMUNICATIONS" on advertising, endorsements, or otherwise except as
+.\" such appears in the above copyright notice or in the software.
+.\"
+.\" THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
+.\" TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
+.\" REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
+.\" INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
+.\" WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
+.\" REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
+.\" SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
+.\" IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
+.\" RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
+.\" WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+.\" PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER 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 WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
+.\" OF SUCH DAMAGE.
+.\"
+.\" Author: Archie Cobbs <archie@whistle.com>
+.\"
+.\" $FreeBSD$
+.\" $Whistle: ng_ppp.8,v 1.3 1999/01/25 23:46:27 archie Exp $
+.\"
+.Dd January 19, 1999
+.Dt NG_PPP 8
+.Os FreeBSD 3
+.Sh NAME
+.Nm ng_ppp
+.Nd PPP protocol multiplexor negraph node type
+.Sh SYNOPSIS
+.Fd #include <netgraph/ng_ppp.h>
+.Sh DESCRIPTION
+The
+.Nm ppp
+node type performs multiplexing for the PPP protocol. On the
+.Dv downstream
+hook it transmits and receives full PPP frames, which include the
+protocol field, but no address, control or checksum fields.
+On outgoing frames, when protocol compression has been enabled and
+the protocol number is suitable for compression, the protocol field will
+be compressed (i.e., sent as one byte instead of two).
+Either compressed or uncompressed protocol fields are accepted
+on incoming frames.
+.Pp
+For each 16-bit PPP procotol number there is a corresponding ``upstream'' hook.
+Packets on these hooks contain no PPP protocol header.
+The node simply multiplexes between the
+.Dv downstream
+hook and all of the upstream hooks by adding or subtracting the
+PPP protocol field, depending on the direction of flow.
+.Pp
+When a frame is received on
+.Dv downstream ,
+if the corresponding protocol hook is
+not connected, the packet is forwarded to a special upstream hook called
+.Dv bypass .
+This hook is a catch-all for any incoming frames not destined
+for another already connected hook. Packets sent out on the
+.Dv bypass
+hook always have the PPP protcol header prepended as the first
+two bytes (even if the
+original incoming frame was protocol compressed to one byte).
+.Pp
+Any frames received on the
+.Dv bypass
+hook are forwarded to
+.Dv downstream
+without modification.
+.Sh HOOKS
+This node type supports the following hooks:
+.Pp
+.Bl -tag -width foobarbazi
+.It Dv downstream
+Connection to the PPP link layer.
+.It Dv bypass
+Frames that do not correspond to a connected protocol hook;
+the PPP protocol header is included.
+.It Dv 0xNNNN
+Conection to the PPP protocol with 16-bit hex value
+.Dv NNNN .
+No PPP protocol header is included.
+.El
+.Pp
+For convenience, the
+.Nm
+node type defines several hook name aliases for common PPP protocols:
+.Pp
+.Bl -tag -width abcdefgh -compact -offset 4n
+.It Dv lcp
+LCP protocol data (0xc021)
+.It Dv ipcp
+IPCP protocol data (0x8021)
+.It Dv atcp
+ATCP protocol data (0x8029)
+.It Dv ccp
+CCP protocol data (0x80fd)
+.It Dv ecp
+ECP protocol data (0x8053)
+.It Dv ip
+IP protocol data (0x0021)
+.It Dv vjcomp
+Van Jacobsen compressed TCP data (0x002d)
+.It Dv vjuncomp
+Van Jacobsen uncompressed TCP data (0x002f)
+.It Dv mp
+Multi-link protocol data (0x003d)
+.It Dv compd
+Compressed protocol data (0x00fd)
+.It Dv cryptd
+Encrypted protocol data (0x0053)
+.It Dv pap
+PAP authentication protocol data (0xc023)
+.It Dv chap
+CHAP authentication protocol data (0xc223)
+.It Dv lqr
+LQR protocol data (0xc025)
+.El
+.Sh CONTROL MESSAGES
+This node type supports the generic control messages, plus the following:
+.Bl -tag -width foo
+.It Dv NGM_PPP_SET_PROTOCOMP
+This command takes a single integer as argument and enables or disables
+protocol field compression as the value is zero or non-zero.
+Note that only protocols with high order byte equal to
+.Dv 0x00
+are compressible.
+.It Dv NGM_PPP_GET_STATS
+This command returns a
+.Dv "struct ng_ppp_stat"
+containing various node statistics.
+.It Dv NGM_PPP_CLR_STATS
+Clears the node statistics. Statistics are also cleared whenever the
+.Dv downstream
+hook is reconnected.
+.Sh SHUTDOWN
+This node shuts down upon receipt of a
+.Dv NGM_SHUTDOWN
+control message, or when all hooks have been disconnected.
+.Sh SEE ALSO
+.Xr netgraph 4 ,
+.Xr ng_async 8 ,
+.Xr ng_vjc 8 ,
+.Xr ngctl 8 .
+.Rs
+.%A W. Simpson
+.%T "The Point-to-Point Protocol (PPP)"
+.%O RFC 1661
+.Re
+.Sh AUTHOR
+Archie Cobbs <archie@whistle.com>
OpenPOWER on IntegriCloud