mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-27 10:03:20 +00:00
81 lines
2.2 KiB
Bash
81 lines
2.2 KiB
Bash
#!/bin/sh
|
|
|
|
# (c) 2010 Tom Judge
|
|
|
|
# PROVIDE: softflowd
|
|
# REQUIRE: LOGIN
|
|
# KEYWORD: shutdown
|
|
|
|
# softflowd_enable="YES"
|
|
# softflowd_interfaces="em0 em1"
|
|
# softflowd_em0_collector="collector:1234"
|
|
# softflowd_em1_collector="collector:1235"
|
|
# softflowd_em0_timeouts="-t maxlife=300"
|
|
# softflowd_em1_timeouts="-t maxlife=600"
|
|
# softflowd_em0_max_states="16000"
|
|
# softflowd_em1_max_states="17000"
|
|
# softflowd_em0_extra_args
|
|
# softflowd_em1_extra_args
|
|
|
|
. /etc/rc.subr
|
|
|
|
name=softflowd
|
|
rcvar=softflowd_enable
|
|
|
|
start_precmd="softflowd_precommand $@"
|
|
stop_precmd="softflowd_precommand $@"
|
|
status_precmd="softflowd_precommand $@"
|
|
poll_precmd="softflowd_precommand $@"
|
|
rcvar_precmd="softflowd_precommand $@"
|
|
stop_cmd="softflowd_stop"
|
|
command="%%PREFIX%%/bin/softflowd"
|
|
_pidprefix="/var/run/softflowd"
|
|
if [ -n $2 ]; then
|
|
pidfile="${_pidprefix}.${2}.pid"
|
|
fi
|
|
|
|
load_rc_config $name
|
|
|
|
softflowd_enable=${softflowd_enable:-"NO"}
|
|
softflowd_timeouts="-t maxlife=300"
|
|
softflowd_max_states="16000"
|
|
|
|
softflowd_precommand ()
|
|
{
|
|
if [ -n "$2" ]; then
|
|
profile="$2"
|
|
ctlfile="${_pidprefix}.${profile}.ctl"
|
|
eval apache22_flags="\${apache22_${profile}_flags:-${apache22_flags}}"
|
|
eval softflowd_collector="\${softflowd_${profile}_collector}"
|
|
if [ "x${softflowd_collector}" = "x" ]; then
|
|
echo "ERROR: You must specify a collector to send data to."
|
|
exit 1
|
|
fi
|
|
eval softflowd_timeouts="\${softflowd_${profile}_timeouts:-${softflowd_timeouts}}"
|
|
eval softflowd_max_states="\${softflowd_${profile}_max_states:-${softflowd_max_states}}"
|
|
eval softflowd_extra_args="\${softflowd_${profile}_extra_args:-${softflowd_extra_args}}"
|
|
command_args="-i ${profile} -n ${softflowd_collector} -m ${softflowd_max_states} -p ${pidfile} -c ${ctlfile} ${softflowd_timeouts} ${softflowd_extra_args}"
|
|
else
|
|
if [ "x${softflowd_interfaces}" != "x" ]; then
|
|
for profile in ${softflowd_interfaces}; do
|
|
echo "===> softflowd profile: ${profile}"
|
|
%%PREFIX%%/etc/rc.d/softflowd $1 ${profile}
|
|
retcode="$?"
|
|
if [ "0${retcode}" -ne 0 ]; then
|
|
failed="${profile} (${retcode}) ${failed:-}"
|
|
else
|
|
success="${profile} ${success:-}"
|
|
fi
|
|
done
|
|
fi
|
|
exit 0
|
|
fi
|
|
}
|
|
|
|
softflowd_stop()
|
|
{
|
|
%%PREFIX%%/bin/softflowctl -c ${ctlfile} shutdown
|
|
}
|
|
|
|
run_rc_command "$1"
|