diff options
author | Norikatsu Shigemura <nork@FreeBSD.org> | 2002-05-16 10:26:39 +0000 |
---|---|---|
committer | Norikatsu Shigemura <nork@FreeBSD.org> | 2002-05-16 10:26:39 +0000 |
commit | 833c9d2bebd8cee334b9665349418d96db166a40 (patch) | |
tree | aa871d2eec897b27ca026ec8d05d403aacd8139e /net/loadd | |
parent | Add new ports. (diff) |
Add new ports.
PR: ports/37661
Submitted by: Alex Dupre <sysadmin@alexdupre.com>
Approved by: knu (mentor)
Diffstat (limited to 'net/loadd')
-rw-r--r-- | net/loadd/Makefile | 42 | ||||
-rw-r--r-- | net/loadd/distinfo | 1 | ||||
-rw-r--r-- | net/loadd/files/010.loadd.sh | 35 | ||||
-rw-r--r-- | net/loadd/files/patch-Makefile | 29 | ||||
-rw-r--r-- | net/loadd/files/patch-define.h | 11 | ||||
-rw-r--r-- | net/loadd/files/patch-main.c | 11 | ||||
-rw-r--r-- | net/loadd/pkg-comment | 1 | ||||
-rw-r--r-- | net/loadd/pkg-descr | 23 | ||||
-rw-r--r-- | net/loadd/pkg-message.in | 14 | ||||
-rw-r--r-- | net/loadd/pkg-plist | 8 |
10 files changed, 175 insertions, 0 deletions
diff --git a/net/loadd/Makefile b/net/loadd/Makefile new file mode 100644 index 000000000000..8b1ad2dff701 --- /dev/null +++ b/net/loadd/Makefile @@ -0,0 +1,42 @@ +# New ports collection makefile for: loadd +# Date created: Thu May 2 11:20:06 CET 2002 +# Whom: Alex Dupre <sysadmin@alexdupre.com> +# +# $FreeBSD$ +# + +PORTNAME= loadd +PORTVERSION= 0.8 +CATEGORIES= net sysutils +MASTER_SITES= http://www.bsdshell.net/download/ + +MAINTAINER= sysadmin@alexdupre.com + +LIB_DEPENDS= glib12.3:${PORTSDIR}/devel/glib12 + +DOCS= INSTALL LICENSE README TODO +PKGMESSAGE= ${WRKDIR}/pkg-message + +MAKE_ENV+= CPPFLAGS="-DPREFIX=\\\"${PREFIX}\\\"" +MAKE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" PTHREAD_LIBS="${PTHREAD_LIBS}" + +post-build: + @${SED} 's,%%PREFIX%%,${PREFIX},g' ${.CURDIR}/pkg-message.in \ + > ${WRKDIR}/pkg-message + +do-install: + @${ECHO_CMD} "Installing files..." + @${INSTALL_PROGRAM} ${WRKSRC}/loadd ${PREFIX}/libexec/ + @${INSTALL_SCRIPT} ${FILESDIR}/010.loadd.sh ${PREFIX}/etc/rc.d/ + @${INSTALL_DATA} ${WRKSRC}/loadd.conf ${PREFIX}/etc/loadd.conf.sample + @${CAT} ${PKGMESSAGE} + +.if !defined(NOPORTDOCS) +post-install: + @${MKDIR} ${DOCSDIR} +.for f in ${DOCS} + @${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} +.endfor +.endif + +.include <bsd.port.mk> diff --git a/net/loadd/distinfo b/net/loadd/distinfo new file mode 100644 index 000000000000..6d3a6b79d283 --- /dev/null +++ b/net/loadd/distinfo @@ -0,0 +1 @@ +MD5 (loadd-0.8.tar.gz) = c6cca2534bd987c4ef408033ebf1a0bd diff --git a/net/loadd/files/010.loadd.sh b/net/loadd/files/010.loadd.sh new file mode 100644 index 000000000000..a20c4440d37b --- /dev/null +++ b/net/loadd/files/010.loadd.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/${0##*/}\$"); then + echo "$0: Cannot determine the PREFIX" >&2 + exit 64 +fi + +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +case "$1" in +start) + case ${loadd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/loadd.conf && ${loadd_program:-${PREFIX}/libexec/loadd} ${loadd_flags:--d} && echo -n ' loadd' + ;; + esac + ;; +stop) + case ${loadd_enable:-NO} in + [Yy][Ee][Ss]) + [ -f ${PREFIX}/etc/loadd.conf ] && /usr/bin/killall loadd && echo -n ' loadd' + ;; + esac + ;; +*) + echo "Usage: `basename $0` {start|stop}" >&2 + ;; +esac + +exit 0 diff --git a/net/loadd/files/patch-Makefile b/net/loadd/files/patch-Makefile new file mode 100644 index 000000000000..4e80c30e23ec --- /dev/null +++ b/net/loadd/files/patch-Makefile @@ -0,0 +1,29 @@ +--- Makefile.orig Mon Nov 26 07:44:48 2001 ++++ Makefile Tue May 14 14:55:55 2002 +@@ -3,18 +3,21 @@ + + SRCS=main.c socket.c icmp.c conf.c threads.c network.c aliasing.c tri.c + OBJS=${SRCS:.c=.o} +-OPTS=-pthread -pipe -Wall -ansi -O2 -march=pentiumpro -fomit-frame-pointer -ffast-math ++OPTS=${CFLAGS} ${CPPFLAGS} -Wall -ansi + #DEBUG=-DDEBUG -DDEBUGALIAS #-DDEBUGHASHTABLE + #DEBUG=-DDEBUGMONITOR +-DEFINE=-D_THREAD_SAFE -D_REENTRANT +-LIBS=-L/usr/local/lib `glib12-config --libs` ++DEFINE=${PTHREAD_CFLAGS} ++LIBS=-L${PREFIX}/lib `glib12-config --libs` ${PTHREAD_LIBS} + INCLUDE=`glib12-config --cflags` ++CC?=cc ++ ++all: loadd + + loadd: ${OBJS} +- gcc ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} ${OBJS} -o loadd ${LIBS} ++ ${CC} ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} ${OBJS} -o loadd ${LIBS} + + .c.o: ${SRCS} +- gcc ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} -c $< ++ ${CC} ${INCLUDE} ${DEFINE} ${DEBUG} ${OPTS} -c $< + + clean: + rm -rf ${OBJS} loadd *.core *~ diff --git a/net/loadd/files/patch-define.h b/net/loadd/files/patch-define.h new file mode 100644 index 000000000000..8e8351247e59 --- /dev/null +++ b/net/loadd/files/patch-define.h @@ -0,0 +1,11 @@ +--- define.h.orig Tue Oct 2 22:43:20 2001 ++++ define.h Tue May 14 14:45:36 2002 +@@ -5,7 +5,7 @@ + #define MONITORINGPORT 8670 /* En UDP */ + #define PINGINTERVAL 60000000 + #define REFRESHTIMEOUT 1 +-#define CONFFILE "/usr/local/etc/loadd2.conf" ++#define CONFFILE PREFIX "/etc/loadd.conf" + #define CALC_CHECKSUM(acc, cksum) { \ + acc += cksum; \ + if (acc < 0) \ diff --git a/net/loadd/files/patch-main.c b/net/loadd/files/patch-main.c new file mode 100644 index 000000000000..8a5be982437d --- /dev/null +++ b/net/loadd/files/patch-main.c @@ -0,0 +1,11 @@ +--- main.c.orig Mon Nov 26 05:59:19 2001 ++++ main.c Tue May 14 14:46:25 2002 +@@ -270,7 +270,7 @@ + break; + } + if (! *conffile) +- strncpy(conffile, "/usr/local/etc/loadd.conf", sizeof(conffile) - 1); ++ strncpy(conffile, PREFIX "/etc/loadd.conf", sizeof(conffile) - 1); + argc -= optind; + argv += optind; + ht = loadd_main_init(conffile); diff --git a/net/loadd/pkg-comment b/net/loadd/pkg-comment new file mode 100644 index 000000000000..660ee4493631 --- /dev/null +++ b/net/loadd/pkg-comment @@ -0,0 +1 @@ +A Load Balancing Daemon diff --git a/net/loadd/pkg-descr b/net/loadd/pkg-descr new file mode 100644 index 000000000000..6ee2b4888599 --- /dev/null +++ b/net/loadd/pkg-descr @@ -0,0 +1,23 @@ +loadd is a daemon that communicate with ipfw Firewall via the DIVERT +sockets. You can easily configure a divert rule on your firewall and +redirect packets you want into the loadd system. Loadd check the +destination service and do a NAT on packets if the service must be +load balance. For choosing a host, loadd apply an algorithm that you +can configure. + +For this first release, two algorithms are available +and you can found this features: + +* Round-Robbin Algorithm (Very simple) +* Intelligence Load Sharing (Balancing with realtime load, work with + lmd client on real servers) +* TCP supported (not UDP yet) +* Support multiples IP services (except SSL for the moment) +* Choose of IP aliasing +* Choose of port number to Load Balance +* Multiple daemons support on the same host without conflict + +WWW: http://www.bsdshell.net/hut_loadd.html + +- Alex Dupre +sysadmin@alexdupre.com diff --git a/net/loadd/pkg-message.in b/net/loadd/pkg-message.in new file mode 100644 index 000000000000..33b24963f4f4 --- /dev/null +++ b/net/loadd/pkg-message.in @@ -0,0 +1,14 @@ +####################################################################### + Please modify the configuration file %%PREFIX%%/etc/loadd.conf + before launching %%PREFIX%%/libexec/loadd + don't forget to recompile your kernel with DIVERT and + IPFIREWALL options. Don't forget to specify a rule in the ipfw + firewall like natd: ipfw add divert 8670 tcp from any to any + 8670 is the default port, you can choose a different port by + running loadd with -p option like + %%PREFIX%%/libexec/loadd -p 8671 + ipfw add divert 8671 tcp from any to any + !! IMPORTANT !! There is no support for UDP at this time. + You cannot use loadsharing method (broken) use intlloadsharing + insteed and don't forget to launch lmd on server(s) to load balance +####################################################################### diff --git a/net/loadd/pkg-plist b/net/loadd/pkg-plist new file mode 100644 index 000000000000..87b92dc89b22 --- /dev/null +++ b/net/loadd/pkg-plist @@ -0,0 +1,8 @@ +libexec/loadd +etc/loadd.conf.sample +etc/rc.d/010.loadd.sh +%%PORTDOCS%%share/doc/loadd/TODO +%%PORTDOCS%%share/doc/loadd/README +%%PORTDOCS%%share/doc/loadd/INSTALL +%%PORTDOCS%%share/doc/loadd/LICENSE +%%PORTDOCS%%@dirrm share/doc/loadd |