[ale] Re: how to use Two modems in linux(mandrake 7.1) or what ever works.
Eric Z. Ayers
eric.ayers at mindspring.com
Tue Jun 20 21:05:55 EDT 2000
Hi Lee Roy, Arthur, Linux Gals and Guys,
The Atlanta Linux Enthusiasts is and always has been:
A forum for both new and experienced users of Linux.
And this list is an open forum at that. Unmoderated, uncensored,
untamed. Please feel free to post questions and answers. There are
no formal guidelines, but I would ask that you try to consult any
documentation you can find first, and when you get around to asking
your question, tell the group what documentation you've looked at and
what you've already tried, what error messages (if any) you are
getting and most people will be happy to help out.
Having said that, this isn't really a helpdesk either, it's just a
group of folks with a common interest trying to learn and have fun.
I am not without sin - I have been known to flame occasionally too,
but so far I see no egregious offenses warranting such. Please
remember that your conversations on this list are public and are
archived in a public place for anyone to read. A good guideline would
be to not say things you wouldn't want your future spouse or
grandchildren to read.
As far as multilink PPP goes, I have no experience and I missed part
of this thread.
A search for 'multilink ppp' turned up nothing on www.linuxdoc.org
turned up nothing. Ditto for linux.com but
I know there is something called 'EQL' that takes 2 lines and turns it
into one network link. Here's what I found under
/usr/src/linux/Documentation/eql.txt It is quite old. There is
another protocol I THOUGHT was called 'multilink ppp', but I can't
find anything about it.
Regards,
-Eric.
------------------------------------------------------------------------
EQL Driver: Serial IP Load Balancing HOWTO
Simon "Guru Aleph-Null" Janes, simon at ncm.com
v1.1, February 27, 1995
This is the manual for the EQL device driver. EQL is a software device
that lets you load-balance IP serial links (SLIP or uncompressed PPP)
to increase your bandwidth. It will not reduce your latency (i.e. ping
times) except in the case where you already have lots of traffic on
your link, in which it will help them out. This driver has been tested
with the 1.1.75 kernel, and is known to have patched cleanly with
1.1.86. Some testing with 1.1.92 has been done with the v1.1 patch
which was only created to patch cleanly in the very latest kernel
source trees. (Yes, it worked fine.)
1. Introduction
Which is worse? A huge fee for a 56K leased line or two phone lines?
It's probably the former. If you find yourself craving more bandwidth,
and have a ISP that is flexible, it is now possible to bind modems
together to work as one point-to-point link to increase your
bandwidth. All without having to have a special black box on either
side.
The eql driver has only been tested with the Livingston PortMaster-2e
terminal server. I do not know if other terminal servers support load-
balancing, but I do know that the PortMaster does it, and does it
almost as well as the eql driver seems to do it (-- Unfortunately, in
my testing so far, the Livingston PortMaster 2e's load-balancing is a
good 1 to 2 KB/s slower than the test machine working with a 28.8 Kbps
and 14.4 Kbps connection. However, I am not sure that it really is
the PortMaster, or if it's Linux's TCP drivers. I'm told that Linux's
TCP implementation is pretty fast though.--)
I suggest to ISPs out there that it would probably be fair to charge
a load-balancing client 75% of the cost of the second line and 50% of
the cost of the third line etc...
Hey, we can all dream you know...
2. Kernel Configuration
Here I describe the general steps of getting a kernel up and working
with the eql driver. From patching, building, to installing.
2.1. Patching The Kernel
If you do not have or cannot get a copy of the kernel with the eql
driver folded into it, get your copy of the driver from
ftp://slaughter.ncm.com/pub/Linux/LOAD_BALANCING/eql-1.1.tar.gz.
Unpack this archive someplace obvious like /usr/local/src/. It will
create the following files:
______________________________________________________________________
-rw-r--r-- guru/ncm 198 Jan 19 18:53 1995 eql-1.1/NO-WARRANTY
-rw-r--r-- guru/ncm 30620 Feb 27 21:40 1995 eql-1.1/eql-1.1.patch
-rwxr-xr-x guru/ncm 16111 Jan 12 22:29 1995 eql-1.1/eql_enslave
-rw-r--r-- guru/ncm 2195 Jan 10 21:48 1995 eql-1.1/eql_enslave.c
______________________________________________________________________
Unpack a recent kernel (something after 1.1.92) someplace convenient
like say /usr/src/linux-1.1.92.eql. Use symbolic links to point
/usr/src/linux to this development directory.
Apply the patch by running the commands:
______________________________________________________________________
cd /usr/src
patch </usr/local/src/eql-1.1/eql-1.1.patch
______________________________________________________________________
2.2. Building The Kernel
After patching the kernel, run make config and configure the kernel
for your hardware.
After configuration, make and install according to your habit.
3. Network Configuration
So far, I have only used the eql device with the DSLIP SLIP connection
manager by Matt Dillon (-- "The man who sold his soul to code so much
so quickly."--) . How you configure it for other "connection"
managers is up to you. Most other connection managers that I've seen
don't do a very good job when it comes to handling more than one
connection.
3.1. /etc/rc.d/rc.inet1
In rc.inet1, ifconfig the eql device to the IP address you usually use
for your machine, and the MTU you prefer for your SLIP lines. One
could argue that MTU should be roughly half the usual size for two
modems, one-third for three, one-fourth for four, etc... But going
too far below 296 is probably overkill. Here is an example ifconfig
command that sets up the eql device:
______________________________________________________________________
ifconfig eql 198.67.33.239 mtu 1006
______________________________________________________________________
Once the eql device is up and running, add a static default route to
it in the routing table using the cool new route syntax that makes
life so much easier:
______________________________________________________________________
route add default eql
______________________________________________________________________
3.2. Enslaving Devices By Hand
Enslaving devices by hand requires two utility programs: eql_enslave
and eql_emancipate (-- eql_emancipate hasn't been written because when
an enslaved device "dies", it is automatically taken out of the queue.
I haven't found a good reason to write it yet... other than for
completeness, but that isn't a good motivator is it?--)
The syntax for enslaving a device is "eql_enslave <master-name>
<slave-name> <estimated-bps>". Here are some example enslavings:
______________________________________________________________________
eql_enslave eql sl0 28800
eql_enslave eql ppp0 14400
eql_enslave eql sl1 57600
______________________________________________________________________
When you want to free a device from its life of slavery, you can
either down the device with ifconfig (eql will automatically bury the
dead slave and remove it from its queue) or use eql_emancipate to free
it. (-- Or just ifconfig it down, and the eql driver will take it out
for you.--)
______________________________________________________________________
eql_emancipate eql sl0
eql_emancipate eql ppp0
eql_emancipate eql sl1
______________________________________________________________________
--
To unsubscribe: mail majordomo at ale.org with "unsubscribe ale" in message body.
More information about the Ale
mailing list