From ad402b6f93bc99d6c013c0400fec7b1da77cea17 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 5 Feb 2012 16:10:40 +0000 Subject: [PATCH] [packages_10.03.2] softflowd: merge r29100, r29199 git-svn-id: svn://svn.openwrt.org/openwrt/branches/packages_10.03.2@30260 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/softflowd/Makefile | 8 +++-- net/softflowd/files/softflowd.config | 2 +- net/softflowd/files/softflowd.init | 67 ++++++++++++++++++++---------------- 3 files changed, 44 insertions(+), 33 deletions(-) diff --git a/net/softflowd/Makefile b/net/softflowd/Makefile index f6c45fe..766b2dc 100644 --- a/net/softflowd/Makefile +++ b/net/softflowd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007 OpenWrt.org +# Copyright (C) 2007-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=softflowd PKG_VERSION:=0.9.8 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.mindrot.org/files/softflowd/ @@ -45,4 +45,8 @@ define Package/softflowd/install $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME) endef +define Package/softflowd/conffiles +/etc/config/softflowd +endef + $(eval $(call BuildPackage,softflowd)) diff --git a/net/softflowd/files/softflowd.config b/net/softflowd/files/softflowd.config index 974d99e..6fe5a3e 100644 --- a/net/softflowd/files/softflowd.config +++ b/net/softflowd/files/softflowd.config @@ -1,4 +1,5 @@ config softflowd + option enabled '0' option interface 'br-lan' option pcap_file '' option timeout '' @@ -10,4 +11,3 @@ config softflowd option hoplimit '' option tracking_level 'full' option track_ipv6 '0' - option enabled '0' diff --git a/net/softflowd/files/softflowd.init b/net/softflowd/files/softflowd.init index 4fbb875..4beddc0 100644 --- a/net/softflowd/files/softflowd.init +++ b/net/softflowd/files/softflowd.init @@ -1,10 +1,7 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2007 OpenWrt.org -START=50 +# Copyright (C) 2007-2011 OpenWrt.org -NAME=softflowd -BIN_F=/usr/sbin/$NAME -SSD=start-stop-daemon +START=50 append_bool() { local section="$1" @@ -24,43 +21,53 @@ append_string() { [ -n "$_val" ] && append args "$3 $_val" } -start_service() { +start_instance() { local section="$1" + + config_get_bool enabled "$section" 'enabled' '0' + [ $enabled -gt 0 ] || return 1 + + config_get pid_file "$section" 'pid_file' + 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' - 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 + SERVICE_PID_FILE="$pid_file" \ + service_start /usr/sbin/softflowd $args${pid_file:+ -p $pid_file} } -stop_service() { +stop_instance() { 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 $control_socket + config_get_bool enabled "$section" 'enabled' '0' + [ $enabled -gt 0 ] || return 1 + + config_get control_socket "$section" 'control_socket' + + [ -n "control_socket" -a -S $control_socket ] && { + /usr/sbin/softflowctl -c $control_socket exit + } } start() { - mkdir -p /var/empty + mkdir -m 0755 -p /var/empty - config_load $NAME - config_foreach start_service $NAME + config_load 'softflowd' + config_foreach start_instance 'softflowd' } stop() { - config_load $NAME - config_foreach stop_service $NAME + config_load 'softflowd' + config_foreach stop_instance 'softflowd' + service_stop /usr/sbin/softflowd } -- 2.11.0