README of IP Virtual Server Patch for Linux 2.2
-----------------------------------------------------------------------

Virtual Server Patch for Linux 2.2.16 - Version 0.9.15 - June 17, 2000

Copyright (c) 1998,1999,2000 by Wensong Zhang, Peter Kese.
This is free software.  See below for details.

The ipvs is IP Virtual Server support in Linux kernel, which can be
used to build a high-performance and highly available server. Check
out the Linux Virtual Server Project homepage on the World Wide Web:
	http://www.linuxvirtualserver.org/
	or
	http://www.linux-vs.org/
for the most recent information and original sources about IPVS.

This patch (Version 0.9.15) is for the Linux kernel 2.2.16. See the
ChangeLog for how the code has been improved and what new features it
has now.

To rebuild a Linux kernel with virtual server support, first get a
clean copy of the Linux kernel source of the right version and apply
the patch to the kernel. The commands can be as follows:
	cd /usr/src/linux
	cat <path-name>/ipvs-0.9.15-2.2.16.patch | patch -p1 

Then make sure the following kernel compile options at least are
selected via "make menuconfig" or "make xconfig".

Kernel Compile Options:

Code maturity level options ---
	[*] Prompt for development and/or incomplete code/drivers
Networking options ---
        [*] Network firewalls
        ....
        [*] IP: firewalling
        ....
        [*] IP: masquerading
        ....
        [*] IP: masquerading virtual server support
	(12) IP masquerading table size (the Nth power of 2)
	< > IPVS: round-robin scheduling
	< > IPVS: weighted round-robin scheduling
	< > IPVS: least-connection scheduling
	< > IPVS: weighted least-connection scheduling
	....
	[*] IP: aliasing support

Note that you can compile scheduling algorithms in kernel or as
modules.

Finally, rebuild the kernel. Once you have your kernel properly built,
update your system kernel and reboot.

Note that We also call the Linux box running ipvs LinuxDirector. Thank
Robert Thomas <rob@rpi.net.au> for this name, I love it. :-)

There are three request dispatching techniques existing together in
the  LinuxDirector, and there are also four scheduling algorithms
implemented.  Both the VS via IP Tunneling and the VS via Direct
Routing can greatly  increase the scalability of virtual server. If
the VS-Tunneling is selected, it requires that the servers must be
configured with
  ifconfig tunl0 <Virtual IP Address> netmask 255.255.255.255
If the VS-DRouting is chosen, it requires that the servers must be
configured with the following command:
  ifconfig lo:0 <Virtual IP Address> netmask 255.255.255.255
  or
  ifconfig dummy0 <Virtual IP Address> netmask 255.255.255.255 (for
Linux) The localnode feature can make that the LinuxDiretor can not
only redirect packets to other servers, but also process packets
locally. Please go to the website for information in detail.

Thanks must go to other contributors, check the CREDITS file to know
who they are.

There is a mailing list for virtual server. You are welcome to talk
about building the virtual server kernel, using the virtual server and
making the virtual server better there. :-) To subscribe, send a
message to
  lvs-users-subscribe@linuxvirtualserver.org


Wensong Zhang <wensong@iinchina.net>


--------------------------------------------------------------------

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 of the License, 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.

--------------------------------------------------------------------
