gluon/package/gluon-respondd/files/etc/init.d/gluon-respondd
Jan-Philipp Litza 6ca06adb33 gluon-respondd: Use hotplug script for reload
Before, we used a procd netdev trigger, but that fired *way* too often (maybe
once per router announcement received?), causing high load for nothing.

This basically reverts to the behaviour before commit d8bb978, only that the
init script still handles argument collection.
2017-03-09 09:52:38 +01:00

21 lines
824 B
Bash
Executable File

#!/bin/sh /etc/rc.common
USE_PROCD=1
START=50
DAEMON=/usr/bin/respondd
MAXDELAY=10
start_service() {
local ifdump="$(ubus call network.interface dump)"
local meshdevs=$(for dev in $(echo "$ifdump" | jsonfilter -e "@.interface[@.proto='gluon_mesh' && @.up=true].device"); do echo " -i $dev";done;)
local clientdevs=$(for dev in $(echo "$ifdump" | jsonfilter -e "@.interface[@.interface='$(cat /lib/gluon/respondd/client.dev 2>/dev/null)' && @.up=true].device"); do echo " -i $dev -t $MAXDELAY";done;)
procd_open_instance
procd_set_param command $DAEMON -d /usr/lib/respondd -d /lib/gluon/respondd -p 1001 -g ff02::2:1001 $meshdevs $clientdevs -g ff05::2:1001 $clientdevs
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_set_param stderr 1
procd_close_instance
}