gluon-l3roamd: fix interface checks in initscript

The local_node ifstatus must be checked for local-node, not client. While
we're at it, also clean up the syntax a bit.
This commit is contained in:
Matthias Schiffer 2018-04-15 12:49:52 +02:00
parent 8959d8c3ea
commit 6304a317e4
No known key found for this signature in database
GPG Key ID: 16EF3F64CB201D9C
1 changed files with 6 additions and 3 deletions

View File

@ -6,12 +6,15 @@ USE_PROCD=1
PROG=/usr/sbin/l3roamd
start_service () {
local interfaces=$(
for dev in $(gluon-list-mesh-interfaces); do echo " -m $dev"; done
[ "$(ifstatus local_node | jsonfilter -e '@.up')" = 'true' ] && echo ' -i local-node'
)
procd_open_instance
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn ${respawn_threshold:-3660} ${respawn_timeout:-5} ${respawn_retry:-0}
interfaces=$(for dev in $(gluon-list-mesh-interfaces);do echo " -m $dev"; done;
[ "$(ifstatus client | jsonfilter -e "@.up")" = "true" ] && echo " -i local-node")
procd_set_param command "$PROG" -s /var/run/l3roamd.sock -p $(lua -e 'print(require("gluon.site").prefix6())') $interfaces -t 254 -a $(uci get network.loopback.ip6addr | cut -d/ -f1) -4 0:0:0:0:0:ffff::/96 -b br-client
procd_close_instance
}
@ -21,6 +24,6 @@ service_triggers() {
local name=$(basename "${script:-$initscript}")
procd_open_trigger
procd_add_raw_trigger "interface.*" 0 "/etc/init.d/$name" reload
procd_add_raw_trigger 'interface.*' 0 "/etc/init.d/$name" reload
procd_close_trigger
}