Sangoma wanpipe drivers
Go to file
Harald Welte 294cf0af0c wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
api wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
deb_control wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
doc wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
edac wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
firmware wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
kbuild wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
patches wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
rpmspec wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
samples wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
util wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
zaptel wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
0_SANGOMA_WIKI_@_wiki.sangoma.com wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
COPYING wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
Filelist Checkin of wanpipe-2.3.2-7.tgz 2021-12-29 17:56:27 +01:00
README wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
README.asterisk wanpipe-2.3.3-7.tgz 2021-12-29 17:57:21 +01:00
README.changes wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00
Setup wanpipe-2.3.3-9.tgz 2021-12-29 17:57:51 +01:00

README

------------------------------------------------------------------------------
Linux WAN Router Utilities Package
------------------------------------------------------------------------------
Author: Nenad Corbic <ncorbic@sangoma.com>
Copyright (c) 1995-2006 Sangoma Technologies Inc.
------------------------------------------------------------------------------

INTRODUCTION

Wide Area Networks (WANs) are used to interconnect Local Area Networks (LANs)
and/or stand-alone hosts over vast distances with data transfer rates
significantly higher than those achievable with commonly used dial-up
connections.

Usually an external device called `WAN router' sitting on your local network
or connected to your machine's serial port provides physical connection to
WAN.  Although router's job may be as simple as taking your local network
traffic, converting it to WAN format and piping it through the WAN link, these
devices are notoriously expensive, with prices as much as 2 - 5 times higher
then 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 down
Unix-like operating system anyway). With a number of relatively inexpensive WAN
interface cards available on the market, a perfectly usable router can be
built for less than half a price of an external router.  Yet a Linux box
acting 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 Linux
operating system and provides generic hardware-independent services for such
drivers.  Why can existing Linux network device interface not be used for
this purpose?  Well, it can.  However, there are a few key differences between
a typical network interface (e.g. Ethernet) and a WAN link.

Many WAN protocols, such as X.25 and frame relay, allow for multiple logical
connections (known as `virtual circuits' in X.25 terminology) over a single
physical link.  Each such virtual circuit may (and almost always does) lead
to a different geographical location and, therefore, different network.  As a
result, it is the virtual circuit, not the physical link, that represents a
route 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 no
time required to set up and tear down a virtual circuit, it is highly desirable
to implement on-demand connections in order to minimize network charges.  So
unlike a typical network driver, the WAN driver must be able to handle multiple
network interfaces and cope as multiple virtual circuits come into existence
and go away dynamically.
 
Last, but not least, WAN configuration is much more complex than that of say
Ethernet and may well amount to several dozens of parameters.  Some of them
are "link-wide"  while others are virtual circuit-specific.  The same holds
true for WAN statistics which is by far more extensive and extremely useful
when troubleshooting WAN connections.  Extending the ifconfig utility to suit
these needs may be possible, but does not seem quite reasonable.  Therefore, a
WAN configuration utility and corresponding application programmer's interface
is needed for this purpose.

Most of these problems are taken care of by this module.  Its goal is to
provide a user with more-or-less standard look and feel for all WAN devices and
assist 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/decapsulation

To ba able to use the Linux WAN Router you will also need a WAN Tools package
available from

	ftp.sangoma.com/pub/linux/current_wanpipe/wanpipe-X.Y.Z.tgz

where 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)
			ncorbic@sangoma.com (Nenad Corbic)
	WWW:		http://www.sangoma.com


INSTALLATION

Please read the README.install on how to 
install the WANPIPE tools and drivers properly. 


After installation read README.config on how
to configure and start wanpipe device.

For further information refer to the
doc/ directory.

ftp.sangoma.com/linux/current_wanpipe/doc


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.0.x and 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 <mike.mclagan@linux.org> 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.


For Latest Documentation Please visit:

Sangoma Wiki

http://sangoma.editme.com