------------------------------------------------------------------------------ Linux WAN Router Utilities Package ------------------------------------------------------------------------------ Version 2.1.1 Nov 08, 1999 Author: Nenad Corbic Copyright (c) 1995-1999 Sangoma Technologies Inc. ------------------------------------------------------------------------------ INTRODUCTION This is a set of utilities and shell scripts you need in order to be able to use Linux kernel-level WAN Router. Please read WAN Router User's manual (router.txt) and WANPIPE driver documentation found in /usr/lib/router/doc directory for installation and configuration instructions. You can find the latest version of this software in /pub/linux directory on Sangoma Technologies' anonymous FTP server (ftp.sangoma.com). For technical questions and/or comments please e-mail to ncorbic@sangoma.com. For general inquiries please contact Sangoma Technologies Inc. by Hotline: 1-800-388-2475 (USA and Canada, toll free) Phone: (905) 474-1990 Fax: (905) 474-9223 E-mail: dm@sangoma.com (David Mandelstam) WWW: http://www.sangoma.com COPYRIGHT AND LICENSING INFORMATION This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ACKNOWLEDGEMENTS This product is based on the WANPIPE(tm) Multiprotocol WAN Router developed by Sangoma Technologies Inc. for Linux 2.2.x. Success of the WANPIPE together with the next major release of Linux kernel in summer 1996 commanded adequate changes to the WANPIPE code to take full advantage of new Linux features. Instead of continuing developing proprietary interface tied to Sangoma WAN cards, we decided to separate all hardware-independent code into a separate module and defined two levels of interfaces - one for user-level applications and another for kernel-level WAN drivers. WANPIPE is now implemented as a WAN driver compliant with the WAN Link Driver interface. Also a general purpose WAN configuration utility and a set of shell scripts was developed to support WAN router at the user level. Many useful ideas concerning hardware-independent interface implementation were given by Mike McLagan and his implementation of the Frame Relay router and drivers for Sangoma cards (dlci/sdla). With the new implementation of the APIs being incorporated into the WANPIPE, a special thank goes to Alan Cox in providing insight into BSD sockets. Special thanks to all the WANPIPE users who performed field-testing, reported bugs and made valuable comments and suggestions that help us to improve this product. NEW IN THIS RELEASE o Renamed startup script to wanrouter o Option to turn off/on each router separately o New source directory /usr/lib/wanrouter o New PPP driver o X25 is not supported in this release PRODUCT COMPONENTS AND RELATED FILES /etc: wanpipe1.conf default router configuration file wanrouter.rc meta-configuration file (used by the Setup script) /lib/modules/X.Y.Z/misc: wanrouter.o router kernel loadable module /lib/modules/X.Y.Z/net: sdladrv.o Sangoma SDLA support module wanpipe.o Sangoma WANPIPE(tm) driver module /proc/net/wanrouter Config reads current router configuration Status reads current router status {name} reads WAN driver statistics /usr/sbin: wanrouter router start-up script wanconfig router configuration utility sdladump WANPIPE adapter memory dump utility fpipemon Monitor for Frame Relay cpipemon Monitor for Cisco HDLC /usr/lib/wanrouter: README this file COPYING GNU General Public License Setup installation script Configure configuration script Filelist distribution definition file /usr/lib/wanrouter/doc: WANPIPE_USER_MANUAL.txt WAN Router User's Manual WANPIPE_CONFIG.txt WAN Configuration Manual /usr/lib/wanrouter/interfaces: * interface configuration files (TCP/IP configuration) /usr/lib/wanrouter/patches: wanrouter-22.gz patch for Linux kernel 2.2.10 and 2.2.11 (compatible for all 2.2.X kernels) wanrouter-20.gz patch for Linux kernel 2.0.36 Fix_2.2.11.gz patch to fix the 2.2.11 kernel so other patches can be applied properly. /usr/lib/wanrouter/samples: interface sample interface configuration file wanpipe1.cpri CHDLC primary port wanpipe2.csec CHDLC secondary port wanpipe1.fr Frame Relay protocol wanpipe1.ppp PPP protocol ) wanrouter.rc sample meta-configuration file /usr/lib/wanrouter/src: * wan-tools source code /usr/include/linux: wanrouter.h router API definitions wanpipe.h WANPIPE API definitions sdladrv.h SDLA support module API definitions sdlasfm.h SDLA firmware module definitions /usr/src/linux/net/router: * router source code /var/log: wanrouter router start-up log (created by the Setup script) /var/lock: wanrouter router lock file (created by the Setup script) /usr/lib/wanrouter/wanpipe: fr514.sfm Frame relay firmware for Sangoma S508/S514 card cdual514.sfm Dual Port Cisco HDLC firmware for Sangoma S508/S514 card ppp514.sfm PPP Firmware for Sangoma S508 and S514 cards REVISION HISTORY 1.0.0 December 31, 1996 Initial version 1.0.1 January 30, 1997 Status and statistics can be read via /proc filesystem entries. 1.0.2 April 30, 1997 Added UDP management via monitors. 1.0.3 June 3, 1997 UDP management for multiple boards using Frame Relay and PPP Enabled continuous transmission of Configure Request Packet for PPP (for 508 only) Connection Timeout for PPP changed from 900 to 0 Flow Control Problem fixed for Frame Relay 1.0.4 July 10, 1997 S508/FT1 monitoring capability in fpipemon and ppipemon utilities. Configurable TTL for UDP packets. Multicast and Broadcast IP source addresses are silently discarded. 1.0.5 July 28, 1997 Configurable T391,T392,N391,N392,N393 for Frame Relay in router.conf. Configurable Memory Address through router.conf for Frame Relay, PPP and X.25. (commenting this out enables auto-detection). Fixed freeing up received buffers using kfree() for Frame Relay and X.25. Protect sdla_peek() by calling save_flags(), cli() and restore_flags(). Changed number of Trace elements from 32 to 20 Added DLCI specific data monitoring in FPIPEMON. 2.0.0 Nov 07, 1997 Implemented protection of RACE conditions by critical flags for FRAME RELAY and PPP. DLCI List interrupt mode implemented. IPX support in FRAME RELAY and PPP. IPX Server Support (MARS) More driver specific stats included in FPIPEMON and PIPEMON. 2.0.1 Nov 28, 1997 Bug Fixes for version 2.0.0. Protection of "enable_irq()" while "disable_irq()" has been enabled from any other routine (for Frame Relay, PPP and X25). Added additional Stats for Fpipemon and Ppipemon Improved Load Sharing for multiple boards 2.0.2 Dec 09, 1997 Support for PAP and CHAP for ppp has been implemented. 2.0.3 Aug 15, 1998 New release supporting Cisco HDLC, CIR for Frame relay, Dynamic IP assignment for PPP and Inverse Arp support for Frame-relay. Man Pages are included for better support and a new utility for configuring FT1 cards. 2.0.4 Dec 09, 1998 Dual Port support for Cisco HDLC. Support for HDLC (LAPB) API. Supports BiSync Streaming code for S502E and S503 cards. Support for Streaming HDLC API. Provides a BSD socket interface for creating applications using BiSync streaming. 2.0.5 Aug 04, 1999 CHDLC initializatin bug fix. PPP interrupt driven driver: Fix to the PPP line hangup problem. New PPP firmware Added comments to the startup SYSTEM ERROR messages Xpipemon debugging application for the X25 protocol New USER_MANUAL.txt Fixed the odd boundary 4byte writes to the board. BiSync Streaming code has been taken out. Available as a patch. Streaming HDLC API has been taken out. Available as a patch. 2.0.6 Aug 17, 1999 Increased debugging in statup scripts Fixed insallation bugs from 2.0.5 Kernel patch works for both 2.2.10 and 2.2.11 kernels. There is no functional difference between the two packages 2.0.7 Aug 26, 1999 o Merged X25API code into WANPIPE. o Fixed a memeory leak for X25API o Updated the X25API code for 2.2.X kernels. o Improved NEM handling. 2.1.0 Oct 25, 1999 o New code for S514 PCI Card o New CHDLC and Frame Relay drivers o PPP and X25 are not supported in this release >>>>>> END OF README <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<