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

Virtual Server Patch - Version 0.9pre1 - April 19, 1999

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

The ippfvs is port forwarding & virtual server program in Linux kernel,
which can be used to build a high-performance and highly available
server. Check out ippfvs's home page (Linux Virtual Server Project)
on the World Wide Web
	http://proxy.iinchina.net/~wensong/ippfvs/
for the most recent information and original sources about ippfvs and
recent kernel(if any).

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

This patch (Version 0.9) is for the Linux kernel 2.0.36. This is the 3rd
final beta version.:-) If I hear from users that it is stable, it will
be jumped to the verstion 1.0. So, if you make virtual server work
for you, give me a message.:-) 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 are as follows: cd /usr/src/linux; 
cat <path-name>/patch-vs-2.0.36 | 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: forwarding/gatewaying
        ....
        [*] IP: firewalling
        ....
        [*] IP: masquerading
        ....
        [*] IP: ipportfw masq & virtual server support
Virtual server scheduling algorithm---
	(X) WeightedRoundRobin
	( ) LeastConnection
	( ) WeightedLeastConnection

        [ ] IP: enabling ippfvs using IP tunneling
	[ ] IP: enabling ippfvs with the local node feature
Finally, rebuild the kernel via "make dep; make clean; make zImage". Once
you have your kernel properly built, update your system kernel and reboot.
Note that if the ippfvs is enabled to use IP tunneling, it requires all
the servers must be configured with "ifconfig tunl0 <Virtual IP Address>",
this can greatly increase the scalability of virtual server. The local
node feature can make that the LinuxDiretor can not only redirect packets
to other servers, but also process packets locally. Thank Peter Kese 
<peter.kese@ijs.si> for idea of "Two node Virtual Server"

Please visit the URL above for how to build an appropriate kernel for you
and how to apply it. :-)

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 mail to
	majordomo@iinchina.net
with the body of "subscribe linux-virtualserver".


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.

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