annotate Documentation/networking/wan-router.txt @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
rev   line source
ian@0 1 ------------------------------------------------------------------------------
ian@0 2 Linux WAN Router Utilities Package
ian@0 3 ------------------------------------------------------------------------------
ian@0 4 Version 2.2.1
ian@0 5 Mar 28, 2001
ian@0 6 Author: Nenad Corbic <ncorbic@sangoma.com>
ian@0 7 Copyright (c) 1995-2001 Sangoma Technologies Inc.
ian@0 8 ------------------------------------------------------------------------------
ian@0 9
ian@0 11
ian@0 12 Wide Area Networks (WANs) are used to interconnect Local Area Networks (LANs)
ian@0 13 and/or stand-alone hosts over vast distances with data transfer rates
ian@0 14 significantly higher than those achievable with commonly used dial-up
ian@0 15 connections.
ian@0 16
ian@0 17 Usually an external device called `WAN router' sitting on your local network
ian@0 18 or connected to your machine's serial port provides physical connection to
ian@0 19 WAN. Although router's job may be as simple as taking your local network
ian@0 20 traffic, converting it to WAN format and piping it through the WAN link, these
ian@0 21 devices are notoriously expensive, with prices as much as 2 - 5 times higher
ian@0 22 then the price of a typical PC box.
ian@0 23
ian@0 24 Alternatively, considering robustness and multitasking capabilities of Linux,
ian@0 25 an internal router can be built (most routers use some sort of stripped down
ian@0 26 Unix-like operating system anyway). With a number of relatively inexpensive WAN
ian@0 27 interface cards available on the market, a perfectly usable router can be
ian@0 28 built for less than half a price of an external router. Yet a Linux box
ian@0 29 acting as a router can still be used for other purposes, such as fire-walling,
ian@0 30 running FTP, WWW or DNS server, etc.
ian@0 31
ian@0 32 This kernel module introduces the notion of a WAN Link Driver (WLD) to Linux
ian@0 33 operating system and provides generic hardware-independent services for such
ian@0 34 drivers. Why can existing Linux network device interface not be used for
ian@0 35 this purpose? Well, it can. However, there are a few key differences between
ian@0 36 a typical network interface (e.g. Ethernet) and a WAN link.
ian@0 37
ian@0 38 Many WAN protocols, such as X.25 and frame relay, allow for multiple logical
ian@0 39 connections (known as `virtual circuits' in X.25 terminology) over a single
ian@0 40 physical link. Each such virtual circuit may (and almost always does) lead
ian@0 41 to a different geographical location and, therefore, different network. As a
ian@0 42 result, it is the virtual circuit, not the physical link, that represents a
ian@0 43 route and, therefore, a network interface in Linux terms.
ian@0 44
ian@0 45 To further complicate things, virtual circuits are usually volatile in nature
ian@0 46 (excluding so called `permanent' virtual circuits or PVCs). With almost no
ian@0 47 time required to set up and tear down a virtual circuit, it is highly desirable
ian@0 48 to implement on-demand connections in order to minimize network charges. So
ian@0 49 unlike a typical network driver, the WAN driver must be able to handle multiple
ian@0 50 network interfaces and cope as multiple virtual circuits come into existence
ian@0 51 and go away dynamically.
ian@0 52
ian@0 53 Last, but not least, WAN configuration is much more complex than that of say
ian@0 54 Ethernet and may well amount to several dozens of parameters. Some of them
ian@0 55 are "link-wide" while others are virtual circuit-specific. The same holds
ian@0 56 true for WAN statistics which is by far more extensive and extremely useful
ian@0 57 when troubleshooting WAN connections. Extending the ifconfig utility to suit
ian@0 58 these needs may be possible, but does not seem quite reasonable. Therefore, a
ian@0 59 WAN configuration utility and corresponding application programmer's interface
ian@0 60 is needed for this purpose.
ian@0 61
ian@0 62 Most of these problems are taken care of by this module. Its goal is to
ian@0 63 provide a user with more-or-less standard look and feel for all WAN devices and
ian@0 64 assist a WAN device driver writer by providing common services, such as:
ian@0 65
ian@0 66 o User-level interface via /proc file system
ian@0 67 o Centralized configuration
ian@0 68 o Device management (setup, shutdown, etc.)
ian@0 69 o Network interface management (dynamic creation/destruction)
ian@0 70 o Protocol encapsulation/decapsulation
ian@0 71
ian@0 72 To ba able to use the Linux WAN Router you will also need a WAN Tools package
ian@0 73 available from
ian@0 74
ian@0 75 ftp.sangoma.com/pub/linux/current_wanpipe/wanpipe-X.Y.Z.tgz
ian@0 76
ian@0 77 where vX.Y.Z represent the wanpipe version number.
ian@0 78
ian@0 79 For technical questions and/or comments please e-mail to ncorbic@sangoma.com.
ian@0 80 For general inquiries please contact Sangoma Technologies Inc. by
ian@0 81
ian@0 82 Hotline: 1-800-388-2475 (USA and Canada, toll free)
ian@0 83 Phone: (905) 474-1990 ext: 106
ian@0 84 Fax: (905) 474-9223
ian@0 85 E-mail: dm@sangoma.com (David Mandelstam)
ian@0 86 WWW: http://www.sangoma.com
ian@0 87
ian@0 88
ian@0 90
ian@0 91 Please read the WanpipeForLinux.pdf manual on how to
ian@0 92 install the WANPIPE tools and drivers properly.
ian@0 93
ian@0 94
ian@0 95 After installing wanpipe package: /usr/local/wanrouter/doc.
ian@0 96 On the ftp.sangoma.com : /linux/current_wanpipe/doc
ian@0 97
ian@0 98
ian@0 100
ian@0 101 This program is free software; you can redistribute it and/or modify it under
ian@0 102 the terms of the GNU General Public License as published by the Free Software
ian@0 103 Foundation; either version 2, or (at your option) any later version.
ian@0 104
ian@0 105 This program is distributed in the hope that it will be useful, but WITHOUT
ian@0 106 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
ian@0 107 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
ian@0 108
ian@0 109 You should have received a copy of the GNU General Public License along with
ian@0 110 this program; if not, write to the Free Software Foundation, Inc., 675 Mass
ian@0 111 Ave, Cambridge, MA 02139, USA.
ian@0 112
ian@0 113
ian@0 114
ian@0 116
ian@0 117 This product is based on the WANPIPE(tm) Multiprotocol WAN Router developed
ian@0 118 by Sangoma Technologies Inc. for Linux 2.0.x and 2.2.x. Success of the WANPIPE
ian@0 119 together with the next major release of Linux kernel in summer 1996 commanded
ian@0 120 adequate changes to the WANPIPE code to take full advantage of new Linux
ian@0 121 features.
ian@0 122
ian@0 123 Instead of continuing developing proprietary interface tied to Sangoma WAN
ian@0 124 cards, we decided to separate all hardware-independent code into a separate
ian@0 125 module and defined two levels of interfaces - one for user-level applications
ian@0 126 and another for kernel-level WAN drivers. WANPIPE is now implemented as a
ian@0 127 WAN driver compliant with the WAN Link Driver interface. Also a general
ian@0 128 purpose WAN configuration utility and a set of shell scripts was developed to
ian@0 129 support WAN router at the user level.
ian@0 130
ian@0 131 Many useful ideas concerning hardware-independent interface implementation
ian@0 132 were given by Mike McLagan <mike.mclagan@linux.org> and his implementation
ian@0 133 of the Frame Relay router and drivers for Sangoma cards (dlci/sdla).
ian@0 134
ian@0 135 With the new implementation of the APIs being incorporated into the WANPIPE,
ian@0 136 a special thank goes to Alan Cox in providing insight into BSD sockets.
ian@0 137
ian@0 138 Special thanks to all the WANPIPE users who performed field-testing, reported
ian@0 139 bugs and made valuable comments and suggestions that help us to improve this
ian@0 140 product.
ian@0 141
ian@0 142
ian@0 143
ian@0 145
ian@0 146 o Updated the WANCFG utility
ian@0 147 Calls the pppconfig to configure the PPPD
ian@0 148 for async connections.
ian@0 149
ian@0 150 o Added the PPPCONFIG utility
ian@0 151 Used to configure the PPPD dameon for the
ian@0 152 WANPIPE Async PPP and standard serial port.
ian@0 153 The wancfg calls the pppconfig to configure
ian@0 154 the pppd.
ian@0 155
ian@0 156 o Fixed the PCI autodetect feature.
ian@0 157 The SLOT 0 was used as an autodetect option
ian@0 158 however, some high end PC's slot numbers start
ian@0 159 from 0.
ian@0 160
ian@0 161 o This release has been tested with the new backupd
ian@0 162 daemon release.
ian@0 163
ian@0 164
ian@0 166
ian@0 167 /etc: (or user defined)
ian@0 168 wanpipe1.conf default router configuration file
ian@0 169
ian@0 170 /lib/modules/X.Y.Z/misc:
ian@0 171 wanrouter.o router kernel loadable module
ian@0 172 af_wanpipe.o wanpipe api socket module
ian@0 173
ian@0 174 /lib/modules/X.Y.Z/net:
ian@0 175 sdladrv.o Sangoma SDLA support module
ian@0 176 wanpipe.o Sangoma WANPIPE(tm) driver module
ian@0 177
ian@0 178 /proc/net/wanrouter
ian@0 179 Config reads current router configuration
ian@0 180 Status reads current router status
ian@0 181 {name} reads WAN driver statistics
ian@0 182
ian@0 183 /usr/sbin:
ian@0 184 wanrouter wanrouter start-up script
ian@0 185 wanconfig wanrouter configuration utility
ian@0 186 sdladump WANPIPE adapter memory dump utility
ian@0 187 fpipemon Monitor for Frame Relay
ian@0 188 cpipemon Monitor for Cisco HDLC
ian@0 189 ppipemon Monitor for PPP
ian@0 190 xpipemon Monitor for X25
ian@0 191 wpkbdmon WANPIPE keyboard led monitor/debugger
ian@0 192
ian@0 193 /usr/local/wanrouter:
ian@0 194 README this file
ian@0 195 COPYING GNU General Public License
ian@0 196 Setup installation script
ian@0 197 Filelist distribution definition file
ian@0 198 wanrouter.rc meta-configuration file
ian@0 199 (used by the Setup and wanrouter script)
ian@0 200
ian@0 201 /usr/local/wanrouter/doc:
ian@0 202 wanpipeForLinux.pdf WAN Router User's Manual
ian@0 203
ian@0 204 /usr/local/wanrouter/patches:
ian@0 205 wanrouter-v2213.gz patch for Linux kernels 2.2.11 up to 2.2.13.
ian@0 206 wanrouter-v2214.gz patch for Linux kernel 2.2.14.
ian@0 207 wanrouter-v2215.gz patch for Linux kernels 2.2.15 to 2.2.17.
ian@0 208 wanrouter-v2218.gz patch for Linux kernels 2.2.18 and up.
ian@0 209 wanrouter-v240.gz patch for Linux kernel 2.4.0.
ian@0 210 wanrouter-v242.gz patch for Linux kernel 2.4.2 and up.
ian@0 211 wanrouter-v2034.gz patch for Linux kernel 2.0.34
ian@0 212 wanrouter-v2036.gz patch for Linux kernel 2.0.36 and up.
ian@0 213
ian@0 214 /usr/local/wanrouter/patches/kdrivers:
ian@0 215 Sources of the latest WANPIPE device drivers.
ian@0 216 These are used to UPGRADE the linux kernel to the newest
ian@0 217 version if the kernel source has already been pathced with
ian@0 218 WANPIPE drivers.
ian@0 219
ian@0 220 /usr/local/wanrouter/samples:
ian@0 221 interface sample interface configuration file
ian@0 222 wanpipe1.cpri CHDLC primary port
ian@0 223 wanpipe2.csec CHDLC secondary port
ian@0 224 wanpipe1.fr Frame Relay protocol
ian@0 225 wanpipe1.ppp PPP protocol )
ian@0 226 wanpipe1.asy CHDLC ASYNC protocol
ian@0 227 wanpipe1.x25 X25 protocol
ian@0 228 wanpipe1.stty Sync TTY driver (Used by Kernel PPPD daemon)
ian@0 229 wanpipe1.atty Async TTY driver (Used by Kernel PPPD daemon)
ian@0 230 wanrouter.rc sample meta-configuration file
ian@0 231
ian@0 232 /usr/local/wanrouter/util:
ian@0 233 * wan-tools utilities source code
ian@0 234
ian@0 235 /usr/local/wanrouter/api/x25:
ian@0 236 * x25 api sample programs.
ian@0 237 /usr/local/wanrouter/api/chdlc:
ian@0 238 * chdlc api sample programs.
ian@0 239 /usr/local/wanrouter/api/fr:
ian@0 240 * fr api sample programs.
ian@0 241 /usr/local/wanrouter/config/wancfg:
ian@0 242 wancfg WANPIPE GUI configuration program.
ian@0 243 Creates wanpipe#.conf files.
ian@0 244 /usr/local/wanrouter/config/cfgft1:
ian@0 245 cfgft1 GUI CSU/DSU configuration program.
ian@0 246
ian@0 247 /usr/include/linux:
ian@0 248 wanrouter.h router API definitions
ian@0 249 wanpipe.h WANPIPE API definitions
ian@0 250 sdladrv.h SDLA support module API definitions
ian@0 251 sdlasfm.h SDLA firmware module definitions
ian@0 252 if_wanpipe.h WANPIPE Socket definitions
ian@0 253 if_wanpipe_common.h WANPIPE Socket/Driver common definitions.
ian@0 254 sdlapci.h WANPIPE PCI definitions
ian@0 255
ian@0 256
ian@0 257 /usr/src/linux/net/wanrouter:
ian@0 258 * wanrouter source code
ian@0 259
ian@0 260 /var/log:
ian@0 261 wanrouter wanrouter start-up log (created by the Setup script)
ian@0 262
ian@0 263 /var/lock: (or /var/lock/subsys for RedHat)
ian@0 264 wanrouter wanrouter lock file (created by the Setup script)
ian@0 265
ian@0 266 /usr/local/wanrouter/firmware:
ian@0 267 fr514.sfm Frame relay firmware for Sangoma S508/S514 card
ian@0 268 cdual514.sfm Dual Port Cisco HDLC firmware for Sangoma S508/S514 card
ian@0 269 ppp514.sfm PPP Firmware for Sangoma S508 and S514 cards
ian@0 270 x25_508.sfm X25 Firmware for Sangoma S508 card.
ian@0 271
ian@0 272
ian@0 274
ian@0 275 1.0.0 December 31, 1996 Initial version
ian@0 276
ian@0 277 1.0.1 January 30, 1997 Status and statistics can be read via /proc
ian@0 278 filesystem entries.
ian@0 279
ian@0 280 1.0.2 April 30, 1997 Added UDP management via monitors.
ian@0 281
ian@0 282 1.0.3 June 3, 1997 UDP management for multiple boards using Frame
ian@0 283 Relay and PPP
ian@0 284 Enabled continuous transmission of Configure
ian@0 285 Request Packet for PPP (for 508 only)
ian@0 286 Connection Timeout for PPP changed from 900 to 0
ian@0 287 Flow Control Problem fixed for Frame Relay
ian@0 288
ian@0 289 1.0.4 July 10, 1997 S508/FT1 monitoring capability in fpipemon and
ian@0 290 ppipemon utilities.
ian@0 291 Configurable TTL for UDP packets.
ian@0 292 Multicast and Broadcast IP source addresses are
ian@0 293 silently discarded.
ian@0 294
ian@0 295 1.0.5 July 28, 1997 Configurable T391,T392,N391,N392,N393 for Frame
ian@0 296 Relay in router.conf.
ian@0 297 Configurable Memory Address through router.conf
ian@0 298 for Frame Relay, PPP and X.25. (commenting this
ian@0 299 out enables auto-detection).
ian@0 300 Fixed freeing up received buffers using kfree()
ian@0 301 for Frame Relay and X.25.
ian@0 302 Protect sdla_peek() by calling save_flags(),
ian@0 303 cli() and restore_flags().
ian@0 304 Changed number of Trace elements from 32 to 20
ian@0 305 Added DLCI specific data monitoring in FPIPEMON.
ian@0 306 2.0.0 Nov 07, 1997 Implemented protection of RACE conditions by
ian@0 307 critical flags for FRAME RELAY and PPP.
ian@0 308 DLCI List interrupt mode implemented.
ian@0 309 IPX support in FRAME RELAY and PPP.
ian@0 310 IPX Server Support (MARS)
ian@0 311 More driver specific stats included in FPIPEMON
ian@0 312 and PIPEMON.
ian@0 313
ian@0 314 2.0.1 Nov 28, 1997 Bug Fixes for version 2.0.0.
ian@0 315 Protection of "enable_irq()" while
ian@0 316 "disable_irq()" has been enabled from any other
ian@0 317 routine (for Frame Relay, PPP and X25).
ian@0 318 Added additional Stats for Fpipemon and Ppipemon
ian@0 319 Improved Load Sharing for multiple boards
ian@0 320
ian@0 321 2.0.2 Dec 09, 1997 Support for PAP and CHAP for ppp has been
ian@0 322 implemented.
ian@0 323
ian@0 324 2.0.3 Aug 15, 1998 New release supporting Cisco HDLC, CIR for Frame
ian@0 325 relay, Dynamic IP assignment for PPP and Inverse
ian@0 326 Arp support for Frame-relay. Man Pages are
ian@0 327 included for better support and a new utility
ian@0 328 for configuring FT1 cards.
ian@0 329
ian@0 330 2.0.4 Dec 09, 1998 Dual Port support for Cisco HDLC.
ian@0 331 Support for HDLC (LAPB) API.
ian@0 332 Supports BiSync Streaming code for S502E
ian@0 333 and S503 cards.
ian@0 334 Support for Streaming HDLC API.
ian@0 335 Provides a BSD socket interface for
ian@0 336 creating applications using BiSync
ian@0 337 streaming.
ian@0 338
ian@0 339 2.0.5 Aug 04, 1999 CHDLC initializatin bug fix.
ian@0 340 PPP interrupt driven driver:
ian@0 341 Fix to the PPP line hangup problem.
ian@0 342 New PPP firmware
ian@0 343 Added comments to the startup SYSTEM ERROR messages
ian@0 344 Xpipemon debugging application for the X25 protocol
ian@0 345 New USER_MANUAL.txt
ian@0 346 Fixed the odd boundary 4byte writes to the board.
ian@0 347 BiSync Streaming code has been taken out.
ian@0 348 Available as a patch.
ian@0 349 Streaming HDLC API has been taken out.
ian@0 350 Available as a patch.
ian@0 351
ian@0 352 2.0.6 Aug 17, 1999 Increased debugging in statup scripts
ian@0 353 Fixed insallation bugs from 2.0.5
ian@0 354 Kernel patch works for both 2.2.10 and 2.2.11 kernels.
ian@0 355 There is no functional difference between the two packages
ian@0 356
ian@0 357 2.0.7 Aug 26, 1999 o Merged X25API code into WANPIPE.
ian@0 358 o Fixed a memory leak for X25API
ian@0 359 o Updated the X25API code for 2.2.X kernels.
ian@0 360 o Improved NEM handling.
ian@0 361
ian@0 362 2.1.0 Oct 25, 1999 o New code for S514 PCI Card
ian@0 363 o New CHDLC and Frame Relay drivers
ian@0 364 o PPP and X25 are not supported in this release
ian@0 365
ian@0 366 2.1.1 Nov 30, 1999 o PPP support for S514 PCI Cards
ian@0 367
ian@0 368 2.1.3 Apr 06, 2000 o Socket based x25api
ian@0 369 o Socket based chdlc api
ian@0 370 o Socket based fr api
ian@0 371 o Dual Port Receive only CHDLC support.
ian@0 372 o Asynchronous CHDLC support (Secondary Port)
ian@0 373 o cfgft1 GUI csu/dsu configurator
ian@0 374 o wancfg GUI configuration file
ian@0 375 configurator.
ian@0 376 o Architectual directory changes.
ian@0 377
ian@0 378 beta-2.1.4 Jul 2000 o Dynamic interface configuration:
ian@0 379 Network interfaces reflect the state
ian@0 380 of protocol layer. If the protocol becomes
ian@0 381 disconnected, driver will bring down
ian@0 382 the interface. Once the protocol reconnects
ian@0 383 the interface will be brought up.
ian@0 384
ian@0 385 Note: This option is turned off by default.
ian@0 386
ian@0 387 o Dynamic wanrouter setup using 'wanconfig':
ian@0 388 wanconfig utility can be used to
ian@0 389 shutdown,restart,start or reconfigure
ian@0 390 a virtual circuit dynamically.
ian@0 391
ian@0 392 Frame Relay: Each DLCI can be:
ian@0 393 created,stopped,restarted and reconfigured
ian@0 394 dynamically using wanconfig.
ian@0 395
ian@0 396 ex: wanconfig card wanpipe1 dev wp1_fr16 up
ian@0 397
ian@0 398 o Wanrouter startup via command line arguments:
ian@0 399 wanconfig also supports wanrouter startup via command line
ian@0 400 arguments. Thus, there is no need to create a wanpipe#.conf
ian@0 401 configuration file.
ian@0 402
ian@0 403 o Socket based x25api update/bug fixes.
ian@0 404 Added support for LCN numbers greater than 255.
ian@0 405 Option to pass up modem messages.
ian@0 406 Provided a PCI IRQ check, so a single S514
ian@0 407 card is guaranteed to have a non-sharing interrupt.
ian@0 408
ian@0 409 o Fixes to the wancfg utility.
ian@0 410 o New FT1 debugging support via *pipemon utilities.
ian@0 411 o Frame Relay ARP support Enabled.
ian@0 412
ian@0 413 beta3-2.1.4 Jul 2000 o X25 M_BIT Problem fix.
ian@0 414 o Added the Multi-Port PPP
ian@0 415 Updated utilites for the Multi-Port PPP.
ian@0 416
ian@0 417 2.1.4 Aut 2000
ian@0 418 o In X25API:
ian@0 419 Maximum packet an application can send
ian@0 420 to the driver has been extended to 4096 bytes.
ian@0 421
ian@0 422 Fixed the x25 startup bug. Enable
ian@0 423 communications only after all interfaces
ian@0 424 come up. HIGH SVC/PVC is used to calculate
ian@0 425 the number of channels.
ian@0 426 Enable protocol only after all interfaces
ian@0 427 are enabled.
ian@0 428
ian@0 429 o Added an extra state to the FT1 config, kernel module.
ian@0 430 o Updated the pipemon debuggers.
ian@0 431
ian@0 432 o Blocked the Multi-Port PPP from running on kernels
ian@0 433 2.2.16 or greater, due to syncppp kernel module
ian@0 434 change.
ian@0 435
ian@0 436 beta1-2.1.5 Nov 15 2000
ian@0 437 o Fixed the MulitPort PPP Support for kernels 2.2.16 and above.
ian@0 438 2.2.X kernels only
ian@0 439
ian@0 440 o Secured the driver UDP debugging calls
ian@0 441 - All illegal netowrk debugging calls are reported to
ian@0 442 the log.
ian@0 443 - Defined a set of allowed commands, all other denied.
ian@0 444
ian@0 445 o Cpipemon
ian@0 446 - Added set FT1 commands to the cpipemon. Thus CSU/DSU
ian@0 447 configuraiton can be performed using cpipemon.
ian@0 448 All systems that cannot run cfgft1 GUI utility should
ian@0 449 use cpipemon to configure the on board CSU/DSU.
ian@0 450
ian@0 451
ian@0 452 o Keyboard Led Monitor/Debugger
ian@0 453 - A new utilty /usr/sbin/wpkbdmon uses keyboard leds
ian@0 454 to convey operatinal statistic information of the
ian@0 455 Sangoma WANPIPE cards.
ian@0 456 NUM_LOCK = Line State (On=connected, Off=disconnected)
ian@0 457 CAPS_LOCK = Tx data (On=transmitting, Off=no tx data)
ian@0 458 SCROLL_LOCK = Rx data (On=receiving, Off=no rx data
ian@0 459
ian@0 460 o Hardware probe on module load and dynamic device allocation
ian@0 461 - During WANPIPE module load, all Sangoma cards are probed
ian@0 462 and found information is printed in the /var/log/messages.
ian@0 463 - If no cards are found, the module load fails.
ian@0 464 - Appropriate number of devices are dynamically loaded
ian@0 465 based on the number of Sangoma cards found.
ian@0 466
ian@0 467 Note: The kernel configuraiton option
ian@0 468 CONFIG_WANPIPE_CARDS has been taken out.
ian@0 469
ian@0 470 o Fixed the Frame Relay and Chdlc network interfaces so they are
ian@0 471 compatible with libpcap libraries. Meaning, tcpdump, snort,
ian@0 472 ethereal, and all other packet sniffers and debuggers work on
ian@0 473 all WANPIPE netowrk interfaces.
ian@0 474 - Set the network interface encoding type to ARPHRD_PPP.
ian@0 475 This tell the sniffers that data obtained from the
ian@0 476 network interface is in pure IP format.
ian@0 477 Fix for 2.2.X kernels only.
ian@0 478
ian@0 479 o True interface encoding option for Frame Relay and CHDLC
ian@0 480 - The above fix sets the network interface encoding
ian@0 481 type to ARPHRD_PPP, however some customers use
ian@0 482 the encoding interface type to determine the
ian@0 483 protocol running. Therefore, the TURE ENCODING
ian@0 484 option will set the interface type back to the
ian@0 485 original value.
ian@0 486
ian@0 487 NOTE: If this option is used with Frame Relay and CHDLC
ian@0 488 libpcap library support will be broken.
ian@0 489 i.e. tcpdump will not work.
ian@0 490 Fix for 2.2.x Kernels only.
ian@0 491
ian@0 492 o Ethernet Bridgind over Frame Relay
ian@0 493 - The Frame Relay bridging has been developed by
ian@0 494 Kristian Hoffmann and Mark Wells.
ian@0 495 - The Linux kernel bridge is used to send ethernet
ian@0 496 data over the frame relay links.
ian@0 497 For 2.2.X Kernels only.
ian@0 498
ian@0 499 o Added extensive 2.0.X support. Most new features of
ian@0 500 2.1.5 for protocols Frame Relay, PPP and CHDLC are
ian@0 501 supported under 2.0.X kernels.
ian@0 502
ian@0 503 beta1-2.2.0 Dec 30 2000
ian@0 504 o Updated drivers for 2.4.X kernels.
ian@0 505 o Updated drivers for SMP support.
ian@0 506 o X25API is now able to share PCI interrupts.
ian@0 507 o Took out a general polling routine that was used
ian@0 508 only by X25API.
ian@0 509 o Added appropriate locks to the dynamic reconfiguration
ian@0 510 code.
ian@0 511 o Fixed a bug in the keyboard debug monitor.
ian@0 512
ian@0 513 beta2-2.2.0 Jan 8 2001
ian@0 514 o Patches for 2.4.0 kernel
ian@0 515 o Patches for 2.2.18 kernel
ian@0 516 o Minor updates to PPP and CHLDC drivers.
ian@0 517 Note: No functional difference.
ian@0 518
ian@0 519 beta3-2.2.9 Jan 10 2001
ian@0 520 o I missed the 2.2.18 kernel patches in beta2-2.2.0
ian@0 521 release. They are included in this release.
ian@0 522
ian@0 523 Stable Release
ian@0 524 2.2.0 Feb 01 2001
ian@0 525 o Bug fix in wancfg GUI configurator.
ian@0 526 The edit function didn't work properly.
ian@0 527
ian@0 528
ian@0 529 bata1-2.2.1 Feb 09 2001
ian@0 530 o WANPIPE TTY Driver emulation.
ian@0 531 Two modes of operation Sync and Async.
ian@0 532 Sync: Using the PPPD daemon, kernel SyncPPP layer
ian@0 533 and the Wanpipe sync TTY driver: a PPP protocol
ian@0 534 connection can be established via Sangoma adapter, over
ian@0 535 a T1 leased line.
ian@0 536
ian@0 537 The 2.4.0 kernel PPP layer supports MULTILINK
ian@0 538 protocol, that can be used to bundle any number of Sangoma
ian@0 539 adapters (T1 lines) into one, under a single IP address.
ian@0 540 Thus, efficiently obtaining multiple T1 throughput.
ian@0 541
ian@0 542 NOTE: The remote side must also implement MULTILINK PPP
ian@0 543 protocol.
ian@0 544
ian@0 545 Async:Using the PPPD daemon, kernel AsyncPPP layer
ian@0 546 and the WANPIPE async TTY driver: a PPP protocol
ian@0 547 connection can be established via Sangoma adapter and
ian@0 548 a modem, over a telephone line.
ian@0 549
ian@0 550 Thus, the WANPIPE async TTY driver simulates a serial
ian@0 551 TTY driver that would normally be used to interface the
ian@0 552 MODEM to the linux kernel.
ian@0 553
ian@0 554 o WANPIPE PPP Backup Utility
ian@0 555 This utility will monitor the state of the PPP T1 line.
ian@0 556 In case of failure, a dial up connection will be established
ian@0 557 via pppd daemon, ether via a serial tty driver (serial port),
ian@0 558 or a WANPIPE async TTY driver (in case serial port is unavailable).
ian@0 559
ian@0 560 Furthermore, while in dial up mode, the primary PPP T1 link
ian@0 561 will be monitored for signs of life.
ian@0 562
ian@0 563 If the PPP T1 link comes back to life, the dial up connection
ian@0 564 will be shutdown and T1 line re-established.
ian@0 565
ian@0 566
ian@0 567 o New Setup installation script.
ian@0 568 Option to UPGRADE device drivers if the kernel source has
ian@0 569 already been patched with WANPIPE.
ian@0 570
ian@0 571 Option to COMPILE WANPIPE modules against the currently
ian@0 572 running kernel, thus no need for manual kernel and module
ian@0 573 re-compilatin.
ian@0 574
ian@0 575 o Updates and Bug Fixes to wancfg utility.
ian@0 576
ian@0 577 bata2-2.2.1 Feb 20 2001
ian@0 578
ian@0 579 o Bug fixes to the CHDLC device drivers.
ian@0 580 The driver had compilation problems under kernels
ian@0 581 2.2.14 or lower.
ian@0 582
ian@0 583 o Bug fixes to the Setup installation script.
ian@0 584 The device drivers compilation options didn't work
ian@0 585 properly.
ian@0 586
ian@0 587 o Update to the wpbackupd daemon.
ian@0 588 Optimized the cross-over times, between the primary
ian@0 589 link and the backup dialup.
ian@0 590
ian@0 591 beta3-2.2.1 Mar 02 2001
ian@0 592 o Patches for 2.4.2 kernel.
ian@0 593
ian@0 594 o Bug fixes to util/ make files.
ian@0 595 o Bug fixes to the Setup installation script.
ian@0 596
ian@0 597 o Took out the backupd support and made it into
ian@0 598 as separate package.
ian@0 599
ian@0 600 beta4-2.2.1 Mar 12 2001
ian@0 601
ian@0 602 o Fix to the Frame Relay Device driver.
ian@0 603 IPSAC sends a packet of zero length
ian@0 604 header to the frame relay driver. The
ian@0 605 driver tries to push its own 2 byte header
ian@0 606 into the packet, which causes the driver to
ian@0 607 crash.
ian@0 608
ian@0 609 o Fix the WANPIPE re-configuration code.
ian@0 610 Bug was found by trying to run the cfgft1 while the
ian@0 611 interface was already running.
ian@0 612
ian@0 613 o Updates to cfgft1.
ian@0 614 Writes a wanpipe#.cfgft1 configuration file
ian@0 615 once the CSU/DSU is configured. This file can
ian@0 616 holds the current CSU/DSU configuration.
ian@0 617
ian@0 618
ian@0 619
ian@0 620 >>>>>> END OF README <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ian@0 621
ian@0 622