- Add rc.d script for flow-fanout

- Bump PORTREVISION.
This commit is contained in:
Stanislav Sedov 2007-06-12 12:52:32 +00:00
parent b779a21ba9
commit bc78cbafa8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=193321
2 changed files with 107 additions and 2 deletions

View file

@ -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

View file

@ -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"