|
|
|
@ -1,24 +1,31 @@ |
|
|
|
|
#!/bin/sh /etc/rc.common |
|
|
|
|
START=90 |
|
|
|
|
EXPORTER=/usr/sbin/wprobe-ipfix |
|
|
|
|
UTIL=/sbin/wprobe-util |
|
|
|
|
|
|
|
|
|
wprobe_ssd() { |
|
|
|
|
local cfg="$1"; shift |
|
|
|
|
local cmd="$1"; shift |
|
|
|
|
start-stop-daemon "$cmd" -p "/var/run/wprobe-$cfg.pid" -b -x "$EXPORTER" -m -- "$@" |
|
|
|
|
local type="$1"; shift |
|
|
|
|
local app="$1"; shift |
|
|
|
|
start-stop-daemon "$cmd" -p "/var/run/wprobe-$type.pid" -b ${app:+-x "$app"} -m -- "$@" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stop_wprobe() { |
|
|
|
|
local cfg="$1" |
|
|
|
|
[ -f "/var/run/wprobe-$cfg.pid" ] && wprobe_ssd "$cfg" -K |
|
|
|
|
rm -f "/var/run/wprobe-$cfg.pid" |
|
|
|
|
local type="$1" |
|
|
|
|
[ -f "/var/run/wprobe-$type.pid" ] && wprobe_ssd -K "$type" |
|
|
|
|
rm -f "/var/run/wprobe-$type.pid" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
config_wprobe() { |
|
|
|
|
config_get ifname "$cfg" ifname |
|
|
|
|
config_get interval "$cfg" interval |
|
|
|
|
[ -n "$interval" ] || interval=100 |
|
|
|
|
wprobe-info "$ifname" -c -i "$interval" |
|
|
|
|
$UTIL "$ifname" -i "$interval" 2>/dev/null >/dev/null |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
start_proxy() { |
|
|
|
|
config_get port "$cfg" port |
|
|
|
|
wprobe_ssd -S proxy "$UTIL" -P -p "${port:-19770}" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
start_ipfix() { |
|
|
|
@ -38,13 +45,15 @@ start_ipfix() { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
config_wprobe "$cfg" |
|
|
|
|
wprobe_ssd "$cfg" -S "$proto" -i "$ifname" -c "$host" -p "${port:-4739}" |
|
|
|
|
wprobe_ssd -S "export-$cfg" "$EXPORTER" "$proto" -i "$ifname" -c "$host" -p "${port:-4739}" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
start_export() { |
|
|
|
|
local cfg="$1" |
|
|
|
|
config_get export_type "$cfg" type |
|
|
|
|
case "$export_type" in |
|
|
|
|
ipfix) start_ipfix "$cfg";; |
|
|
|
|
ipfix) [ -x "$EXPORTER" ] && start_ipfix "$cfg";; |
|
|
|
|
wprobe) start_proxy "$cfg";; |
|
|
|
|
esac |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -59,5 +68,5 @@ stop() { |
|
|
|
|
start() { |
|
|
|
|
config_load wprobe |
|
|
|
|
config_foreach config_wprobe interface |
|
|
|
|
[ -x "$EXPORTER" ] && config_foreach start_export export |
|
|
|
|
config_foreach start_export export |
|
|
|
|
} |
|
|
|
|