1l2tpd version 0.60 2================== 3Copyright (C)1998 Adtran, Inc. 4Mark Spencer <markster@marko.net> 5 6Introduction: 7------------- 8 9l2tpd is an implementation of the layer two tunneling protocol. It works in 10userspace completely (although kernel work is planned after the userspace 11version is stablized). l2tpd works by opening a pseudo-tty for communicating 12with pppd. Although l2tpd was written for Linux, the current version should 13be highly portable to other UNIX's supported by pppd. 14 15Legal: 16------ 17l2tpd is free software, distributed under the GNU General Public License (GPL) 18and you should read the LICENSE File if you are not already familiar with the 19GPL before using the product. 20 21If you distribute l2tpd, a modified version, or a derivative product, you 22MUST not remove Adtran's name from the product nor modify the terms of the 23copyright. 24 25Adtran may license l2tpd under other terms in addition to the GPL. This way, 26companies who wish to use l2tpd for embedded systems or commercial applications 27and find the GPL too restrictive can license the technology from Adtran under 28more favorable terms. 29 30Bugs, Patches, and Code Contribution: 31------------------------------------- 32Please send bug reports and patches to either the l2tp mailng list 33(l2tpd@marko.net) or myself (markster@marko.net). 34 35In order to contribute code, either with patches, or by direct access to the 36CVS tree for l2tpd, send me e-mail (markster@marko.net). 37 38The word "FIXME" is a place holder for code that needs to be in place, or 39checks that need to be done, but haven't been coded yet. Feel free to fix the 40fixme's and submit patches! 41 42Adtran requires that you not restrict the licensing of any patches or code 43contributions to the main l2tpd project (beyond the terms that are already 44there). This is to maintain our ability to distribute l2tpd as described 45above. It does not in any way affect your ability to use code that you have 46written. 47 48Of course, the above patch rules apply only to the "official" l2tpd product 49as distributed by Adtran. If you are unwilling to give Adtran the right to 50re-license your patches under other terms than GPL, you may create your own 51third party product which is distributed only under GPL. 52 53Release Notes 54------------- 55Version 0.60 should be considered ALPHA. It does NOT completely implement 56the l2tp draft specification. Work on the high-speed kernel 57implementation has already begun, but a relase date is not available. 58 59The primary use of this ALPHA level code is to test the ability of l2tpd 60to talk with other LAC and LNS implementations. I hope that everyone who 61tests the software will send me results on how it worked or failed to work 62for them. 63 64(theoretically) implemented features 65------------------------------------ 66* Proper payload and control packet handling 67* Reliable control packet delivery 68* Ability to recover from payload errors 69* Ability to handle packets with/without length set 70* Ability to handle flow control or no flow control 71* Most critical AVP's for normal operation 72* Challenge authentication 73* Hidden AVP's 74* Hello's to detect outages 75* Handles sync and async packets 76* Can act as LNS 77* Can be a source of a virtual LAC call 78* Reads configuration file 79* Automated LAC dialup via config file, including redial 80* Can be configured while running via a file system pipe 81* Access Control 82* Statistics report when sent a SIGUSR1 83* ACCM 84 85Major unimplemented specification features 86------------------------------------------ 87* Rate Adaptive Timeouts 88* Out of order packet handling 89* Initial/Final LCP states 90* Q.931 Result Codes 91* Tie Breakers 92* Minimum/Maximum BPS 93* Call Errors 94 95Important non-specification related features to be added 96-------------------------------------------------------- 97* More configuration options if needed 98* Kernel support for *much* improved performance 99 100Usage notes on /var/run/l2tp-control 101------------------------------------ 102There aren't any command line options to l2tpd yet. 103 104Upon running l2tpd, a pipe is created in /var/run/l2tp-control. Simple 105commands can then be echoed to this pipe to control l2tp on the fly. The 106commands are: 107 108t <host> - create a tunnel to <host> 109c <tid> or <entry> - originate an l2tp call on the tunnel 110 identified locally by <tid>, or dial the entry <entry> 111h <cid> - hang up a call with the local identifier <cid> 112d <tid> or <entry> - disconnect the tunnel locally identified by <tid> 113 or a lac entry <entry> 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 are hard coded in l2tp.h until a file format is decided upon. 124Sending a SIGUSR1 to l2tpd will cause it to dump its status. 125 126Mailing List 127------------ 128If you would like to contribute to discussions of the architecture of l2tpd, 129file formats, etc, I encourage you to join the l2tpd mailing list by sending 130the word "subscribe" in the body of a message to "l2tpd-request@marko.net" 131