aboutsummaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorNilton Moura <nmoura@nmoura.eti.br>2010-09-10 09:57:26 -0400
committerdsomero <xgizzmo@slackbuilds.org>2010-09-10 09:57:26 -0400
commitb4d4b7b05dc7dcaf073c1317b14d9a2ecb29ce54 (patch)
tree3ddf1a5508eac2109f699cfd1aa1926709b90fc8 /network
parent9d32da8f9923d608c23e040f44c1971b9a57dcfe (diff)
network/vrrpd: Added (Virtual Router Redundancy Protocol)
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
Diffstat (limited to 'network')
-rw-r--r--network/vrrpd/README34
-rw-r--r--network/vrrpd/slack-desc19
-rw-r--r--network/vrrpd/vrrpd.SlackBuild94
-rw-r--r--network/vrrpd/vrrpd.info10
4 files changed, 157 insertions, 0 deletions
diff --git a/network/vrrpd/README b/network/vrrpd/README
new file mode 100644
index 0000000000000..9dbf7a280e9b7
--- /dev/null
+++ b/network/vrrpd/README
@@ -0,0 +1,34 @@
+VRRP daemon (vrrpd) is an RFC 2338 compliant implementation of the
+Virtual Router Redundancy Protocol (VRRP). The Virtual Router Redundancy
+Protocol is designed to eliminate the single point of failure associated
+with statically routed networks by automatically providing failover using
+multiple LAN paths through alternate routers.
+
+As specified in RFC 2338, VRRP uses an election protocol that dynamically
+assigns responsibility for a virtual router to one of the VRRP routers on
+a LAN. When a VRRP router controls the IP address(es) associated with a
+virtual router, it is called the Master. The Master continues to forward
+packets sent to these IP addresses until it has a problem that causes the
+VRRP routers to hold an election. The election process provides dynamic
+failover by electing a new Master should the existing Master become
+unavailable.
+
+The virtual router associated with each alternate path under VRRP uses the
+same IP address and MAC address as the routers for other paths. As a result,
+the host's gateway information does not change, no matter what path is used.
+Because of this design, VRRP-based redundancy significantly reduces
+administrative overhead when compared to redundancy schemes that require
+hosts to be configured with multiple default gateways.
+
+The primary function of the Virtual Router Redundancy Protocol is to provide
+routing redundancy for specific IP addresses. In addition to this primary
+function, RFC 2338 also states that the protocol should:
+
+ * Minimize the duration of black holes.
+ * Minimize the steady state bandwidth overhead and processing complexity.
+ * Function over a variety of multiaccess LAN technologies that support IP
+ traffic.
+ * Provide for election of multiple virtual routers on a network for load
+ balancing.
+ * Support multiple logical IP subnets on a single LAN segment.
+
diff --git a/network/vrrpd/slack-desc b/network/vrrpd/slack-desc
new file mode 100644
index 0000000000000..beddb74b26fce
--- /dev/null
+++ b/network/vrrpd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler----------------------------------------------------|
+vrrpd: vrrpd (Virtual Router Redundancy Protocol)
+vrrpd:
+vrrpd: VRRPd is an implementation of Virtual Router Redundancy Protocol
+vrrpd: as specified in rfc2338. VRRPd is interoperable with other RFC-based
+vrrpd: VRRP implementations, including Cisco and Juniper, and is included
+vrrpd: as a standard feature on ImageStream routers.
+vrrpd:
+vrrpd: Homepage: http://sourceforge.net/projects/vrrpd/
+vrrpd:
+vrrpd:
+vrrpd:
diff --git a/network/vrrpd/vrrpd.SlackBuild b/network/vrrpd/vrrpd.SlackBuild
new file mode 100644
index 0000000000000..32c8c30333afa
--- /dev/null
+++ b/network/vrrpd/vrrpd.SlackBuild
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+# Slackware build script for vrrpd
+
+# Copyright 2010 Nilton Moura, Rio de Janeiro, RJ, Brasil
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=vrrpd
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+make
+mkdir -p $PKG/usr/man/man8 $PKG/usr/sbin
+cp -a vrrpd $PKG/usr/sbin
+cp -a vrrpd.8 $PKG/usr/man/man8
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ Changes FAQ INSTALL TODO doc/draft-ietf-vrrp-spec-v2-05.txt \
+ doc/draft-jou-duplicate-ip-address-02.txt doc/rfc2338.txt.vrrp \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/network/vrrpd/vrrpd.info b/network/vrrpd/vrrpd.info
new file mode 100644
index 0000000000000..8fc8d247d90f0
--- /dev/null
+++ b/network/vrrpd/vrrpd.info
@@ -0,0 +1,10 @@
+PRGNAM="vrrpd"
+VERSION="1.0"
+HOMEPAGE="http://sourceforge.net/projects/vrrpd/"
+DOWNLOAD="http://sourceforge.net/projects/vrrpd/files/vrrpd/1.0/vrrpd-1.0.tar.gz"
+MD5SUM="6d5066ea1a6ced817376ca0f54765447"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Nilton Moura"
+EMAIL="nmoura@nmoura.eti.br"
+APPROVED="dsomero"