📄 wanpipe.txt
字号:
------------------------------------------------------------------------------Linux WAN Router Utilities Package------------------------------------------------------------------------------Version 2.2.1 Mar 28, 2001Author: Nenad Corbic <ncorbic@sangoma.com>Copyright (c) 1995-2001 Sangoma Technologies Inc.------------------------------------------------------------------------------INTRODUCTIONWide Area Networks (WANs) are used to interconnect Local Area Networks (LANs)and/or stand-alone hosts over vast distances with data transfer ratessignificantly higher than those achievable with commonly used dial-upconnections.Usually an external device called `WAN router' sitting on your local networkor connected to your machine's serial port provides physical connection toWAN. Although router's job may be as simple as taking your local networktraffic, converting it to WAN format and piping it through the WAN link, thesedevices are notoriously expensive, with prices as much as 2 - 5 times higherthen the price of a typical PC box.Alternatively, considering robustness and multitasking capabilities of Linux,an internal router can be built (most routers use some sort of stripped downUnix-like operating system anyway). With a number of relatively inexpensive WANinterface cards available on the market, a perfectly usable router can bebuilt for less than half a price of an external router. Yet a Linux boxacting as a router can still be used for other purposes, such as fire-walling,running FTP, WWW or DNS server, etc.This kernel module introduces the notion of a WAN Link Driver (WLD) to Linuxoperating system and provides generic hardware-independent services for suchdrivers. Why can existing Linux network device interface not be used forthis purpose? Well, it can. However, there are a few key differences betweena typical network interface (e.g. Ethernet) and a WAN link.Many WAN protocols, such as X.25 and frame relay, allow for multiple logicalconnections (known as `virtual circuits' in X.25 terminology) over a singlephysical link. Each such virtual circuit may (and almost always does) leadto a different geographical location and, therefore, different network. As aresult, it is the virtual circuit, not the physical link, that represents aroute and, therefore, a network interface in Linux terms.To further complicate things, virtual circuits are usually volatile in nature(excluding so called `permanent' virtual circuits or PVCs). With almost notime required to set up and tear down a virtual circuit, it is highly desirableto implement on-demand connections in order to minimize network charges. Sounlike a typical network driver, the WAN driver must be able to handle multiplenetwork interfaces and cope as multiple virtual circuits come into existenceand go away dynamically. Last, but not least, WAN configuration is much more complex than that of sayEthernet and may well amount to several dozens of parameters. Some of themare "link-wide" while others are virtual circuit-specific. The same holdstrue for WAN statistics which is by far more extensive and extremely usefulwhen troubleshooting WAN connections. Extending the ifconfig utility to suitthese needs may be possible, but does not seem quite reasonable. Therefore, aWAN configuration utility and corresponding application programmer's interfaceis needed for this purpose.Most of these problems are taken care of by this module. Its goal is toprovide a user with more-or-less standard look and feel for all WAN devices andassist a WAN device driver writer by providing common services, such as: o User-level interface via /proc file system o Centralized configuration o Device management (setup, shutdown, etc.) o Network interface management (dynamic creation/destruction) o Protocol encapsulation/decapsulationTo ba able to use the Linux WAN Router you will also need a WAN Tools packageavailable from ftp.sangoma.com/pub/linux/current_wanpipe/wanpipe-X.Y.Z.tgzwhere vX.Y.Z represent the wanpipe version number.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 ext: 106 Fax: (905) 474-9223 E-mail: dm@sangoma.com (David Mandelstam) WWW: http://www.sangoma.comINSTALLATIONPlease read the WanpipeForLinux.pdf manual on how to install the WANPIPE tools and drivers properly. After installing wanpipe package: /usr/local/wanrouter/doc. On the ftp.sangoma.com : /linux/current_wanpipe/docCOPYRIGHT AND LICENSING INFORMATIONThis program is free software; you can redistribute it and/or modify it underthe terms of the GNU General Public License as published by the Free SoftwareFoundation; either version 2, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESSFOR 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 withthis program; if not, write to the Free Software Foundation, Inc., 675 MassAve, Cambridge, MA 02139, USA.ACKNOWLEDGEMENTSThis product is based on the WANPIPE(tm) Multiprotocol WAN Router developedby Sangoma Technologies Inc. for Linux 2.0.x and 2.2.x. Success of the WANPIPEtogether with the next major release of Linux kernel in summer 1996 commandedadequate changes to the WANPIPE code to take full advantage of new Linuxfeatures.Instead of continuing developing proprietary interface tied to Sangoma WANcards, we decided to separate all hardware-independent code into a separatemodule and defined two levels of interfaces - one for user-level applicationsand another for kernel-level WAN drivers. WANPIPE is now implemented as aWAN driver compliant with the WAN Link Driver interface. Also a generalpurpose 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 implementationwere given by Mike McLagan <mike.mclagan@linux.org> and his implementationof 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, reportedbugs and made valuable comments and suggestions that help us to improve thisproduct.NEW IN THIS RELEASE o Updated the WANCFG utility Calls the pppconfig to configure the PPPD for async connections. o Added the PPPCONFIG utility Used to configure the PPPD dameon for the WANPIPE Async PPP and standard serial port. The wancfg calls the pppconfig to configure the pppd. o Fixed the PCI autodetect feature. The SLOT 0 was used as an autodetect option however, some high end PC's slot numbers start from 0. o This release has been tested with the new backupd daemon release. PRODUCT COMPONENTS AND RELATED FILES/etc: (or user defined) wanpipe1.conf default router configuration file/lib/modules/X.Y.Z/misc: wanrouter.o router kernel loadable module af_wanpipe.o wanpipe api socket 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 wanrouter start-up script wanconfig wanrouter configuration utility sdladump WANPIPE adapter memory dump utility fpipemon Monitor for Frame Relay cpipemon Monitor for Cisco HDLC ppipemon Monitor for PPP xpipemon Monitor for X25 wpkbdmon WANPIPE keyboard led monitor/debugger/usr/local/wanrouter: README this file COPYING GNU General Public License Setup installation script Filelist distribution definition file wanrouter.rc meta-configuration file (used by the Setup and wanrouter script)/usr/local/wanrouter/doc: wanpipeForLinux.pdf WAN Router User's Manual/usr/local/wanrouter/patches: wanrouter-v2213.gz patch for Linux kernels 2.2.11 up to 2.2.13. wanrouter-v2214.gz patch for Linux kernel 2.2.14. wanrouter-v2215.gz patch for Linux kernels 2.2.15 to 2.2.17. wanrouter-v2218.gz patch for Linux kernels 2.2.18 and up. wanrouter-v240.gz patch for Linux kernel 2.4.0. wanrouter-v242.gz patch for Linux kernel 2.4.2 and up. wanrouter-v2034.gz patch for Linux kernel 2.0.34 wanrouter-v2036.gz patch for Linux kernel 2.0.36 and up. /usr/local/wanrouter/patches/kdrivers: Sources of the latest WANPIPE device drivers. These are used to UPGRADE the linux kernel to the newest version if the kernel source has already been pathced with WANPIPE drivers./usr/local/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 ) wanpipe1.asy CHDLC ASYNC protocol wanpipe1.x25 X25 protocol wanpipe1.stty Sync TTY driver (Used by Kernel PPPD daemon) wanpipe1.atty Async TTY driver (Used by Kernel PPPD daemon) wanrouter.rc sample meta-configuration file/usr/local/wanrouter/util: * wan-tools utilities source code/usr/local/wanrouter/api/x25: * x25 api sample programs./usr/local/wanrouter/api/chdlc: * chdlc api sample programs./usr/local/wanrouter/api/fr: * fr api sample programs./usr/local/wanrouter/config/wancfg: wancfg WANPIPE GUI configuration program. Creates wanpipe#.conf files. /usr/local/wanrouter/config/cfgft1: cfgft1 GUI CSU/DSU configuration program./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 if_wanpipe.h WANPIPE Socket definitions if_wanpipe_common.h WANPIPE Socket/Driver common definitions. sdlapci.h WANPIPE PCI definitions /usr/src/linux/net/wanrouter: * wanrouter source code/var/log: wanrouter wanrouter start-up log (created by the Setup script)/var/lock: (or /var/lock/subsys for RedHat) wanrouter wanrouter lock file (created by the Setup script)/usr/local/wanrouter/firmware: 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 x25_508.sfm X25 Firmware for Sangoma S508 card.REVISION HISTORY1.0.0 December 31, 1996 Initial version1.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 Relay1.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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -