gluon-respondd: restart on state change of client iface

Because we unconditionally appended `-i br-client` to the command line of
respondd, it wasn't restarted when br-client changed state. Now, we use a
jsonfilter expression on the network.interface dump data, similar to how the
other interface names are generated, and only add the interface to the argument
list if it is up.
This commit is contained in:
Jan-Philipp Litza 2016-12-09 10:43:24 +01:00
parent 4a1b47de45
commit fcf3abd9c4
2 changed files with 4 additions and 2 deletions

View File

@ -7,7 +7,9 @@ DAEMON=/usr/bin/respondd
start_service() {
DEVS=""
for dev in $( ubus call network.interface dump | jsonfilter -e "@.interface[@.proto='gluon_mesh' && @.up=true].device") $(cat /lib/gluon/respondd/client.dev 2>/dev/null)
for dev in $( ubus call network.interface dump | jsonfilter \
-e "@.interface[@.proto='gluon_mesh' && @.up=true].device" \
-e "@.interface[@.interface='$(cat /lib/gluon/respondd/client.dev 2>/dev/null)' && @.up=true].device")
do
DEVS="$DEVS -i $dev"
done