diff options
author | archie <archie@FreeBSD.org> | 1999-12-08 18:55:39 +0000 |
---|---|---|
committer | archie <archie@FreeBSD.org> | 1999-12-08 18:55:39 +0000 |
commit | 086ca8f5bdf5f111d6d5f79ef546c26e78eb4e7f (patch) | |
tree | c223a70bd163937614b2d1e2475fea10bfeaa511 /sys/modules/netgraph/pptpgre | |
parent | e43c6f2a27f89e46751ef6594b7cba19d874274d (diff) | |
download | FreeBSD-src-086ca8f5bdf5f111d6d5f79ef546c26e78eb4e7f.zip FreeBSD-src-086ca8f5bdf5f111d6d5f79ef546c26e78eb4e7f.tar.gz |
New netgraph node type 'pptpgre': this performs GRE encapsulation
for the PPTP protocol as specified in RFC 2637.
Diffstat (limited to 'sys/modules/netgraph/pptpgre')
-rw-r--r-- | sys/modules/netgraph/pptpgre/Makefile | 9 | ||||
-rw-r--r-- | sys/modules/netgraph/pptpgre/ng_pptpgre.4 | 128 | ||||
-rw-r--r-- | sys/modules/netgraph/pptpgre/ng_pptpgre.8 | 128 |
3 files changed, 265 insertions, 0 deletions
diff --git a/sys/modules/netgraph/pptpgre/Makefile b/sys/modules/netgraph/pptpgre/Makefile new file mode 100644 index 0000000..b8602e3 --- /dev/null +++ b/sys/modules/netgraph/pptpgre/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/11/29 23:14:33 archie Exp $ + +KMOD= ng_pptpgre +SRCS= ng_pptpgre.c +MAN8= ng_pptpgre.8 +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/pptpgre/ng_pptpgre.4 b/sys/modules/netgraph/pptpgre/ng_pptpgre.4 new file mode 100644 index 0000000..5fc3972 --- /dev/null +++ b/sys/modules/netgraph/pptpgre/ng_pptpgre.4 @@ -0,0 +1,128 @@ +.\" 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_pptpgre.8,v 1.2 1999/12/08 00:20:53 archie Exp $ +.\" +.Dd November 29, 1999 +.Dt NG_PPTPGRE 8 +.Os FreeBSD +.Sh NAME +.Nm ng_pptpgre +.Nd PPP protocol netgraph node type +.Sh SYNOPSIS +.Fd #include <netgraph/ng_pptpgre.h> +.Sh DESCRIPTION +The +.Nm pptpgre +node type performs Generic Routing Encapsulation (GRE) over IP +for the PPTP protocol as specified by RFC 2637. This involves packet +encapsulation, sequencing, acknowlegement, and an adaptive timeout +sliding window mechanism. This node type does not handle any of +the TCP control protocol or call negotiation defined by PPTP. +.Pp +The typical use for this node type would be to connect the +.Dv upper +hook to one of the link hooks of a +.Xr ng_ppp 8 +node, and the +.Dv lower +hook to the +.Dv "inet/raw/gre" +hook of a +.Xr ng_ksocket 8 +node. +.Sh HOOKS +This node type supports the following hooks: +.Pp +.Bl -tag -compact -width vjc_vjuncomp +.It Dv upper +Connection to the upper protocol layers +.It Dv lower +Connection to the lower protocol layers +.El +.Pp +.Sh CONTROL MESSAGES +This node type supports the generic control messages, plus the following: +.Bl -tag -width foo +.It Dv NGM_PPTPGRE_SET_CONFIG +This command resets and configures the node for a session. +This command takes a +.Dv "struct ng_pptpgre_conf" +as an argument: +.Bd -literal -offset 0 +/* Configuration for a session */ +struct ng_pptpgre_conf { + u_char enabled; /* enables traffic flow */ + u_char enableDelayedAck; /* enables delayed acks */ + u_int16_t cid; /* my call id */ + u_int16_t peerCid; /* peer call id */ + u_int16_t recvWin; /* peer recv window size */ + u_int16_t peerPpd; /* peer packet processing delay + (in 1/10 of a second) */ +}; + +.Ed +The +.Dv enabled +field enables traffic flow through the node. The +.Dv enableDelayedAck +field enables delayed acknowledgement (maximum 250 miliseconds), which +is a useful optimization and should generally be turned on. +The remaining fields are as supplied by the PPTP virtual call setup process. +.It Dv NGM_PPTPGRE_GET_CONFIG +Returns the current configuration as a +.Dv "struct ng_pptpgre_conf" . +.El +.Sh SHUTDOWN +This node shuts down upon receipt of a +.Dv NGM_SHUTDOWN +control message, or when both hooks have been disconnected. +.Sh SEE ALSO +.Xr netgraph 4 , +.Xr ng_ksocket 8 , +.Xr ng_ppp 8 , +.Xr ngctl 8 . +.Rs +.%A K. Hamzeh +.%A G. Pall +.%A W. Verthein +.%A J. Taarud +.%A W. Little +.%A G. Zorn +.%T "Point-to-Point Tunneling Protocol (PPTP)" +.%O RFC 2637 +.Re +.Sh AUTHOR +Archie Cobbs <archie@whistle.com> diff --git a/sys/modules/netgraph/pptpgre/ng_pptpgre.8 b/sys/modules/netgraph/pptpgre/ng_pptpgre.8 new file mode 100644 index 0000000..5fc3972 --- /dev/null +++ b/sys/modules/netgraph/pptpgre/ng_pptpgre.8 @@ -0,0 +1,128 @@ +.\" 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_pptpgre.8,v 1.2 1999/12/08 00:20:53 archie Exp $ +.\" +.Dd November 29, 1999 +.Dt NG_PPTPGRE 8 +.Os FreeBSD +.Sh NAME +.Nm ng_pptpgre +.Nd PPP protocol netgraph node type +.Sh SYNOPSIS +.Fd #include <netgraph/ng_pptpgre.h> +.Sh DESCRIPTION +The +.Nm pptpgre +node type performs Generic Routing Encapsulation (GRE) over IP +for the PPTP protocol as specified by RFC 2637. This involves packet +encapsulation, sequencing, acknowlegement, and an adaptive timeout +sliding window mechanism. This node type does not handle any of +the TCP control protocol or call negotiation defined by PPTP. +.Pp +The typical use for this node type would be to connect the +.Dv upper +hook to one of the link hooks of a +.Xr ng_ppp 8 +node, and the +.Dv lower +hook to the +.Dv "inet/raw/gre" +hook of a +.Xr ng_ksocket 8 +node. +.Sh HOOKS +This node type supports the following hooks: +.Pp +.Bl -tag -compact -width vjc_vjuncomp +.It Dv upper +Connection to the upper protocol layers +.It Dv lower +Connection to the lower protocol layers +.El +.Pp +.Sh CONTROL MESSAGES +This node type supports the generic control messages, plus the following: +.Bl -tag -width foo +.It Dv NGM_PPTPGRE_SET_CONFIG +This command resets and configures the node for a session. +This command takes a +.Dv "struct ng_pptpgre_conf" +as an argument: +.Bd -literal -offset 0 +/* Configuration for a session */ +struct ng_pptpgre_conf { + u_char enabled; /* enables traffic flow */ + u_char enableDelayedAck; /* enables delayed acks */ + u_int16_t cid; /* my call id */ + u_int16_t peerCid; /* peer call id */ + u_int16_t recvWin; /* peer recv window size */ + u_int16_t peerPpd; /* peer packet processing delay + (in 1/10 of a second) */ +}; + +.Ed +The +.Dv enabled +field enables traffic flow through the node. The +.Dv enableDelayedAck +field enables delayed acknowledgement (maximum 250 miliseconds), which +is a useful optimization and should generally be turned on. +The remaining fields are as supplied by the PPTP virtual call setup process. +.It Dv NGM_PPTPGRE_GET_CONFIG +Returns the current configuration as a +.Dv "struct ng_pptpgre_conf" . +.El +.Sh SHUTDOWN +This node shuts down upon receipt of a +.Dv NGM_SHUTDOWN +control message, or when both hooks have been disconnected. +.Sh SEE ALSO +.Xr netgraph 4 , +.Xr ng_ksocket 8 , +.Xr ng_ppp 8 , +.Xr ngctl 8 . +.Rs +.%A K. Hamzeh +.%A G. Pall +.%A W. Verthein +.%A J. Taarud +.%A W. Little +.%A G. Zorn +.%T "Point-to-Point Tunneling Protocol (PPTP)" +.%O RFC 2637 +.Re +.Sh AUTHOR +Archie Cobbs <archie@whistle.com> |