aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/flow-tools
diff options
context:
space:
mode:
authorStanislav Sedov <stas@FreeBSD.org>2007-06-12 12:52:32 +0000
committerStanislav Sedov <stas@FreeBSD.org>2007-06-12 12:52:32 +0000
commitbc78cbafa8197ba376c84d1feea64c8ff6a65817 (patch)
treeea6154588a28a1e7047bc4ed2ccac05d972e371b /net-mgmt/flow-tools
parentb779a21ba92e75c7af69eb6e1742bb253310d512 (diff)
downloadports-bc78cbafa8197ba376c84d1feea64c8ff6a65817.tar.gz
ports-bc78cbafa8197ba376c84d1feea64c8ff6a65817.zip
- Add rc.d script for flow-fanout
- Bump PORTREVISION.
Notes
Notes: svn path=/head/; revision=193321
Diffstat (limited to 'net-mgmt/flow-tools')
-rw-r--r--net-mgmt/flow-tools/Makefile4
-rw-r--r--net-mgmt/flow-tools/files/flow_fanout.in105
2 files changed, 107 insertions, 2 deletions
diff --git a/net-mgmt/flow-tools/Makefile b/net-mgmt/flow-tools/Makefile
index dff324563ff8..20313fe66e27 100644
--- a/net-mgmt/flow-tools/Makefile
+++ b/net-mgmt/flow-tools/Makefile
@@ -7,7 +7,7 @@
PORTNAME= flow-tools
PORTVERSION= 0.68
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= net-mgmt
MASTER_SITES= ftp://ftp.eng.oar.net/pub/flow-tools/
@@ -33,7 +33,7 @@ SUB_LIST= FLOW_CAPTURE_SPOOL="${FLOW_CAPTURE_SPOOL}" \
FLOW_CAPTURE_UID="${FLOW_CAPTURE_UID}" \
FLOW_CAPTURE_GID="${FLOW_CAPTURE_GID}" \
FLOW_CAPTURE_PIDDIR="${FLOW_CAPTURE_PIDDIR}"
-USE_RC_SUBR= flow_capture
+USE_RC_SUBR= flow_capture flow_fanout
VARDIR?= ${DESTDIR}/var
FLOW_CAPTURE_SPOOL= ${VARDIR}/db/flows
diff --git a/net-mgmt/flow-tools/files/flow_fanout.in b/net-mgmt/flow-tools/files/flow_fanout.in
new file mode 100644
index 000000000000..1d1369989fd9
--- /dev/null
+++ b/net-mgmt/flow-tools/files/flow_fanout.in
@@ -0,0 +1,105 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: flow_fanout
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable flow-fanout:
+# flow_fanout_enable (bool): Set it to "YES" to enable flow-fanout daemon.
+# Set to "NO" by default.
+# flow_fanout_ip (str): IP address to bind to
+# Default to "0.0.0.0"
+# flow_fanout_remoteip (str): IP address to accept flows from
+# Default to "0.0.0.0" or all IPs
+# flow_fanout_port (int): Port to accept flow data on
+# Default is "8787"
+# flow_fanout_export (str): Where to send flows to. Default is "0/0/8788"
+# flow_fanout_flags (str): Custom additional arguments to be passed
+# to flow-collector (default "").
+# flow_fanout_profiles (str): A list of configuration profiles to enable.
+# This allows you to run several instances of
+# flow-fanout with different parameters.
+# Consider the following example:
+# flow_fanout_enable="YES"
+# flow_fanout_ip="85.172.168.9"
+# flow_fanout_profiles="r1 r2"
+# flow_fanout_r1_port="4444"
+# flow_fanout_r1_export="0/0/9500 0/10.5.5.5/9200"
+# flow_fanout_r2_port="4445"
+# flow_fanout_r2_export="0/0/9551 0/0/9101"
+#
+# This will run two instances of the flow-fanout
+# with parameters taken from appropriate
+# flow_fanout_PROFILENAME_xxx variables. For
+# unspecified parameters flow_fanout_xxx
+# varialbes will be used.
+
+. /etc/rc.subr
+
+name="flow_fanout"
+rcvar=`set_rcvar`
+
+setup_profile_vars()
+{
+ name=flow_fanout_$1
+ eval ": \${flow_fanout_${1}_ip=${flow_fanout_ip}}"
+ eval ": \${flow_fanout_${1}_remoteip=${flow_fanout_remoteip}}"
+ eval ": \${flow_fanout_${1}_port=${flow_fanout_port}}"
+ eval ": \${flow_fanout_${1}_export=${flow_fanout_export}}"
+ eval ": \${flow_fanout_${1}_flags=${flow_fanout_flags}}"
+ eval "pidfile=${flow_fanout_pid}.\${flow_fanout_${1}_port}"
+ eval "command_args=\"-p ${flow_fanout_pid} \${flow_fanout_${1}_ip}/\${flow_fanout_${1}_remoteip}/\${flow_fanout_${1}_port} \${flow_fanout_${1}_export}\""
+}
+
+start_profiles()
+{
+ unset start_cmd
+ for _profile in ${flow_fanout_profiles}; do
+ setup_profile_vars $_profile
+ run_rc_command "${rc_arg}"
+ done
+}
+
+stop_profiles()
+{
+ unset stop_cmd
+ for _profile in ${flow_fanout_profiles}; do
+ setup_profile_vars $_profile
+ run_rc_command "${rc_arg}"
+ done
+}
+
+load_rc_config $name
+
+: ${flow_fanout_enable="NO"}
+: ${flow_fanout_ip="0.0.0.0"}
+: ${flow_fanout_remoteip="0.0.0.0"}
+: ${flow_fanout_port="8787"}
+: ${flow_fanout_export="0/0/8788"}
+: ${flow_fanout_pid="%%FLOW_CAPTURE_PIDDIR%%/flow-fanout.pid"}
+: ${flow_fanout_user="flowtools"}
+: ${flow_fanout_group="flowtools"}
+: ${flow_fanout_flags=""}
+
+pidfile="${flow_fanout_pid}.${flow_fanout_port}"
+
+command="%%PREFIX%%/bin/flow-fanout"
+command_args="-p ${flow_fanout_pid} ${flow_fanout_ip}/${flow_fanout_remoteip}/${flow_fanout_port} ${flow_fanout_export}"
+
+cmd="$1"
+if [ $# -gt 0 ]; then
+ shift
+fi
+
+[ -n "$*" ] && flow_fanout_profiles="$*"
+
+if [ "${flow_fanout_profiles}" ]; then
+ start_cmd="start_profiles"
+ stop_cmd="stop_profiles"
+fi
+
+run_rc_command "$cmd"