X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/dfe42a2505e655ee80e862c72a78a15802a76a71..c10aac92b22c5b3057de1bb57d8f023861c9b5cf:/package/wprobe/files/wprobe.init diff --git a/package/wprobe/files/wprobe.init b/package/wprobe/files/wprobe.init index cf0b16218..b35246d42 100755 --- a/package/wprobe/files/wprobe.init +++ b/package/wprobe/files/wprobe.init @@ -1,29 +1,36 @@ #!/bin/sh /etc/rc.common START=90 -EXPORTER=/usr/sbin/wprobe-ipfix +EXPORTER=/sbin/wprobe-export +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:-17990}" } start_ipfix() { local cfg="$1" - config_get ifname "$cfg" interface + config_get ifname "$cfg" ifname config_get host "$cfg" host config_get port "$cfg" port config_get proto "$cfg" proto @@ -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 }