IPVS
IPVS (IP Virtual Server) implements transport-layer load balancing inside the Linux kernel, so called Layer-4 switching. IPVS running on a host acts as a load balancer at the front of a cluster of real servers, it can direct requests for TCP/UDP based services to the real servers, and makes services of the real servers to appear as a virtual service on a single IP address.
The IP Virtual Server Netfilter module for kernel 2.6
Status: The ipvs 1.2.1 is the latest stable version, it is in the official kernel 2.6.10 released on December 24, 2004.
IPv6 support for IPVS was included in the Linux kernel 2.6.28-rc3 on November 2, 2008. See the wiki page of IPv6 load balancing for the status of IPv6 support.
Go to http://kernel.org/ to get a clean copy of kernel 2.6.10 or later, and download the ipvsadm utility at https://www.kernel.org/pub/linux/utils/kernel/ipvsadm/ to administer the IP Virtual Server inside the Linux kernel. See the article Compiling ipvsadm on different Linux distributions at wiki.
Your testings, comments and bug report/fixes are very welcome. The ChangeLog is available here.
- ipvsadm-1.26-1.src.rpm (for kernel 2.6.28-rc3 or later) - February 8, 2011
- ipvsadm-1.26.tar.gz (for kernel 2.6.28-rc3 or later) - February 8, 2011
- ipvsadm-1.25-1.src.rpm (for kernel 2.6.28-rc3 or later) - November 5, 2008
- ipvsadm-1.25.tar.gz (for kernel 2.6.28-rc3 or later) - November 5, 2008
- ipvsadm-1.24-6.src.rpm (for kernel between 2.6.10 and 2.6.27.4) - December 10, 2005
- ipvsadm-1.24-5.src.rpm (for 1.2.0 or later) - October 27, 2004
- ipvsadm-1.24-4.src.rpm (for 1.1.8 or later) - January 10, 2004
- ipvsadm-1.24-3.src.rpm (for 1.1.8 or later) - December 20, 2003
- ipvsadm-1.24.tar.gz - December 10, 2005
The IP Virtual Server Netfilter module for kernel 2.5
Status: The ipvs 1.1.x is development version for kernel 2.5.
Your testings, comments and bug report/fixes are very welcome. The ChangeLog is available here.
If you like a single kernel patch, you don't need to download the tar ball, just download a kernel patch and a separate ipvsadm srpm here.
The 1.1.x development branch
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.7 - July 5, 2003
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.6 - June 8, 2003
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.5 - May 10, 2003
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.4 - April 18, 2003
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.3 - March 22, 2003
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.2 - December 19, 2002
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.1 - November 30, 2002
- The IPVS Netfilter module for kernel 2.5 - Version 1.1.0 - September 15, 2002
- linux-2.5.74-ipvs-1.1.7.patch.gz - July 5, 2003
- linux-2.5.70-ipvs-1.1.6.patch.gz - June 8, 2003
- linux-2.5.69-ipvs-1.1.5.patch.gz - May 10, 2003
- linux-2.5.66-ipvs-1.1.4.patch.gz - April 18, 2003
- linux-2.5.65-ipvs-1.1.3.patch.gz - March 22, 2003
- linux-2.5.52-ipvs-1.1.2.patch.gz - December 19, 2002
- linux-2.5.50-ipvs-1.1.1.patch.gz - December 1, 2002
- ipvsadm-1.24-2.src.rpm (for 1.1.6 or later) - July 5, 2003
- ipvsadm-1.24-1.src.rpm (for 1.1.6 or later) - June 8, 2003
- ipvsadm-1.23-2.src.rpm (for 1.1.5 or later) - May 10, 2003
- ipvsadm-1.23-1.src.rpm (for 1.1.4 or later) - April 18, 2003
- ipvsadm-1.22-4.src.rpm (for 1.1.1 or later) - March 22, 2003
- ipvsadm-1.22-3.src.rpm (for 1.1.1 or later) - December 19, 2002
- ipvsadm-1.24.tar.gz - July 5, 2003
- ipvsadm-1.23.tar.gz - May 10, 2003
- ipvsadm-1.22.tar.gz - March 22, 2003
The IP Virtual Server Netfilter module for kernel 2.4
Status: If you want to ipvs for kernel 2.4 in production, we highly recommend you to use stable version 1.0.x. The version 0.9.x was for development, and 0.8.x was old stable version.
The ipvs 1.0.12 was in the offical Linux kernel 2.4.28 released on November 17, 2004. It has one bug fix.
Your testings, comments and bug report/fixes are very welcome. The ChangeLog is available here.
If you want to use ipvs 1.0.12, go to http://kernel.org/ to download a clean copy of kernel 2.4.28 or later, and download the ipvsadm utility here to administer the IP Virtual Server inside the Linux kernel. See the article Compiling ipvsadm on different Linux distributions at wiki.
If you like a single kernel patch, you don't need to download the tar ball, just download a kernel patch and a separate ipvsadm srpm here.
The 1.0.x stable branch
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.10 - August 10, 2003
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.10rc2 - July 27, 2003
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.10rc1 - July 20, 2003
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.9 - May 21, 2003
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.8 - April 11, 2003
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.7 - November 14, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.6 - August 17, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.5 - August 10, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.4 - July 11, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.3 - May 30, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.2 - April 3, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.1 - March 25, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 1.0.0 - February 27, 2002
- linux-2.4.21-ipvs-1.0.10.patch.gz - August 10, 2003
- linux-2.4.20-ipvs-1.0.9.patch.gz - May 21, 2003
- linux-2.4.20-ipvs-1.0.8.patch.gz - April 11, 2003
- linux-2.4.19-ipvs-1.0.7.patch.gz - November 18, 2002
- linux-2.4.19-ipvs-1.0.6.patch.gz - August 18, 2002
- linux-2.4.19-ipvs-1.0.5.patch.gz - August 10, 2002
- linux-2.4.18-ipvs-1.0.4.patch.gz - July 11, 2002
- linux-2.4.18-ipvs-1.0.3.patch.gz - May 30, 2002
- linux-2.4.18-ipvs-1.0.2.patch.gz - April 3, 2002
- linux-2.4.18-ipvs-1.0.1.patch.gz - March 25, 2002
- linux-2.4.18-ipvs-1.0.0.patch.gz - February 27, 2002
- ipvsadm-1.21-11.src.rpm (for 1.0.12 or later) - January 22, 2005
- ipvsadm-1.21-10.src.rpm (for 1.0.4 or later) - October 27, 2004
- ipvsadm-1.21-9.src.rpm (for 1.0.4 or later) - January 10, 2004
- ipvsadm-1.21-8.src.rpm (for 1.0.4 or later) - November 2, 2003
- ipvsadm-1.21-7.src.rpm (for 1.0.4 or later) - July 13, 2003
- ipvsadm-1.21-6.src.rpm (for 1.0.4 or later) - May 21, 2003
- ipvsadm-1.21-5.src.rpm (for 1.0.4 or later) - April 29, 2003
- ipvsadm-1.21-4.src.rpm (for 1.0.4 or later) - April 11, 2003
- ipvsadm-1.21-3.src.rpm (for 1.0.4 or later) - November 14, 2002
- ipvsadm-1.21-2.src.rpm (for 1.0.4 or later) - August 10, 2002
- ipvsadm-1.21-1.src.rpm (for 1.0.4 or later) - July 11, 2002
- ipvsadm-1.20-7.src.rpm (for 0.9.7 to 1.0.3) - May 30, 2002
- ipvsadm-1.20-6.src.rpm (for 0.9.7 to 1.0.3) - March 25, 2002
- ipvsadm-1.20-5.src.rpm (for 0.9.7 to 1.0.3) - January 24, 2002
- ipvsadm-1.21-11.tar.gz - January 22, 2005
- ipvsadm-1.21.tar.gz - October 27, 2004
- ipvsadm-1.20.tar.gz - May 30, 2002
The 0.9.x development branch
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.10 - January 31, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.9 - January 24, 2002
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.8 - December 11, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.7 - November 23, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.6 - November 4, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.5 - October 19, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.4 - September 18, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.3 - August 27, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.2 - June 20, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.1 - June 4, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.9.0 - May 10, 2001
- linux-2.4.17-ipvs-0.9.10.patch.gz - January 31, 2002
- linux-2.4.17-ipvs-0.9.9.patch.gz - January 24, 2002
- linux-2.4.16-ipvs-0.9.8.patch.gz - December 11, 2001
- linux-2.4.15-ipvs-0.9.7.patch.gz - November 24, 2001
- linux-2.4.13-ipvs-0.9.6.patch.gz - November 5, 2001
- linux-2.4.12-ipvs-0.9.5.patch.gz - October 20, 2001
- linux-2.4.9-ipvs-0.9.4.patch.gz - September 19, 2001
- linux-2.4.9-ipvs-0.9.3.patch.gz - August 27, 2001
- linux-2.4.5-ipvs-0.9.2.patch.gz - June 20, 2001
-
linux-2.4.5-ipvs-0.9.1.patch.gz - June 12, 2001
- ipvsadm-1.20-5.src.rpm (for 0.9.7 to 1.0.3) - January 24, 2002
- ipvsadm-1.20-4.src.rpm (for 0.9.7 to 1.0.3) - November 24, 2001
- ipvsadm-1.20-3.src.rpm (for 0.9.6) - November 4, 2001
- ipvsadm-1.20-2.src.rpm (for 0.9.5) - October 19, 2001
- ipvsadm-1.20-1.src.rpm (for 0.9.4) - September 18, 2001
- ipvsadm-1.19-1.src.rpm (for 0.9.3) - August 27, 2001
- ipvsadm-1.18-2.src.rpm (for 0.9.2) - June 23, 2001
- ipvsadm-1.18-1.src.rpm (for 0.9.2) - June 20, 2001
- ipvsadm-1.18.tar.gz - June 23, 2001
The 0.8.x stable branch
- The IPVS Netfilter module for kernel 2.4 - Version 0.8.2 - October 23, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.8.1 - June 22, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.8.0 - May 9, 2001
- linux-2.4.12-ipvs-0.8.2.patch.gz - October 24, 2001
- linux-2.4.5-ipvs-0.8.1.patch.gz - June 24, 2001
-
linux-2.4.4-ipvs-0.8.0.patch.gz - May 9, 2001
- ipvsadm-1.17-2.src.rpm - June 22, 2001
- ipvsadm-1.17-1.src.rpm - March 24, 2001
- ipvsadm-1.17.tar.gz - June 22, 2001
The old development versions
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.12 - May 5, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.11 - April 20, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.10 - April 19, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.9 - April 12, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.8 - April 4, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.7 - March 22, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.6 - March 18, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.5 - February 23, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.4 - February 15, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.3 - January 29, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.2 - January 26, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.1 - January 15, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.2.0 - January 10, 2001
- The IPVS Netfilter module for kernel 2.4 - Version 0.1.2 - December 19, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.1.1 - November 30, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.1.0 - November 26, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.0.5 - September 6, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.0.4 - July 30, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.0.3 - July 6, 2000
- The IPVS Netfilter module for kernel 2.4 - Version 0.0.1 - May 31st, 2000
- linux-2.4.4-ipvs-0.2.12.patch.gz - May 5, 2001
- linux-2.4.3-ipvs-0.2.11.patch.gz - April 20, 2001
- linux-2.4.3-ipvs-0.2.9.patch.gz - April 13, 2001
- linux-2.4.3-ipvs-0.2.8.patch.gz - April 4, 2001
- linux-2.4.2-ipvs-0.2.7.patch.gz - March 24, 2001
The IP Virtual Server patch for kernel 2.2
The IP Virtual Server patch status: The IP Virtual Server patch version 1.0.8 is a stable version for production. The virtual server patch v0.9.13+ for kernel 2.2 are also stable, but may be lack of some features. The ChangeLog is available here.
- The IPVS patch for Linux 2.2.19 - Version 1.0.8 - May 14, 2001
- The IPVS patch for Linux 2.2.19 - Version 1.0.7 - April 19, 2001
- The IPVS patch for Linux 2.2.19 - Version 1.0.6 - March 27, 2001
- The IPVS patch for Linux 2.2.18 - Version 1.0.5 - February 8, 2001
- The IPVS patch for Linux 2.2.18 - Version 1.0.4 - February 2, 2001
- The IPVS patch for Linux 2.2.18 - Version 1.0.3 - December 30, 2000
- The IPVS patch for Linux 2.2.18 - Version 1.0.2 - December 17, 2000
- The IPVS patch for Linux 2.2.17 - Version 1.0.2 - December 3, 2000
- The IPVS patch for Linux 2.2.17 - Version 1.0.1 - November 23, 2000
- The IPVS patch for Linux 2.2.17 - Version 1.0.0 - November 16, 2000
- The IPVS patch for Linux 2.2.17 - Version 1.0.0beta1 - November 2, 2000
- The IPVS patch for Linux 2.2.17 - Version 0.9.16 - September 5, 2000
- The IPVS patch for Linux 2.2.16 - Version 0.9.15 - June 28, 2000
- The IPVS patch for Linux 2.2.16 - Version 0.9.14 - June 17, 2000
- The IPVS patch for Linux 2.2.15 - Version 0.9.13 - May 25, 2000
- The IPVS patch for Linux 2.2.15 - Version 0.9.12 - May 10, 2000
- The IPVS patch for Linux 2.2.14 - Version 0.9.12 - May 2, 2000
- The IPVS patch for Linux 2.2.14 - Version 0.9.11 - April 17, 2000
- The IPVS patch for Linux 2.2.14 - Version 0.9.10 - April 9, 2000
Here is the little patch to fix the bug about trash lookup and new destination for fwmark service. - The IPVS patch for Linux 2.2.14 - Version 0.9.9 - March 16, 2000
- The IPVS patch for Linux 2.2.14 - Version 0.9.8 - March 13, 2000
- The IPVS patch for Linux 2.2.14 - Version 0.9.7 - January 19, 2000
Here is a little patch to fix negative counter bug for persistent services. - The IPVS patch for Linux 2.2.13 - Version 0.9.7 - December 22, 1999
- The IPVS patch for Linux 2.2.13 - Version 0.9.6 - December 7, 1999
- The IPVS patch for Linux 2.2.13 - Version 0.9.5 - November 28, 1999
- The IPVS patch for Linux 2.2.13 - Version 0.9.4 - November 10, 1999
- The IPVS patch for Linux 2.2.13 - Version 0.9.3 - November 7, 1999
- The IPVS patch for Linux 2.2.12 - Version 0.9.2 - October 17, 1999
- The IPVS patch for Linux 2.2.12 - Version 0.9.1 - October 6, 1999
- The IPVS patch for Linux 2.2.12 - Version 0.9.0 - September 24, 1999
- The IPVS patch for Linux 2.2.12 - Version 0.8.3 - September 8, 1999
The SRPMS and tar ball of ipvsadm are available for ipvs-0.9.10 (kernel 2.2) or later (already included in the ipvs tar ball)
- ipvsadm-1.15-1.src.rpm
- ipvsadm-1.14-1.src.rpm
- ipvsadm-1.13-1.src.rpm
- ipvsadm-1.12-1.src.rpm
- ipvsadm-1.11-4.src.rpm
- ipvsadm-1.15.tar.gz
- ipvsadm-1.14.tar.gz
- ipvsadm-1.13.tar.gz
- ipvsadm-1.12.tar.gz
- ipvsadm-1.11.tar.gz
The IPVS patch for kernel 2.0
Note that the IP virtual server patch for kernel 2.0 is a little bit old.
- the IPVS patch for Linux 2.0 - Version 0.9 - May 1, 1999
- the IPVS patch for Linux 2.0 - Version 0.8 - March 6, 1999
Source code via Subversion
What's Subversion? Subversion is a system for revision control, and is designed to be a modern replacement of CVS. Start at subversion.tigris.org to learn more and read the Subversion Book.
The ipvs kernel code was already included in kernel 2.4 and 2.6. The source code of ipvsadm is available via Subversion. Anyone can check out the sources via Subversion, but only certain people have the ability to check in.
To browse around or download a few individual files, click http://svn.linuxvirtualserver.org/repos/ipvsadm/.
To check out the sources, you need to be running Subversion client. For example, you can enter the following commands for checking out the latest source code of ipvsadm:
svn co http://svn.linuxvirtualserver.org/repos/ipvsadm/trunk/ ipvsadm
To check out ipvsadm source code for kernel 2.4, need to use the branch "ipvs-1-0-stable" in the Subversion checkout command.
svn co http://svn.linuxvirtualserver.org/repos/ipvsadm/branches/ipvs-1-0-stable/ ipvsadm
Once you've checked out a copy of the source tree, you can update your source tree at any time so it is in sync with the latest one by running the command:
svn update
If you make some changes of the source code, please generate the diff file and submit it to the mailing list or me for inclusion.
svn diff