1l2tpd version 0.69 2================== 3Now maintained at: 4http://www.l2tpd.org 5by: 6Jeff McAdams <jeffm@iglou.com> 7 8Maintained for a time at: 9http://sourceforge.net/projects/l2tpd 10by: 11Scott Balmos <sbalmos@iglou.com> 12Jeff McAdams <jeffm@iglou.com> 13David Stipp <dstipp@one.net> 14 15Based off of l2tpd version 0.60 16Copyright (C)1998 Adtran, Inc. 17Mark Spencer <markster@marko.net> 18 19Introduction: 20------------- 21 22l2tpd is an implementation of the layer two tunneling protocol. It works 23in userspace completely (although kernel work is planned after the 24userspace version is stablized). l2tpd works by opening a pseudo-tty 25for communicating with pppd. Although l2tpd was written for Linux, the 26current version should be highly portable to other UNIX's supported by 27pppd. 28 29Legal Information: 30------------------ 31l2tpd is free software, distributed under the GNU General Public License 32(GPL) and you should read the LICENSE File if you are not already 33familiar with the GPL before using the product. 34 35Bugs, Patches, and Code Contribution: 36------------------------------------- 37Please send bug reports and patches to either the l2tp mailng list 38(l2tpd-devel@l2tpd.org). 39 40In order to contribute code, either with patches, or by direct access to 41the CVS tree for l2tpd, send e-mail to (l2tpd-devel@l2tpd.org). 42 43The word "FIXME" is a place holder for code that needs to be in place, 44or checks that need to be done, but haven't been coded yet. Feel free 45to fix the fixme's and submit patches! 46 47Release Notes 48------------- 49Version 0.69 should be considered ALPHA. It does NOT completely 50implement the l2tp specification (RFC 2661), but its pretty close! 51 52The primary use of this ALPHA level code is to test the ability of l2tpd 53to talk with other LAC and LNS implementations. I hope that everyone 54who tests the software will send me results on how it worked or failed 55to work for them. 56 57(theoretically) implemented features 58------------------------------------ 59* Proper payload and control packet handling 60* Reliable control packet delivery 61* Ability to recover from payload errors 62* Ability to handle packets with/without length set 63* Ability to handle flow control or no flow control 64* Most critical AVP's for normal operation 65* Challenge authentication 66* Hidden AVP's 67* Hello's to detect outages 68* Handles sync and async packets 69* Can act as LNS 70* Can be a source of a virtual LAC call 71* Reads configuration file 72* Automated LAC dialup via config file, including redial 73* Can be configured while running via a file system pipe 74* Access Control 75* Statistics report when sent a SIGUSR1 76* ACCM 77 78Major unimplemented specification features 79------------------------------------------ 80* Rate Adaptive Timeouts 81* Out of order packet handling 82* Initial/Final LCP states 83* Q.931 Result Codes 84* Tie Breakers 85* Minimum/Maximum BPS 86* Call Errors 87 88Important non-specification related features to be added 89-------------------------------------------------------- 90* More configuration options if needed 91* Kernel support for *much* improved performance 92 93Usage notes on /var/run/l2tp-control 94------------------------------------ 95There are a few command line options to l2tpd: 96 -D prevents l2tpd from detaching from terminal and running as a 97 daemon 98 -c <configfile> use alternate config file 99 -s <secretfile> use alternate secrets file 100 -p <pidfile> use alternate pid file 101 102Upon running l2tpd, a pipe is created in /var/run/l2tp-control. Simple 103commands can then be echoed to this pipe to control l2tp on the fly. 104The commands are: 105 106t <host> - create a tunnel to <host> 107c <tid> or <entry> - originate an l2tp call on the tunnel identified 108 locally by <tid>, or dial the entry <entry> 109h <cid> - hang up a call with the local identifier <cid> 110d <tid> or <entry> - disconnect the tunnel locally identified by <tid> 111 or a lac entry <entry> 112s - print out a status summary of currently connected tunnels and 113 sessions 114 115For example, to establish a tunnel to marko.net, one might do: 116 117echo "t marko.net" >/var/run/l2tp-control 118 119l2tpd must be running for this to work. 120 121Various other notes 122------------------- 123The PPP options used to be hard coded in l2tp.h. Now they (or at least 124some) are configurable - see the example config file and read file.[ch]. 125 126Sending a SIGUSR1 to l2tpd will cause it to dump its status. 127 128Mailing List 129------------ 130If you would like to contribute to discussions of the architecture of 131l2tpd, file formats, etc, we encourage you to join the l2tpd mailing 132list by visiting http://www.l2tpd.org/ and subscribing 133to our mailing lists. 134 135Original Project Legal Information: 136----------------------------------- 137l2tpd is free software, distributed under the GNU General Public License 138(GPL)and you should read the LICENSE File if you are not already 139familiar with the GPL before using the product. 140 141If you distribute l2tpd, a modified version, or a derivative product, 142you MUST not remove Adtran's name from the product nor modify the terms 143of the copyright. 144