#!/bin/sh /etc/rc.common # Copyright (C) 2007 OpenWrt.org START=50 NAME=softflowd BIN_F=/usr/sbin/$NAME SSD=start-stop-daemon append_bool() { local section="$1" local option="$2" local value="$3" local _val config_get_bool _val "$section" "$option" '0' [ "$_val" -gt 0 ] && append args "$3" } append_string() { local section="$1" local option="$2" local value="$3" local _val config_get _val "$section" "$option" [ -n "$_val" ] && append args "$3 $_val" } start_service() { local section="$1" args="" append_string "$section" interface "-i" append_string "$section" pcap_file "-r" append_string "$section" timeout "-t" append_string "$section" max_flows "-m" append_string "$section" host_port "-n" append_string "$section" pid_file "-p" append_string "$section" control_socket "-c" append_string "$section" export_version "-v" append_string "$section" hoplimit "-L" append_string "$section" tracking_level "-T" append_bool "$section" track_ipv6 "-6" config_get_bool "enabled" "$section" "enabled" '1' [ "$enabled" -gt 0 ] && $BIN_F $args } stop_service() { local section="$1" config_get pidfile "$section" pid_file config_get control_socket "$section" control_socket [ -n "$pid_file" ] || pid_file="$pidfile" # FIXME $SSD -K -p $pid_file -q && rm -f /var/run/$control_socket } start() { mkdir -p /var/empty config_load $NAME config_foreach start_service $NAME } stop() { config_load $NAME config_foreach stop_service $NAME }